|
| | ClusterCullingCallback () |
| | ClusterCullingCallback (const ClusterCullingCallback &ccc, const CopyOp ©op) |
| | ClusterCullingCallback (const osg::Vec3 &controlPoint, const osg::Vec3 &normal, float deviation, float radius=-1.0f) |
| | ClusterCullingCallback (const osg::Drawable *drawable) |
| | META_Object (osg, ClusterCullingCallback) |
| virtual NodeCallback * | asNodeCallback () |
| virtual const NodeCallback * | asNodeCallback () const |
| virtual DrawableCullCallback * | asDrawableCullCallback () |
| virtual const DrawableCullCallback * | asDrawableCullCallback () const |
| virtual bool | run (osg::Object *object, osg::Object *data) |
| void | computeFrom (const osg::Drawable *drawable) |
| void | transform (const osg::Matrixd &matrix) |
| void | set (const osg::Vec3 &controlPoint, const osg::Vec3 &normal, float deviation, float radius) |
| void | setControlPoint (const osg::Vec3 &controlPoint) |
| const osg::Vec3 & | getControlPoint () const |
| void | setNormal (const osg::Vec3 &normal) |
| const osg::Vec3 & | getNormal () const |
| void | setRadius (float radius) |
| float | getRadius () const |
| void | setDeviation (float deviation) |
| float | getDeviation () const |
| virtual bool | cull (osg::NodeVisitor *, osg::Drawable *, osg::State *) const |
| virtual void | operator() (Node *node, NodeVisitor *nv) |
| | DrawableCullCallback () |
| | DrawableCullCallback (const DrawableCullCallback &org, const CopyOp ©op) |
| | META_Object (osg, DrawableCullCallback) |
| virtual bool | cull (osg::NodeVisitor *nv, osg::Drawable *drawable, osg::RenderInfo *renderInfo) const |
| virtual bool | run (osg::Object *object, osg::Object *data) |
| | Callback () |
| | Callback (const Callback &cb, const CopyOp ©op) |
| | META_Object (osg, Callback) |
| virtual Callback * | asCallback () |
| virtual const Callback * | asCallback () const |
| virtual CallbackObject * | asCallbackObject () |
| virtual const CallbackObject * | asCallbackObject () const |
| virtual StateAttributeCallback * | asStateAttributeCallback () |
| virtual const StateAttributeCallback * | asStateAttributeCallback () const |
| virtual UniformCallback * | asUniformCallback () |
| virtual const UniformCallback * | asUniformCallback () const |
| virtual DrawableUpdateCallback * | asDrawableUpdateCallback () |
| virtual const DrawableUpdateCallback * | asDrawableUpdateCallback () const |
| virtual DrawableEventCallback * | asDrawableEventCallback () |
| virtual const DrawableEventCallback * | asDrawableEventCallback () const |
| virtual osgGA::EventHandler * | asEventHandler () |
| virtual const osgGA::EventHandler * | asEventHandler () const |
| bool | traverse (osg::Object *object, osg::Object *data) |
| void | setNestedCallback (osg::Callback *cb) |
| osg::Callback * | getNestedCallback () |
| const osg::Callback * | getNestedCallback () const |
| void | addNestedCallback (osg::Callback *nc) |
| void | removeNestedCallback (osg::Callback *nc) |
| | Object () |
| | Object (bool threadSafeRefUnref) |
| | Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| virtual Object * | cloneType () const =0 |
| virtual Object * | clone (const CopyOp &) const =0 |
| virtual bool | isSameKindAs (const Object *) const |
| virtual const char * | libraryName () const =0 |
| virtual const char * | className () const =0 |
| std::string | getCompoundClassName () const |
| virtual Node * | asNode () |
| virtual const Node * | asNode () const |
| virtual NodeVisitor * | asNodeVisitor () |
| virtual const NodeVisitor * | asNodeVisitor () const |
| virtual StateSet * | asStateSet () |
| virtual const StateSet * | asStateSet () const |
| virtual StateAttribute * | asStateAttribute () |
| virtual const StateAttribute * | asStateAttribute () const |
| virtual Uniform * | asUniform () |
| virtual const Uniform * | asUniform () const |
| virtual Camera * | asCamera () |
| virtual const Camera * | asCamera () const |
| virtual Drawable * | asDrawable () |
| virtual const Drawable * | asDrawable () const |
| virtual UserDataContainer * | asUserDataContainer () |
| virtual const UserDataContainer * | asUserDataContainer () const |
| virtual ValueObject * | asValueObject () |
| virtual const ValueObject * | asValueObject () const |
| virtual Image * | asImage () |
| virtual const Image * | asImage () const |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| virtual void | setName (const std::string &name) |
| void | setName (const char *name) |
| const std::string & | getName () const |
| void | setDataVariance (DataVariance dv) |
| DataVariance | getDataVariance () const |
| virtual void | computeDataVariance () |
| void | setUserDataContainer (osg::UserDataContainer *udc) |
| template<class T> |
| void | setUserDataContainer (const ref_ptr< T > &udc) |
| osg::UserDataContainer * | getUserDataContainer () |
| const osg::UserDataContainer * | getUserDataContainer () const |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| virtual void | setUserData (Referenced *obj) |
| template<class T> |
| void | setUserData (const ref_ptr< T > &ud) |
| virtual Referenced * | getUserData () |
| virtual const Referenced * | getUserData () const |
| template<typename T> |
| bool | getUserValue (const std::string &name, T &value) const |
| template<typename T> |
| void | setUserValue (const std::string &name, const T &value) |
| virtual void | resizeGLObjectBuffers (unsigned int) |
| virtual void | releaseGLObjects (osg::State *=0) const |
| template<typename T> |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
| | Referenced () |
| | Referenced (bool threadSafeRefUnref) |
| | Referenced (const Referenced &) |
| Referenced & | operator= (const Referenced &) |
| bool | getThreadSafeRefUnref () const |
| OpenThreads::Mutex * | getRefMutex () const |
| int | ref () const |
| int | unref () const |
| int | unref_nodelete () const |
| int | referenceCount () const |
| ObserverSet * | getObserverSet () const |
| ObserverSet * | getOrCreateObserverSet () const |
| void | addObserver (Observer *observer) const |
| void | removeObserver (Observer *observer) const |
| | NodeCallback () |
| | NodeCallback (const NodeCallback &nc, const CopyOp ©op) |
| | META_Object (osg, NodeCallback) |
Implements cluster culling to cull back facing subgraphs and drawables. Derived from Drawable::CullCallback and osg::NodeCallback.
This culling callback is intended to be attached to a node using the setCullCallback method. If the node is a drawable cull(osg::NodeVisitor*, osg::Drawable*, osg::State*) otherwise operator()(Node*, NodeVisitor*) will be called during the cull traversal.
To decide whether the node (in case of a drawable) or its children (in case of any other node type) are to be culled depends on four parameters:
- a control point,
- a normal specified at the control point,
- a deviation value representing the cosinus of an enclosed angle and
- a radius describing a sphere around the control point.
The node is culled if the following two conditions are fulfilled:
- the distance between the current eye/view point to the control point is larger or equal to radius,
- the cosinus of the enclosed angle between the normal and the vector from the control point to the eye/view point is smaller(!) than the specified deviation value (normally this value is negative meaning that the enclosed angle between the control point and the eye/view point is larger than the angle indirectly specified by the deviation value).