|
Public Types |
enum | ShareMode { SHARE_NONE = 0x00,
SHARE_TEXTURES = 0x01,
SHARE_STATESETS = 0x02,
SHARE_ALL
} |
Public Member Functions |
| SharedStateManager () |
void | setShareMode (unsigned int mode) |
unsigned int | getShareMode () |
void | prune () |
void | share (osg::Node *node, OpenThreads::Mutex *mt=0) |
void | apply (osg::Node &node) |
void | apply (osg::Geode &geode) |
Protected Types |
typedef std::set< osg::ref_ptr<
osg::StateAttribute > > | TextureSet |
typedef std::set< osg::ref_ptr<
osg::StateSet > > | StateSetSet |
typedef std::pair< osg::StateAttribute *,
bool > | TextureSharePair |
typedef std::map< osg::StateAttribute *,
TextureSharePair > | TextureTextureSharePairMap |
typedef std::pair< osg::StateSet *,
bool > | StateSetSharePair |
typedef std::map< osg::StateSet *,
StateSetSharePair > | StateSetStateSetSharePairMap |
Protected Member Functions |
void | process (osg::StateSet *ss, osg::Object *parent) |
osg::StateAttribute * | find (osg::StateAttribute *sa) |
osg::StateSet * | find (osg::StateSet *ss) |
void | setStateSet (osg::StateSet *ss, osg::Object *object) |
void | shareTextures (osg::StateSet *ss) |
Protected Attributes |
TextureSet | _sharedTextureList |
StateSetSet | _sharedStateSetList |
TextureTextureSharePairMap | tmpSharedTextureList |
StateSetStateSetSharePairMap | tmpSharedStateSetList |
unsigned int | shareMode |
OpenThreads::Mutex * | mutex |