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

osg::GraphOpFactory Class Reference
[Rendering BackendGeometry]

#include <OSGGraphOpFactory.h>

List of all members.

Public Types

typedef std::map< std::string,
GraphOp * >::const_iterator 
iterator

Public Member Functions

void registerOp (GraphOp *prototype)
void unRegisterOp (GraphOp *prototype)
void unRegisterOp (const char *name)
GraphOpcreate (const char *name)
iterator begin (void)
iterator end ()

Static Public Member Functions

static GraphOpFactorythe ()

Private Types

typedef std::pair< std::string,
GraphOp * > 
GraphOpPair

Private Member Functions

 GraphOpFactory (void)

Private Attributes

std::map< std::string, GraphOp * > _typeMap

Static Private Attributes

static GraphOpFactory_the = NULL


Detailed Description

GraphOpSeq class

Definition at line 58 of file OSGGraphOpFactory.h.


Member Typedef Documentation

typedef std::map<std::string, GraphOp*>::const_iterator osg::GraphOpFactory::iterator
 

Definition at line 72 of file OSGGraphOpFactory.h.

typedef std::pair<std::string, GraphOp*> osg::GraphOpFactory::GraphOpPair [private]
 

Definition at line 79 of file OSGGraphOpFactory.h.


Constructor & Destructor Documentation

GraphOpFactory::GraphOpFactory void   )  [private]
 

Definition at line 126 of file OSGGraphOpFactory.cpp.

References registerOp().

Referenced by the().


Member Function Documentation

void GraphOpFactory::registerOp GraphOp prototype  ) 
 

Definition at line 81 of file OSGGraphOpFactory.cpp.

References _typeMap, and osg::GraphOp::getName().

Referenced by GraphOpFactory().

00082 {
00083     _typeMap[prototype->getName()]=prototype;
00084 }

void GraphOpFactory::unRegisterOp GraphOp prototype  ) 
 

Definition at line 86 of file OSGGraphOpFactory.cpp.

References osg::GraphOp::getName().

00087 {
00088     unRegisterOp(prototype->getName().c_str());
00089 }

void GraphOpFactory::unRegisterOp const char *  name  ) 
 

Definition at line 91 of file OSGGraphOpFactory.cpp.

References _typeMap.

00092 {
00093     _typeMap.erase(name);
00094 }

GraphOp * GraphOpFactory::create const char *  name  ) 
 

Definition at line 96 of file OSGGraphOpFactory.cpp.

References _typeMap, and osg::GraphOp::create().

Referenced by osg::GraphOpSeq::setGraphOps().

00097 {
00098     GraphOp *proto = _typeMap[name];     
00099     if (proto != NULL)
00100         return proto->create();
00101     else
00102         return NULL;
00103 }

GraphOpFactory & GraphOpFactory::the  )  [static]
 

Definition at line 105 of file OSGGraphOpFactory.cpp.

References _the, and GraphOpFactory().

Referenced by osg::GraphOpSeq::setGraphOps().

00106 {
00107     if(_the == NULL)
00108         _the=new GraphOpFactory();
00109     return *_the;
00110 }

GraphOpFactory::iterator GraphOpFactory::begin void   ) 
 

Definition at line 112 of file OSGGraphOpFactory.cpp.

References _typeMap.

00113 {
00114     return _typeMap.begin();;
00115 }

GraphOpFactory::iterator GraphOpFactory::end  ) 
 

Definition at line 117 of file OSGGraphOpFactory.cpp.

References _typeMap.

00118 {
00119     return _typeMap.end();;
00120 }


Member Data Documentation

GraphOpFactory * GraphOpFactory::_the = NULL [static, private]
 

Definition at line 59 of file OSGGraphOpFactory.cpp.

Referenced by the().

std::map<std::string, GraphOp*> osg::GraphOpFactory::_typeMap [private]
 

Definition at line 85 of file OSGGraphOpFactory.h.

Referenced by begin(), create(), end(), registerOp(), and unRegisterOp().


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:14:08 2005 for OpenSG by  doxygen 1.4.3