|
openscenegraph
|
#include <Optimizer>
Classes | |
| struct | IsOperationPermissibleForObjectCallback |
| class | FlattenStaticTransformsVisitor |
| class | FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor |
| class | CombineStaticTransformsVisitor |
| class | RemoveEmptyNodesVisitor |
| class | RemoveRedundantNodesVisitor |
| class | RemoveLoadedProxyNodesVisitor |
| class | TessellateVisitor |
| class | CombineLODsVisitor |
| class | StateVisitor |
| class | MergeGeodesVisitor |
| class | MakeFastGeometryVisitor |
| class | MergeGeometryVisitor |
| class | SpatializeGroupsVisitor |
| class | CopySharedSubgraphsVisitor |
| class | TextureVisitor |
| class | FlattenBillboardVisitor |
| class | TextureAtlasBuilder |
| class | TextureAtlasVisitor |
| class | StaticObjectDetectionVisitor |
| class | BufferObjectVisitor |
Public Types | |
| enum | OptimizationOptions { FLATTEN_STATIC_TRANSFORMS = (1 << 0) , REMOVE_REDUNDANT_NODES = (1 << 1) , REMOVE_LOADED_PROXY_NODES = (1 << 2) , COMBINE_ADJACENT_LODS = (1 << 3) , SHARE_DUPLICATE_STATE = (1 << 4) , MERGE_GEOMETRY = (1 << 5) , CHECK_GEOMETRY = (1 << 6) , MAKE_FAST_GEOMETRY = (1 << 7) , SPATIALIZE_GROUPS = (1 << 8) , COPY_SHARED_NODES = (1 << 9) , TRISTRIP_GEOMETRY = (1 << 10) , TESSELLATE_GEOMETRY = (1 << 11) , OPTIMIZE_TEXTURE_SETTINGS = (1 << 12) , MERGE_GEODES = (1 << 13) , FLATTEN_BILLBOARDS = (1 << 14) , TEXTURE_ATLAS_BUILDER = (1 << 15) , STATIC_OBJECT_DETECTION = (1 << 16) , FLATTEN_STATIC_TRANSFORMS_DUPLICATING_SHARED_SUBGRAPHS = (1 << 17) , INDEX_MESH = (1 << 18) , VERTEX_POSTTRANSFORM = (1 << 19) , VERTEX_PRETRANSFORM = (1 << 20) , BUFFER_OBJECT_SETTINGS = (1 << 21) , DEFAULT_OPTIMIZATIONS , ALL_OPTIMIZATIONS } |
Protected Types | |
| typedef std::map< const osg::Object *, unsigned int > | PermissibleOptimizationsMap |
Protected Attributes | |
| osg::ref_ptr< IsOperationPermissibleForObjectCallback > | _isOperationPermissibleForObjectCallback |
| PermissibleOptimizationsMap | _permissibleOptimizationsMap |
Traverses scene graph to improve efficiency. See OptimizationOptions. For example of usage see examples/osgimpostor or osgviewer.
|
protected |
|
inline |
Referenced by osgUtil::Optimizer::BufferObjectVisitor::BufferObjectVisitor(), osgUtil::Optimizer::CombineLODsVisitor::CombineLODsVisitor(), osgUtil::Optimizer::CombineStaticTransformsVisitor::CombineStaticTransformsVisitor(), osgUtil::Optimizer::CopySharedSubgraphsVisitor::CopySharedSubgraphsVisitor(), osgUtil::Optimizer::FlattenBillboardVisitor::FlattenBillboardVisitor(), osgUtil::Optimizer::FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor::FlattenStaticTransformsDuplicatingSharedSubgraphsVisitor(), osgUtil::Optimizer::FlattenStaticTransformsVisitor::FlattenStaticTransformsVisitor(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::MakeFastGeometryVisitor::MakeFastGeometryVisitor(), osgUtil::Optimizer::MergeGeodesVisitor::MergeGeodesVisitor(), osgUtil::Optimizer::MergeGeometryVisitor::MergeGeometryVisitor(), osgUtil::Optimizer::RemoveEmptyNodesVisitor::RemoveEmptyNodesVisitor(), osgUtil::Optimizer::RemoveLoadedProxyNodesVisitor::RemoveLoadedProxyNodesVisitor(), osgUtil::Optimizer::RemoveRedundantNodesVisitor::RemoveRedundantNodesVisitor(), osgUtil::Optimizer::SpatializeGroupsVisitor::SpatializeGroupsVisitor(), osgUtil::Optimizer::StateVisitor::StateVisitor(), osgUtil::Optimizer::StaticObjectDetectionVisitor::StaticObjectDetectionVisitor(), osgUtil::Optimizer::TessellateVisitor::TessellateVisitor(), osgUtil::Optimizer::TextureAtlasVisitor::TextureAtlasVisitor(), and osgUtil::Optimizer::TextureVisitor::TextureVisitor().
|
inlinevirtual |
|
inline |
Get the callback for customizing what operations are permitted on objects in the scene graph.
References _isOperationPermissibleForObjectCallback.
|
inline |
Get the callback for customizing what operations are permitted on objects in the scene graph.
References _isOperationPermissibleForObjectCallback.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References COMBINE_ADJACENT_LODS, FLATTEN_STATIC_TRANSFORMS, osg::Node::getCullCallback(), osg::Node::getEventCallback(), osg::Node::getNodeMask(), osg::Node::getNumDescriptions(), getPermissibleOptimizationsForObject(), osg::Node::getStateSet(), osg::Node::getUpdateCallback(), osg::Object::getUserData(), and REMOVE_REDUNDANT_NODES.
|
inline |
References getPermissibleOptimizationsForObject().
|
inline |
References getPermissibleOptimizationsForObject().
Referenced by isOperationPermissibleForObject(), isOperationPermissibleForObject(), isOperationPermissibleForObject(), isOperationPermissibleForObject(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation(), and osgUtil::Optimizer::IsOperationPermissibleForObjectCallback::isOperationPermissibleForObjectImplementation().
|
inline |
References osg::ref_ptr< T >::get(), and optimize().
Referenced by optimize().
|
inline |
References osg::ref_ptr< T >::get(), and optimize().
Referenced by optimize().
| void osgUtil::Optimizer::optimize | ( | osg::Node * | node | ) |
Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
|
virtual |
Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
| void osgUtil::Optimizer::reset | ( | ) |
Reset internal data to initial state - the getPermissibleOptionsMap is cleared.
|
inline |
Set the callback for customizing what operations are permitted on objects in the scene graph.
References _isOperationPermissibleForObjectCallback.
|
inline |
References _permissibleOptimizationsMap.
|
protected |
|
protected |
Referenced by getPermissibleOptimizationsForObject(), and setPermissibleOptimizationsForObject().