7 #ifndef CAFU_CLIPSYS_CLIPWORLD_HPP_INCLUDED
8 #define CAFU_CLIPSYS_CLIPWORLD_HPP_INCLUDED
10 #include "Math3D/BoundingBox.hpp"
19 class CollisionModelT;
21 struct WorldTraceResultT;
78 void GetGridRectFromBB(
unsigned long GridRect[],
const BoundingBox3dT& BB)
const;
85 const unsigned long SectorSubdivs;
A clip model represents an object in the world against which clipping queries can be performed...
Definition: ClipModel.hpp:31
This class represents a solid object that can be traced through collision worlds, models and shapes...
Definition: TraceSolid.hpp:30
Definition: ClipWorld_private.hpp:31
void Trace(const TraceSolidT &TraceSolid, const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, const ClipModelT *Ignore, ArrayT< WorldTraceResultT > &Results) const
Traces the given convex solid through the clip world.
Definition: ClipWorld.cpp:132
~ClipWorldT()
The destructor.
Definition: ClipWorld.cpp:30
This class describes the result of tracing an object (a ray, a bounding-box, or a convex solid) throu...
Definition: TraceResult.hpp:36
ClipWorldT(const CollisionModelT *WorldCollMdl_)
The constructor.
Definition: ClipWorld.cpp:20
This is the base class for collision models, defining their common interface.
Definition: CollisionModel_base.hpp:29
void GetClipModelsFromBB(ArrayT< ClipModelT * > &ClipModels, unsigned long ContentMask, const BoundingBox3dT &BB) const
Determines the set of clip models that touch a given bounding-box and meet a given contents mask...
Definition: ClipWorld.cpp:94
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, const ClipModelT *Ignore, TraceResultT &Result, ClipModelT **HitClipModel=NULL) const
Traces the given convex solid from Start along Ray (up to the input value of Result.Fraction) through the clip world, and reports the first collision, if any.
Definition: ClipWorld.cpp:48
Definition: Renderer.hpp:16