OpenCOVER
Public Types | Public Member Functions | Protected Member Functions | List of all members
opencover::coCullVisitor Class Reference

#include <coCullVisitor.h>

Inheritance diagram for opencover::coCullVisitor:
Inheritance graph
[legend]
Collaboration diagram for opencover::coCullVisitor:
Collaboration graph
[legend]

Public Types

typedef osg::Matrix::value_type value_type
 

Public Member Functions

 coCullVisitor ()
 
virtual ~coCullVisitor ()
 
virtual coCullVisitorcloneType () const
 
virtual osg::Vec3 getEyePoint () const
 
virtual float getDistanceToEyePoint (const osg::Vec3 &pos, bool withLODScale) const
 
virtual float getDistanceFromEyePoint (const osg::Vec3 &pos, bool withLODScale) const
 
virtual float getDistanceToViewPoint (const osg::Vec3 &pos, bool withLODScale) const
 
virtual void apply (osg::Drawable &drawable)
 
virtual void apply (osg::Billboard &node)
 
value_type computeNearestPointInFrustum (const osg::Matrix &matrix, const osg::Polytope::PlaneList &planes, const osg::Drawable &drawable)
 
value_type computeFurthestPointInFrustum (const osg::Matrix &matrix, const osg::Polytope::PlaneList &planes, const osg::Drawable &drawable)
 
bool updateCalculatedNearFar (const osg::Matrix &matrix, const osg::BoundingBox &bb)
 
bool updateCalculatedNearFar (const osg::Matrix &matrix, const osg::Drawable &drawable, bool isBillboard=false)
 
void updateCalculatedNearFar (const osg::Vec3 &pos)
 

Protected Member Functions

coCullVisitoroperator= (const coCullVisitor &)
 

Detailed Description

Basic NodeVisitor implementation for rendering a scene. This visitor traverses the scene graph, collecting transparent and opaque osg::Drawables into a depth sorted transparent bin and a state sorted opaque bin. The opaque bin is rendered first, and then the transparent bin is rendered in order from the furthest osg::Drawable from the eye to the one nearest the eye.

Member Typedef Documentation

◆ value_type

typedef osg::Matrix::value_type opencover::coCullVisitor::value_type

Constructor & Destructor Documentation

◆ coCullVisitor()

opencover::coCullVisitor::coCullVisitor ( )

◆ ~coCullVisitor()

virtual opencover::coCullVisitor::~coCullVisitor ( )
virtual

Member Function Documentation

◆ apply() [1/2]

virtual void opencover::coCullVisitor::apply ( osg::Billboard &  node)
virtual

◆ apply() [2/2]

virtual void opencover::coCullVisitor::apply ( osg::Drawable &  drawable)
virtual

◆ cloneType()

virtual coCullVisitor * opencover::coCullVisitor::cloneType ( ) const
inlinevirtual

◆ computeFurthestPointInFrustum()

value_type opencover::coCullVisitor::computeFurthestPointInFrustum ( const osg::Matrix &  matrix,
const osg::Polytope::PlaneList &  planes,
const osg::Drawable &  drawable 
)

◆ computeNearestPointInFrustum()

value_type opencover::coCullVisitor::computeNearestPointInFrustum ( const osg::Matrix &  matrix,
const osg::Polytope::PlaneList &  planes,
const osg::Drawable &  drawable 
)

◆ getDistanceFromEyePoint()

virtual float opencover::coCullVisitor::getDistanceFromEyePoint ( const osg::Vec3 &  pos,
bool  withLODScale 
) const
virtual

◆ getDistanceToEyePoint()

virtual float opencover::coCullVisitor::getDistanceToEyePoint ( const osg::Vec3 &  pos,
bool  withLODScale 
) const
virtual

◆ getDistanceToViewPoint()

virtual float opencover::coCullVisitor::getDistanceToViewPoint ( const osg::Vec3 &  pos,
bool  withLODScale 
) const
virtual

◆ getEyePoint()

virtual osg::Vec3 opencover::coCullVisitor::getEyePoint ( ) const
inlinevirtual

◆ operator=()

coCullVisitor & opencover::coCullVisitor::operator= ( const coCullVisitor )
inlineprotected

Prevent unwanted copy operator.

◆ updateCalculatedNearFar() [1/3]

bool opencover::coCullVisitor::updateCalculatedNearFar ( const osg::Matrix &  matrix,
const osg::BoundingBox &  bb 
)

◆ updateCalculatedNearFar() [2/3]

bool opencover::coCullVisitor::updateCalculatedNearFar ( const osg::Matrix &  matrix,
const osg::Drawable &  drawable,
bool  isBillboard = false 
)

◆ updateCalculatedNearFar() [3/3]

void opencover::coCullVisitor::updateCalculatedNearFar ( const osg::Vec3 &  pos)

The documentation for this class was generated from the following file: