OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
SceneUtil::Optimizer::FlattenStaticTransformsVisitor Class Reference

#include <optimizer.hpp>

Inheritance diagram for SceneUtil::Optimizer::FlattenStaticTransformsVisitor:
Collaboration diagram for SceneUtil::Optimizer::FlattenStaticTransformsVisitor:

Public Member Functions

 FlattenStaticTransformsVisitor (Optimizer *optimizer=0)
 
virtual void apply (osg::Node &geode)
 
virtual void apply (osg::Drawable &drawable)
 
virtual void apply (osg::Billboard &geode)
 
virtual void apply (osg::Transform &transform)
 
bool removeTransforms (osg::Node *nodeWeCannotRemove)
 
- Public Member Functions inherited from SceneUtil::BaseOptimizerVisitor
 BaseOptimizerVisitor (Optimizer *optimizer, unsigned int operation)
 
bool isOperationPermissibleForObject (const osg::StateSet *object) const
 
bool isOperationPermissibleForObject (const osg::StateAttribute *object) const
 
bool isOperationPermissibleForObject (const osg::Drawable *object) const
 
bool isOperationPermissibleForObject (const osg::Node *object) const
 

Protected Types

typedef std::vector
< osg::Transform * > 
TransformStack
 
typedef std::set< osg::Drawable * > DrawableSet
 
typedef std::set
< osg::Billboard * > 
BillboardSet
 
typedef std::set< osg::Node * > NodeSet
 
typedef std::set
< osg::Transform * > 
TransformSet
 

Protected Attributes

TransformStack _transformStack
 
NodeSet _excludedNodeSet
 
DrawableSet _drawableSet
 
BillboardSet _billboardSet
 
TransformSet _transformSet
 
- Protected Attributes inherited from SceneUtil::BaseOptimizerVisitor
Optimizer_optimizer
 
unsigned int _operationType
 

Detailed Description

Flatten Static Transform nodes by applying their transform to the geometry on the leaves of the scene graph, then removing the now redundant transforms. Static transformed subgraphs that have multiple parental paths above them are not flattened, if you require this then the subgraphs have to be duplicated - for this use the FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor.

Member Typedef Documentation

typedef std::set<osg::Billboard*> SceneUtil::Optimizer::FlattenStaticTransformsVisitor::BillboardSet
protected
typedef std::set<osg::Drawable*> SceneUtil::Optimizer::FlattenStaticTransformsVisitor::DrawableSet
protected
typedef std::set<osg::Node* > SceneUtil::Optimizer::FlattenStaticTransformsVisitor::NodeSet
protected
typedef std::set<osg::Transform*> SceneUtil::Optimizer::FlattenStaticTransformsVisitor::TransformSet
protected
typedef std::vector<osg::Transform*> SceneUtil::Optimizer::FlattenStaticTransformsVisitor::TransformStack
protected

Constructor & Destructor Documentation

SceneUtil::Optimizer::FlattenStaticTransformsVisitor::FlattenStaticTransformsVisitor ( Optimizer optimizer = 0)
inline

Member Function Documentation

void SceneUtil::Optimizer::FlattenStaticTransformsVisitor::apply ( osg::Node &  geode)
virtual

Here is the call graph for this function:

void SceneUtil::Optimizer::FlattenStaticTransformsVisitor::apply ( osg::Drawable &  drawable)
virtual
void SceneUtil::Optimizer::FlattenStaticTransformsVisitor::apply ( osg::Billboard &  geode)
virtual
void SceneUtil::Optimizer::FlattenStaticTransformsVisitor::apply ( osg::Transform &  transform)
virtual

Here is the call graph for this function:

bool SceneUtil::Optimizer::FlattenStaticTransformsVisitor::removeTransforms ( osg::Node *  nodeWeCannotRemove)

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

BillboardSet SceneUtil::Optimizer::FlattenStaticTransformsVisitor::_billboardSet
protected
DrawableSet SceneUtil::Optimizer::FlattenStaticTransformsVisitor::_drawableSet
protected
NodeSet SceneUtil::Optimizer::FlattenStaticTransformsVisitor::_excludedNodeSet
protected
TransformSet SceneUtil::Optimizer::FlattenStaticTransformsVisitor::_transformSet
protected
TransformStack SceneUtil::Optimizer::FlattenStaticTransformsVisitor::_transformStack
protected

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