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";}
PHY_ScalarType
PHY_ScalarType enumerates possible scalar types.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
The btConcaveShape class provides an interface for non-moving (static) concave shapes.
btHeightfieldTerrainShape simulates a 2D heightfield terrain
void setUseZigzagSubdivision(bool useZigzagSubdivision=true)
could help compatibility with Ogre heightfields. See https://code.google.com/p/bullet/issues/detail?...
PHY_ScalarType m_heightDataType
bool m_useZigzagSubdivision
void setUseDiamondSubdivision(bool useDiamondSubdivision=true)
bool m_useDiamondSubdivision
const short * m_heightfieldDataShort
const void * m_heightfieldDataUnknown
BT_DECLARE_ALIGNED_ALLOCATOR()
const unsigned char * m_heightfieldDataUnsignedChar
virtual const char * getName() const
int m_heightStickWidth
terrain data
const btScalar * m_heightfieldDataFloat
The btTriangleCallback provides a callback for each overlapping triangle when calling processAllTrian...
btVector3 can be used to represent 3D points and vectors.