|
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.