16#ifndef BT_HEIGHTFIELD_TERRAIN_SHAPE_H
17#define BT_HEIGHTFIELD_TERRAIN_SHAPE_H
131 const void* heightfieldData,
btScalar heightScale,
145 const void* heightfieldData,
btScalar heightScale,
157 btHeightfieldTerrainShape(
int heightStickWidth,
int heightStickLength,
const void* heightfieldData,
btScalar maxHeight,
int upAxis,
bool useFloatData,
bool flipQuadEdges);
192 virtual const char*
getName()
const {
return "HEIGHTFIELD"; }
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a point
btTriangleInfoMap * m_triangleInfoMap
const void * m_heightfieldDataUnknown
btAlignedObjectArray< Range > m_vboundsGrid
PHY_ScalarType m_heightDataType
virtual void setLocalScaling(const btVector3 &scaling)
in case we receive negative scaling
BT_DECLARE_ALIGNED_ALLOCATOR()
void getVertex(int x, int y, btVector3 &vertex) const
int m_heightStickWidth
terrain data
const unsigned char * getHeightfieldRawData() const
virtual btScalar getRawHeightFieldValue(int x, int y) const
void setTriangleInfoMap(btTriangleInfoMap *map)
void quantizeWithClamp(int *out, const btVector3 &point, int isMax) const
given input vector, return quantized version
void setUseDiamondSubdivision(bool useDiamondSubdivision=true)
virtual ~btHeightfieldTerrainShape()
virtual const char * getName() const
void performRaycast(btTriangleCallback *callback, const btVector3 &raySource, const btVector3 &rayTarget) const
btScalar getUserValue3() const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
bool m_useDiamondSubdivision
btHeightfieldTerrainShape(int heightStickWidth, int heightStickLength, const void *heightfieldData, btScalar heightScale, btScalar minHeight, btScalar maxHeight, int upAxis, PHY_ScalarType heightDataType, bool flipQuadEdges)
preferred constructor
virtual void processAllTriangles(btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
void setUserIndex2(int index)
const unsigned char * m_heightfieldDataUnsignedChar
const struct btTriangleInfoMap * getTriangleInfoMap() const
const short * m_heightfieldDataShort
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
bool m_useZigzagSubdivision
virtual const btVector3 & getLocalScaling() const
void setUseZigzagSubdivision(bool useZigzagSubdivision=true)
could help compatibility with Ogre heightfields. See https://code.google.com/p/bullet/issues/detail?...
bool m_flipTriangleWinding
void setFlipTriangleWinding(bool flipTriangleWinding)
void setUserValue3(btScalar value)
void buildAccelerator(int chunkSize=16)
int getUserIndex2() const
const btScalar * m_heightfieldDataFloat
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this informat...