16 #include <btBulletCollisionCommon.h>
17 #include <btBulletDynamicsCommon.h>
20 #include <vlutil/vlSmartPointers.h>
21 #include <vlutil/vlFilename.h>
26 #include <osg/NodeVisitor>
34 #include <vlutil/vlSmartPointers.h>
39 #include <boost/shared_ptr.hpp>
67 bool valid(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2)
const;
68 bool valid(
const btVector3& vertex)
const;
69 bool valid(
const btScalar& val)
const;
71 bool checkAddTriangle(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
72 bool removeDuplicateVertices =
false);
74 void addTriangle(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
75 bool removeDuplicateVertices =
false);
77 void addTriangleWithSurface(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
78 const DtSurface& surface,
bool removeDuplicateVertices=
false);
80 DtSurface triangleSurface(
unsigned int triangleIndex)
const;
82 const btVector3& max()
const;
83 const btVector3& min()
const;
85 bool isAabbValid()
const;
88 void updateBounds(
const btVector3& val);
92 void initializeSurfaceArray();
96 void syncSurfaceArray();
111 typedef std::vector< boost::shared_ptr<makVrv::DtDynamicTerrainFeature> >
DynamicFeatures;
118 virtual bool buildBvh() = 0;
121 virtual bool enabled()
const = 0;
124 virtual unsigned int numberOfTriangles()
const = 0;
127 virtual DtSurface triangleSurface(
unsigned int triangleIndex)
const = 0;
138 static std::auto_ptr<DtVrfSimTerrainProcessor> Create();
145 virtual unsigned int numberOfTriangles()
const = 0;
147 virtual void setDefaultSurface(
const DtSurface&) = 0;
148 virtual void setMatrix(
const osg::Matrix&) = 0;
149 virtual void setTraversalMode(osg::NodeVisitor::TraversalMode) = 0;
150 virtual void setSurfaceCharacteristicsFile(
const DtFilename&) = 0;
151 virtual void setSurfacesToIgnore(
const std::vector<std::string>&) = 0;
153 virtual void setTreatPagedLODAsLOD(
bool) = 0;
154 virtual void setCheckGeodesForSurfaces(
bool) = 0;
155 virtual void setUseQuantization(
bool) = 0;
156 virtual void setBuildBvhNow(
bool) = 0;
157 virtual void setFilterTransparentPolygons(
bool) = 0;