Distance-based level-of-detail switching group node. More...
#include <Inventor/nodes/SoLOD.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoLOD () | |
SoLOD (int nChildren) | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoMFFloat | range |
SoSFVec3f | center |
This group node is used to allow applications to switch between various representations of objects automatically. The children of this node typically represent the same object or objects at varying levels of detail, from highest detail to lowest. The distance from the world-space eye point to the transformed center of the LOD is computed, and one child is drawn, based on the values in the ranges field.
More precisely, if the distance from the world-space eyepoint to the transformed center is D and the ranges array contains LAST_RANGE+1 values (numbered 0...LAST_RANGE), then:
if D < ranges[0] : Child 0 is drawn else if ranges[i-1] < D < ranges[i] : Child i is drawn else if D > ranges[LAST_RANGE] : Child LAST_RANGE+1 is drawn
Thus, N ranges and N+1 children should be specified. If you specify too few children, the last child will be used for the extra ranges. If you specify too few ranges, the extra children will never be used.
It is often useful to define the lowest detail child to be an SoInfo node. This causes the object to completely disappear if it is far enough away from the eyepoint. Defining the highest detail child to be an SoInfo node can also be useful if you want the object to disappear if it gets too close to the eyepoint.
center | 0 0 0 |
range | [ ] |
Other actions
All implemented as for SoGroup.
SoSwitch, SoGroup, SoLevelOfDetail, SoLevelOfSimplification
SoLOD::SoLOD | ( | ) |
Creates a distance-based level-of-detail node with default settings.
SoLOD::SoLOD | ( | int | nChildren | ) |
Constructor that takes approximate number of children.
static SoType SoLOD::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoGroup.
Reimplemented in SoLevelOfSimplification.
virtual SoType SoLOD::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoGroup.
Reimplemented in SoLevelOfSimplification.
Object-space center of the model.
World-space distances to use as switching criteria.