Inheritance diagram for osg::LOD:
Public Types | |
typedef std::pair< float, float > | MinMaxPair |
typedef std::vector< MinMaxPair > | RangeList |
enum | CenterMode { USE_BOUNDING_SPHERE_CENTER, USER_DEFINED_CENTER } |
enum | RangeMode { DISTANCE_FROM_EYE_POINT, PIXEL_SIZE_ON_SCREEN } |
Public Member Functions | |
LOD () | |
LOD (const LOD &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, LOD) | |
virtual void | traverse (NodeVisitor &nv) |
virtual bool | addChild (Node *child) |
virtual bool | addChild (Node *child, float min, float max) |
virtual bool | removeChildren (unsigned int pos, unsigned int numChildrenToRemove=1) |
void | setCenterMode (CenterMode mode) |
CenterMode | getCenterMode () const |
void | setCenter (const Vec3 ¢er) |
const Vec3 & | getCenter () const |
void | setRadius (float radius) |
float | getRadius () const |
void | setRangeMode (RangeMode mode) |
RangeMode | getRangeMode () const |
void | setRange (unsigned int childNo, float min, float max) |
float | getMinRange (unsigned int childNo) const |
float | getMaxRange (unsigned int childNo) const |
unsigned int | getNumRanges () const |
void | setRangeList (const RangeList &rangeList) |
const RangeList & | getRangeList () const |
virtual BoundingSphere | computeBound () const |
Protected Member Functions | |
virtual | ~LOD () |
Protected Attributes | |
CenterMode | _centerMode |
Vec3 | _userDefinedCenter |
float | _radius |
RangeMode | _rangeMode |
RangeList | _rangeList |
|
|
|
|
|
Modes which control how the center of object should be determined when computing which child is active. |
|
Modes that control how the range values should be intepreted when computing which child is active. |
|
|
|
Copy constructor using CopyOp to manage deep vs shallow copy. |
|
|
|
Reimplemented in osg::PagedLOD. |
|
Add Node to Group. If node is not NULL and is not contained in Group then increment its reference count, add it to the child list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false. Scene nodes can't be added as child nodes. Reimplemented from osg::Group. Reimplemented in osg::PagedLOD. |
|
Compute the bounding sphere around Node's geometry or children. This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). Reimplemented from osg::Group. Reimplemented in osgSim::Impostor. |
|
return the LOD center point. |
|
Get how the center of object should be determined when computing which child is active. |
|
returns the max visible range for specified child. |
|
returns the min visible range for specified child. |
|
returns the number of ranges currently set. An LOD which has been fully set up will have getNumChildren()==getNumRanges(). |
|
Get the object-space radius of the volume enclosed by the LOD. |
|
return the list of MinMax ranges for each child. |
|
Get how the range values should be intepreted when computing which child is active. |
|
|
|
Remove children from Group. Note, must be override by subclasses of Group which add per child attributes. Reimplemented from osg::Group. Reimplemented in osg::PagedLOD. |
|
Sets the object-space point which defines the center of the osg::LOD. center is affected by any transforms in the hierarchy above the osg::LOD. |
|
Set how the center of object should be determined when computing which child is active. |
|
Set the object-space reference radius of the volume enclosed by the LOD. Used to detmine the bounding sphere of the LOD in the absense of any children. |
|
Sets the min and max visible ranges of range of specifiec child. Values are floating point distance specified in local objects coordinates. |
|
set the list of MinMax ranges for each child. |
|
Set how the range values should be intepreted when computing which child is active. |
|
Traverse downwards : calls children's accept method with NodeVisitor. Reimplemented from osg::Group. Reimplemented in osg::PagedLOD, and osgSim::Impostor. |
|
|
|
|
|
|
|
|
|
|