7 #ifndef CAFU_CLIPSYS_CLIPMODEL_HPP_INCLUDED
8 #define CAFU_CLIPSYS_CLIPMODEL_HPP_INCLUDED
10 #include "Math3D/BoundingBox.hpp"
11 #include "Math3D/Matrix3x3.hpp"
12 #include "Math3D/Vector3.hpp"
15 namespace cf {
namespace GameSys {
class ComponentBaseT; } }
22 class CollisionModelT;
106 unsigned long GetContents(
const Vector3dT& Point,
double BoxRadius,
unsigned long ContMask)
const;
cf::GameSys::ComponentBaseT * GetOwner() const
Returns the user data associated with this clip model.
Definition: ClipModel.hpp:72
A clip model represents an object in the world against which clipping queries can be performed...
Definition: ClipModel.hpp:31
void SetOrigin(const Vector3dT &NewOrigin)
Sets a new origin for this clip model.
Definition: ClipModel.cpp:239
This class represents a solid object that can be traced through collision worlds, models and shapes...
Definition: TraceSolid.hpp:30
void SetCollisionModel(const CollisionModelT *CollisionModel_)
Sets the given collision model for use with (as the basis of) this clip model.
Definition: ClipModel.cpp:232
ClipModelT(const ClipWorldT &ClipWorld_, const CollisionModelT *CollisionModel_=NULL)
The constructor for creating a clip model.
Definition: ClipModel.cpp:29
void SetOwner(GameSys::ComponentBaseT *Owner)
Sets the user data associated with this clip model.
Definition: ClipModel.hpp:77
const BoundingBox3dT & GetAbsoluteBB() const
Returns the bounding box of this clip model in absolute world coordinates.
Definition: ClipModel.cpp:48
void SetOrientation(const math::Matrix3x3T< double > &NewOrientation)
Sets a new orientation (axes, rotation matrix) for this clip model.
Definition: ClipModel.cpp:248
const math::Matrix3x3T< double > & GetOrientation() const
Returns the orientation (axes, rotation matrix) for this clip model.
Definition: ClipModel.hpp:63
void Unregister()
Unregisters this clip model from the clip world.
Definition: ClipModel.cpp:196
const Vector3dT & GetOrigin() const
Returns the origin of this clip model.
Definition: ClipModel.hpp:55
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
void Register()
Registers this clip model with the clip world.
Definition: ClipModel.cpp:143
~ClipModelT()
The destructor.
Definition: ClipModel.cpp:42
The clip world manages all the clip models that exist in a world (their "union"). ...
Definition: ClipWorld.hpp:27
void TraceConvexSolid(const TraceSolidT &TraceSolid, const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, TraceResultT &Result) const
Traces the given convex solid from Start along Ray (up to the input value of Result.Fraction) through the clip model, and reports the first collision, if any.
Definition: ClipModel.cpp:64
unsigned long GetContents() const
Returns the contents of this clip model, which is the forwarded contents of the underlying collision ...
Definition: ClipModel.cpp:58
Definition: ClipWorld_private.hpp:19
const CollisionModelT * GetCollisionModel() const
Returns the collision model of this clip model.
Definition: ClipModel.hpp:48
This is the base class for the components that an entity is composed/aggregated of.
Definition: CompBase.hpp:54