Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray3D::cSpatialTestVisitor Class Reference

#include <cSpatialTest.h>

Inheritance diagram for Gray3D::cSpatialTestVisitor:
ISpatialTestVisitor Gray3D::cSpatialTestVisitorArray< _TYPE >

Public Member Functions

virtual ~cSpatialTestVisitor ()
 
virtual bool ObjectIntersect (cSpatialObject *pObj) override
 
virtual bool ObjectIntersectSphere (cSpatialObject *pObj, const cSpheref &sphere) override
 
virtual bool ObjectIntersectBounds (cSpatialObject *pObj, const cBounds3f &bbox) override
 
virtual bool ObjectIntersectSegment (cSpatialObject *pObj, const cSegment3f &segment) override
 
virtual bool ObjectIntersectHex (cSpatialObject *pObj, const cHexahedron &frustum, cHexahedron::PLANES_MASK_t planes) override
 

Public Attributes

UINT _Count = 0
 

Detailed Description

Get the result set from a spatial test. Visitor Pattern. generic (default) implementation this forwards everything to single Object() callback

  • however it maybe faster to define each callback to avoid extra virtual calls

Constructor & Destructor Documentation

◆ ~cSpatialTestVisitor()

virtual Gray3D::cSpatialTestVisitor::~cSpatialTestVisitor ( )
inlinevirtual

Member Function Documentation

◆ ObjectIntersect()

virtual bool Gray3D::cSpatialTestVisitor::ObjectIntersect ( cSpatialObject pObj)
inlineoverridevirtual

add results for full traversal. override this to process the results as they are added.

Reimplemented in Gray3D::cSpatialTestVisitorArray< _TYPE >.

◆ ObjectIntersectBounds()

virtual bool Gray3D::cSpatialTestVisitor::ObjectIntersectBounds ( cSpatialObject pObj,
const cBounds3f &  bbox 
)
inlineoverridevirtual

partial (or full) intersect with bbox.

◆ ObjectIntersectHex()

virtual bool Gray3D::cSpatialTestVisitor::ObjectIntersectHex ( cSpatialObject pObj,
const cHexahedron frustum,
cHexahedron::PLANES_MASK_t  planes 
)
inlineoverridevirtual

partial (or full) intersect with frustum.

◆ ObjectIntersectSegment()

virtual bool Gray3D::cSpatialTestVisitor::ObjectIntersectSegment ( cSpatialObject pObj,
const cSegment3f segment 
)
inlineoverridevirtual

partial (or full) intersect with line segment.

◆ ObjectIntersectSphere()

virtual bool Gray3D::cSpatialTestVisitor::ObjectIntersectSphere ( cSpatialObject pObj,
const cSpheref sphere 
)
inlineoverridevirtual

partial (or full) intersect with sphere.

Member Data Documentation

◆ _Count

UINT Gray3D::cSpatialTestVisitor::_Count = 0

The documentation for this class was generated from the following file: