16 #ifndef BT_HEIGHTFIELD_TERRAIN_SHAPE_H
17 #define BT_HEIGHTFIELD_TERRAIN_SHAPE_H
103 virtual btScalar getRawHeightFieldValue(
int x,
int y)
const;
104 void quantizeWithClamp(
int* out,
const btVector3& point,
int isMax)
const;
105 void getVertex(
int x,
int y,
btVector3& vertex)
const;
114 void initialize(
int heightStickWidth,
int heightStickLength,
115 const void* heightfieldData,
btScalar heightScale,
130 const void* heightfieldData,
btScalar heightScale,
142 btHeightfieldTerrainShape(
int heightStickWidth,
int heightStickLength,
const void* heightfieldData,
btScalar maxHeight,
int upAxis,
bool useFloatData,
bool flipQuadEdges);
158 virtual void setLocalScaling(
const btVector3& scaling);
160 virtual const btVector3& getLocalScaling()
const;
163 virtual const char*
getName()
const {
return "HEIGHTFIELD";}
167 #endif //BT_HEIGHTFIELD_TERRAIN_SHAPE_H
bool m_useDiamondSubdivision
btHeightfieldTerrainShape simulates a 2D heightfield terrain
const btScalar * m_heightfieldDataFloat
PHY_ScalarType m_heightDataType
void setUseZigzagSubdivision(bool useZigzagSubdivision=true)
could help compatibility with Ogre heightfields. See https://code.google.com/p/bullet/issues/detail?id=625
bool m_useZigzagSubdivision
const unsigned char * m_heightfieldDataUnsignedChar
void setUseDiamondSubdivision(bool useDiamondSubdivision=true)
The btTriangleCallback provides a callback for each overlapping triangle when calling processAllTrian...
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
const short * m_heightfieldDataShort
The btConcaveShape class provides an interface for non-moving (static) concave shapes.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
const void * m_heightfieldDataUnknown
virtual const char * getName() const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
PHY_ScalarType
PHY_ScalarType enumerates possible scalar types.
int m_heightStickWidth
terrain data