16 #include <btBulletCollisionCommon.h>
19 #include <vlutil/vlSmartPointers.h>
20 #include <vlutil/vlFilename.h>
29 #include <vlutil/vlSmartPointers.h>
33 #include "vlutil/vlFilename.h"
71 virtual bool init(
const DtFilename filename,
bool displayWarning =
false);
74 virtual bool get(std::istream& stream);
81 unsigned int& characteristics,
int& position);
121 myUseSurfaceArray(false) {}
124 void addTriangleWithSurface(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
125 const DtSurface& surface,
bool removeDuplicateVertices=
false);
127 DtSurface triangleSurface(
unsigned int triangleIndex)
const;
132 void initializeSurfaceArray();
136 void syncSurfaceArray();
163 const osg::Matrix& baseTransform,
164 const DtFilename& surfaceCharacterFilename =
"",
bool treatPagedLODAsLOD =
false,
165 bool checkGeodesForSurfaces =
false);
170 const osg::Matrix& baseTransform,
171 const DtFilename& surfaceCharacterFilename =
"",
bool treatPagedLODAsLOD =
false,
172 bool checkGeodesForSurfaces =
false);
177 btMatrix3x3& basisA, btVector3& origin,
bool& scaled);
182 template<
typename T_Node>
186 osg::Matrix* worldMatrix = NULL,
187 const DtFilename& surfaceCharacterFilename =
"",
bool treatPagedLODAsLOD =
false,
bool checkGeodesForSurfaces =
false)
189 osg::Matrix baseMatrix;
192 baseMatrix = *worldMatrix;
196 node, baseMatrix, surfaceCharacterFilename, treatPagedLODAsLOD, checkGeodesForSurfaces);