|
Public Types |
| enum | OptimizationOptions {
FLATTEN_STATIC_TRANSFORMS = 0x001,
REMOVE_REDUNDANT_NODES = 0x002,
REMOVE_LOADED_PROXY_NODES = 0x004,
COMBINE_ADJACENT_LODS = 0x008,
SHARE_DUPLICATE_STATE = 0x010,
MERGE_GEOMETRY = 0x020,
CHECK_GEOMETRY = 0x040,
SPATIALIZE_GROUPS = 0x080,
COPY_SHARED_NODES = 0x100,
TRISTRIP_GEOMETRY = 0x200,
TESSELATE_GEOMETRY = 0x400,
OPTIMIZE_TEXTURE_SETTINGS = 0x800,
DEFAULT_OPTIMIZATIONS,
ALL_OPTIMIZATIONS
} |
Public Member Functions |
| | Optimizer () |
| virtual | ~Optimizer () |
| void | reset () |
| | Reset internal data to initial state - the getPermissibleOptionsMap is cleared.
|
| void | optimize (osg::Node *node) |
| | Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
|
| virtual void | optimize (osg::Node *node, unsigned int options) |
| | Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.
|
| void | setIsOperationPermissibleForObjectCallback (IsOperationPermissibleForObjectCallback *callback) |
| | Set the callback for customizing what operations are permitted on objects in the scene graph.
|
| IsOperationPermissibleForObjectCallback * | getIsOperationPermissibleForObjectCallback () |
| | Get the callback for customizing what operations are permitted on objects in the scene graph.
|
| const IsOperationPermissibleForObjectCallback * | getIsOperationPermissibleForObjectCallback () const |
| | Get the callback for customizing what operations are permitted on objects in the scene graph.
|
| void | setPermissibleOptimizationsForObject (const osg::Object *object, unsigned int options) |
| unsigned int | getPermissibleOptimizationsForObject (const osg::Object *object) const |
| bool | isOperationPermissibleForObject (const osg::StateSet *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::StateAttribute *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::Drawable *object, unsigned int option) const |
| bool | isOperationPermissibleForObject (const osg::Node *object, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::StateSet *stateset, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::StateAttribute *attribute, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::Drawable *drawable, unsigned int option) const |
| bool | isOperationPermissibleForObjectImplementation (const osg::Node *node, unsigned int option) const |
Protected Types |
typedef std::map< const osg::Object *,
unsigned int > | PermissibleOptimizationsMap |
Protected Attributes |
| osg::ref_ptr< IsOperationPermissibleForObjectCallback > | _isOperationPermissibleForObjectCallback |
| PermissibleOptimizationsMap | _permissibleOptimizationsMap |
See OptimizationOptions. For example of usage see examples/osgimpostor or osgviewer.