Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# osgUtil::Optimizer Class Reference

Traverses scene graph to improve efficiency. More...

List of all members.

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

## Detailed Description

Traverses scene graph to improve efficiency.

See OptimizationOptions. For example of usage see examples/osgimpostor or osgviewer.

## Member Typedef Documentation

typedef std::map<const osg::Object*,unsigned int> osgUtil::Optimizer::PermissibleOptimizationsMap`[protected]`

## Member Enumeration Documentation

enum osgUtil::Optimizer::OptimizationOptions

  | Enumeration values:
  FLATTEN_STATIC_TRANSFORMS |
  REMOVE_REDUNDANT_NODES |
  REMOVE_LOADED_PROXY_NODES |
  COMBINE_ADJACENT_LODS |
  SHARE_DUPLICATE_STATE |
  MERGE_GEOMETRY |
  CHECK_GEOMETRY |
  SPATIALIZE_GROUPS |
  COPY_SHARED_NODES |
  TRISTRIP_GEOMETRY |
  TESSELATE_GEOMETRY |
  OPTIMIZE_TEXTURE_SETTINGS |
  DEFAULT_OPTIMIZATIONS |
  ALL_OPTIMIZATIONS |

## Constructor & Destructor Documentation

osgUtil::Optimizer::Optimizer | ( |  | ) | `[inline]`

virtual osgUtil::Optimizer::~Optimizer | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

const IsOperationPermissibleForObjectCallback* osgUtil::Optimizer::getIsOperationPermissibleForObjectCallback | ( |  | ) | const`[inline]`

| Get the callback for customizing what operations are permitted on objects in the scene graph.

IsOperationPermissibleForObjectCallback* osgUtil::Optimizer::getIsOperationPermissibleForObjectCallback | ( |  | ) | `[inline]`

| Get the callback for customizing what operations are permitted on objects in the scene graph.

unsigned int osgUtil::Optimizer::getPermissibleOptimizationsForObject | ( | const osg::Object * | object | ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObject | ( | const osg::Node * | object,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObject | ( | const osg::Drawable * | object,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObject | ( | const osg::StateAttribute * | object,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObject | ( | const osg::StateSet * | object,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObjectImplementation | ( | const osg::Node * | node,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObjectImplementation | ( | const osg::Drawable * | drawable,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObjectImplementation | ( | const osg::StateAttribute * | attribute,
|  | unsigned int | option
| ) | const`[inline]`

bool osgUtil::Optimizer::isOperationPermissibleForObjectImplementation | ( | const osg::StateSet * | stateset,
|  | unsigned int | option
| ) | const`[inline]`

virtual void osgUtil::Optimizer::optimize | ( | osg::Node * | node,
|  | unsigned int | options
| ) | `[virtual]`

| Traverse the node and its subgraph with a series of optimization visitors, specified by the OptimizationOptions.

void osgUtil::Optimizer::optimize | ( | osg::Node * | node | ) |

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

void osgUtil::Optimizer::setIsOperationPermissibleForObjectCallback | ( | IsOperationPermissibleForObjectCallback * | callback | ) | `[inline]`

| Set the callback for customizing what operations are permitted on objects in the scene graph.

void osgUtil::Optimizer::setPermissibleOptimizationsForObject | ( | const osg::Object * | object,
|  | unsigned int | options
| ) | `[inline]`

## Member Data Documentation

osg::ref_ptr<IsOperationPermissibleForObjectCallback> osgUtil::Optimizer::_isOperationPermissibleForObjectCallback`[protected]`

PermissibleOptimizationsMap osgUtil::Optimizer::_permissibleOptimizationsMap`[protected]`

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

- Optimizer