osgSim::LineOfSight Class Reference

Helper class for setting up and aquiring line of sight intersections with terrain. More...

List of all members.

Public Types

typedef std::vector
< osg::Vec3d
Intersections

Public Member Functions

 LineOfSight ()
void clear ()
 Clear the internal LOS List so it contains no line of sight tests.
unsigned int addLOS (const osg::Vec3d &start, const osg::Vec3d &end)
 Add a line of sight test, consisting of start and end point.
unsigned int getNumLOS () const
 Get the number of line of sight tests.
void setStartPoint (unsigned int i, const osg::Vec3d &start)
 Set the start point of signel line of sight test.
const osg::Vec3dgetStartPoint (unsigned int i) const
 Get the start point of single line of sight test.
void setEndPoint (unsigned int i, const osg::Vec3d &end)
 Set the end point of single line of sight test.
const osg::Vec3dgetEndPoint (unsigned int i) const
 Get the end point of single line of sight test.
const IntersectionsgetIntersections (unsigned int i) const
 Get the intersection points for a single line of sight test.
void computeIntersections (osg::Node *scene, osg::Node::NodeMask traversalMask=0xffffffff)
 Compute the LOS intersections with the specified scene graph.
void clearDatabaseCache ()
 Clear the database cache.
void setDatabaseCacheReadCallback (DatabaseCacheReadCallback *dcrc)
 Set the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs.
DatabaseCacheReadCallbackgetDatabaseCacheReadCallback ()
 Get the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs.

Static Public Member Functions

static Intersections computeIntersections (osg::Node *scene, const osg::Vec3d &start, const osg::Vec3d &end, osg::Node::NodeMask traversalMask=0xffffffff)
 Compute the intersection between the specified scene graph and a single LOS start,end pair.

Protected Types

typedef std::vector
< LOS
LOSList

Protected Attributes

LOSList _LOSList
osg::ref_ptr
< DatabaseCacheReadCallback
_dcrc
osgUtil::IntersectionVisitor _intersectionVisitor

Classes

struct  LOS


Detailed Description

Helper class for setting up and aquiring line of sight intersections with terrain.

Supports automatic paging in of PagedLOD tiles.


Member Typedef Documentation

typedef std::vector<osg::Vec3d> osgSim::LineOfSight::Intersections

typedef std::vector<LOS> osgSim::LineOfSight::LOSList [protected]


Constructor & Destructor Documentation

osgSim::LineOfSight::LineOfSight (  ) 


Member Function Documentation

void osgSim::LineOfSight::clear (  ) 

Clear the internal LOS List so it contains no line of sight tests.

unsigned int osgSim::LineOfSight::addLOS ( const osg::Vec3d start,
const osg::Vec3d end 
)

Add a line of sight test, consisting of start and end point.

Returns the index number of the newly adding LOS test.

unsigned int osgSim::LineOfSight::getNumLOS (  )  const [inline]

Get the number of line of sight tests.

void osgSim::LineOfSight::setStartPoint ( unsigned int  i,
const osg::Vec3d start 
) [inline]

Set the start point of signel line of sight test.

const osg::Vec3d& osgSim::LineOfSight::getStartPoint ( unsigned int  i  )  const [inline]

Get the start point of single line of sight test.

void osgSim::LineOfSight::setEndPoint ( unsigned int  i,
const osg::Vec3d end 
) [inline]

Set the end point of single line of sight test.

const osg::Vec3d& osgSim::LineOfSight::getEndPoint ( unsigned int  i  )  const [inline]

Get the end point of single line of sight test.

const Intersections& osgSim::LineOfSight::getIntersections ( unsigned int  i  )  const [inline]

Get the intersection points for a single line of sight test.

void osgSim::LineOfSight::computeIntersections ( osg::Node scene,
osg::Node::NodeMask  traversalMask = 0xffffffff 
)

Compute the LOS intersections with the specified scene graph.

The results are all stored in the form of Intersections list, one per LOS test.

static Intersections osgSim::LineOfSight::computeIntersections ( osg::Node scene,
const osg::Vec3d start,
const osg::Vec3d end,
osg::Node::NodeMask  traversalMask = 0xffffffff 
) [static]

Compute the intersection between the specified scene graph and a single LOS start,end pair.

Returns an IntersectionList, of all the points intersected.

void osgSim::LineOfSight::clearDatabaseCache (  )  [inline]

Clear the database cache.

void osgSim::LineOfSight::setDatabaseCacheReadCallback ( DatabaseCacheReadCallback dcrc  ) 

Set the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs.

Note, if you have mulitple LineOfSight or HeightAboveTerrain objects in use at one time then you should share a single DatabaseCacheReadCallback between all of them.

DatabaseCacheReadCallback* osgSim::LineOfSight::getDatabaseCacheReadCallback (  )  [inline]

Get the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs.


Member Data Documentation

LOSList osgSim::LineOfSight::_LOSList [protected]

osg::ref_ptr<DatabaseCacheReadCallback> osgSim::LineOfSight::_dcrc [protected]

osgUtil::IntersectionVisitor osgSim::LineOfSight::_intersectionVisitor [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:46 2007 for the OpenSceneGraph by doxygen 1.5.3.