OpenSceneGraph 2.8.3
|
Helper class for setting up and acquiring line of sight intersections with terrain. More...
Classes | |
struct | LOS |
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 single line of sight test. | |
const osg::Vec3d & | getStartPoint (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::Vec3d & | getEndPoint (unsigned int i) const |
Get the end point of single line of sight test. | |
const Intersections & | getIntersections (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. | |
DatabaseCacheReadCallback * | getDatabaseCacheReadCallback () |
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 |
Helper class for setting up and acquiring line of sight intersections with terrain.
Supports automatic paging in of PagedLOD tiles.
typedef std::vector<osg::Vec3d> osgSim::LineOfSight::Intersections |
typedef std::vector<LOS> osgSim::LineOfSight::LOSList [protected] |
osgSim::LineOfSight::LineOfSight | ( | ) |
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.
void osgSim::LineOfSight::clear | ( | ) |
Clear the internal LOS List so it contains no line of sight tests.
void osgSim::LineOfSight::clearDatabaseCache | ( | ) | [inline] |
Clear the database cache.
void osgSim::LineOfSight::computeIntersections | ( | osg::Node * | scene, |
osg::Node::NodeMask | traversalMask = 0xffffffff |
||
) |
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.
DatabaseCacheReadCallback* osgSim::LineOfSight::getDatabaseCacheReadCallback | ( | ) | [inline] |
Get the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs.
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.
unsigned int osgSim::LineOfSight::getNumLOS | ( | ) | const [inline] |
Get the number of line of sight tests.
const osg::Vec3d& osgSim::LineOfSight::getStartPoint | ( | unsigned int | i | ) | const [inline] |
Get the start point of single line of sight test.
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 multiple LineOfSight or HeightAboveTerrain objects in use at one time then you should share a single DatabaseCacheReadCallback between all of them.
void osgSim::LineOfSight::setEndPoint | ( | unsigned int | i, |
const osg::Vec3d & | end | ||
) | [inline] |
Set the end point of single line of sight test.
void osgSim::LineOfSight::setStartPoint | ( | unsigned int | i, |
const osg::Vec3d & | start | ||
) | [inline] |
Set the start point of single line of sight test.
LOSList osgSim::LineOfSight::_LOSList [protected] |
![]() | Generated at Tue Mar 22 2011 13:20:29 for the OpenSceneGraph by doxygen 1.7.3. |