7 #ifndef CAFU_CLIPSYS_COLLISION_MODEL_BASE_HPP_INCLUDED
8 #define CAFU_CLIPSYS_COLLISION_MODEL_BASE_HPP_INCLUDED
10 #include "Math3D/Vector3.hpp"
11 #include "Math3D/BoundingBox.hpp"
14 class btCollisionShape;
19 namespace SceneGraph {
namespace aux {
class PoolT; } }
79 virtual unsigned long GetContents(
const Vector3dT& Point,
double BoxRadius,
unsigned long ContMask)
const = 0;
virtual void SaveToFile(std::ostream &OutFile, SceneGraph::aux::PoolT &Pool) const =0
Saves the model to OutFile.
virtual btCollisionShape * GetBulletAdapter() const =0
Returns an adapter class for using CollisionModelT instances also as Bullet btCollisionShape instance...
This class represents a solid object that can be traced through collision worlds, models and shapes...
Definition: TraceSolid.hpp:30
virtual ~CollisionModelT()
The (virtual) destructor.
Definition: CollisionModel_base.hpp:34
virtual void TraceConvexSolid(const TraceSolidT &TraceSolid, const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, TraceResultT &Result) const =0
Traces the given TraceSolidT instance from Start along Ray (up to the input value of Result...
This class describes the result of tracing an object (a ray, a bounding-box, or a convex solid) throu...
Definition: TraceResult.hpp:36
This is the base class for collision models, defining their common interface.
Definition: CollisionModel_base.hpp:29
virtual BoundingBox3dT GetBoundingBox() const =0
Returns the bounding box of this collision model.
virtual unsigned long GetContents() const =0
Returns the contents of this collision model.