AtlasGeomChunkTracer Class Reference [Atlas Resource System]

#include <atlasGeomCollision.h>

Inheritance diagram for AtlasGeomChunkTracer:

Inheritance graph
[legend]
List of all members.

Detailed Description

Trace rays against an AtlasGeomChunk.


Public Member Functions

 AtlasGeomChunkTracer (AtlasGeomChunk *chunk)
bool castRay (const Point3F &start, const Point3F &end, RayInfo *info)
 Perform a raycast against the quadtree.

Protected Member Functions

const AtlasGeomChunk::ColNodefindSquare (const U32 &level, const Point2I &pos) const
virtual const F32 getSquareMin (const U32 &level, const Point2I &pos) const
 Children better implement these! They return min/max height bounds of the specified square.
virtual const F32 getSquareMax (const U32 &level, const Point2I &pos) const
virtual bool castLeafRay (const Point2I pos, const Point3F &start, const Point3F &end, const F32 &startT, const F32 &endT, RayInfo *info)
 And this does checks on leaf nodes.
bool castRayTriangle (Point3F orig, Point3F dir, Point3F vert0, Point3F vert1, Point3F vert2, F32 &t, Point2F &bary)

Protected Attributes

AtlasGeomChunkmChunk
Point3F mRayDelta
Point3F mRayStart
Point3F mRayEnd
Point3F mScale
Point3F mOffset


Constructor & Destructor Documentation

AtlasGeomChunkTracer::AtlasGeomChunkTracer ( AtlasGeomChunk chunk  )  [inline]


Member Function Documentation

const AtlasGeomChunk::ColNode* AtlasGeomChunkTracer::findSquare ( const U32 level,
const Point2I pos 
) const [inline, protected]

virtual const F32 AtlasGeomChunkTracer::getSquareMin ( const U32 level,
const Point2I pos 
) const [inline, protected, virtual]

Children better implement these! They return min/max height bounds of the specified square.

Implements QuadTreeTracer.

virtual const F32 AtlasGeomChunkTracer::getSquareMax ( const U32 level,
const Point2I pos 
) const [inline, protected, virtual]

Implements QuadTreeTracer.

virtual bool AtlasGeomChunkTracer::castLeafRay ( const Point2I  pos,
const Point3F start,
const Point3F end,
const F32 startT,
const F32 endT,
RayInfo info 
) [protected, virtual]

And this does checks on leaf nodes.

Implements QuadTreeTracer.

bool AtlasGeomChunkTracer::castRayTriangle ( Point3F  orig,
Point3F  dir,
Point3F  vert0,
Point3F  vert1,
Point3F  vert2,
F32 t,
Point2F bary 
) [protected]

bool AtlasGeomChunkTracer::castRay ( const Point3F start,
const Point3F end,
RayInfo info 
)

Perform a raycast against the quadtree.

This expects positions in FILE space, not CHUNK space.

Reimplemented from QuadTreeTracer.


Member Data Documentation