HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PI_ClassManager.h File Reference
#include "PI_API.h"
#include <UT/UT_ValArray.h>
+ Include dependency graph for PI_ClassManager.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PI_ClassManager
 
class  PI_SelectorTable
 
class  PI_SelectionEntry
 

Macros

#define PI_SETUP()
 
#define PI_REGISTER(name, classname)
 
#define SELECTOR_SETUP()
 
#define SELECTOR_REGISTER(name, data, classname)
 
#define SELECTOR_SETUP_TABLE()
 
#define SELECTOR_REGISTER_TABLE_BEGIN(classname)
 
#define SELECTOR_REGISTER_TABLE_ENTRY(name, data, constructor)   PI_SelectorTable(name, (void *)data, (void *)constructor),
 
#define SELECTOR_REGISTER_TABLE_END()
 

Typedefs

typedef UT_Array< PI_GeometryTypePI_GeometryTypeArray
 

Enumerations

enum  PI_GeometryType {
  PI_GEOTYPE_INVALID = -1, PI_GEOTYPE_POINTS = 0, PI_GEOTYPE_EDGES, PI_GEOTYPE_PRIMITIVES,
  PI_GEOTYPE_VERTICES, PI_GEOTYPE_BREAKPOINTS, PI_NUM_GEOTYPES
}
 

Functions

PI_API PI_ClassManagerPIgetClassManager ()
 

Macro Definition Documentation

#define PI_REGISTER (   name,
  classname 
)
Value:
classname::init classname::initializer; \
classname::init::init() \
{ PIgetClassManager()->addPI(name, (void *)classname::ourConstructor); }
void addPI(const char *name, void *cs)
PI_API PI_ClassManager * PIgetClassManager()
GLuint const GLchar * name
Definition: glcorearb.h:785

Definition at line 57 of file PI_ClassManager.h.

#define PI_SETUP ( )
Value:
class init { public: init(); int dummy; }; \
static init initializer;

Definition at line 53 of file PI_ClassManager.h.

#define SELECTOR_REGISTER (   name,
  data,
  classname 
)
Value:
classname::init classname::initializer; \
classname::init::init() \
(void *)classname::ourConstructor); }
PI_API PI_ClassManager * PIgetClassManager()
void addSelector(const char *name, void *data, void *cs)
GLboolean * data
Definition: glcorearb.h:130
GLuint const GLchar * name
Definition: glcorearb.h:785

Definition at line 76 of file PI_ClassManager.h.

#define SELECTOR_REGISTER_TABLE_BEGIN (   classname)
Value:
classname::init classname::initializer; \
classname::init::init() \
{ PI_SelectorTable table[] = {

Definition at line 86 of file PI_ClassManager.h.

#define SELECTOR_REGISTER_TABLE_END ( )
Value:
PI_SelectorTable(0, 0, 0) }; \
for( int i = 0; table[i].myName; i++ ) \
PIgetClassManager()->addSelector(table[i].myName, \
table[i].myData, \
table[i].myConstructor); }
PI_API PI_ClassManager * PIgetClassManager()
png_uint_32 i
Definition: png.h:2877
void addSelector(const char *name, void *data, void *cs)

Definition at line 94 of file PI_ClassManager.h.

#define SELECTOR_REGISTER_TABLE_ENTRY (   name,
  data,
  constructor 
)    PI_SelectorTable(name, (void *)data, (void *)constructor),

Definition at line 91 of file PI_ClassManager.h.

#define SELECTOR_SETUP ( )
Value:
class init { public: init(); int dummy; }; \
static init initializer;

Definition at line 72 of file PI_ClassManager.h.

#define SELECTOR_SETUP_TABLE ( )
Value:
class init { public: init(); int dummy; }; \
static init initializer;

Definition at line 82 of file PI_ClassManager.h.

Typedef Documentation

Definition at line 114 of file PI_ClassManager.h.

Enumeration Type Documentation

Enumerator
PI_GEOTYPE_INVALID 
PI_GEOTYPE_POINTS 
PI_GEOTYPE_EDGES 
PI_GEOTYPE_PRIMITIVES 
PI_GEOTYPE_VERTICES 
PI_GEOTYPE_BREAKPOINTS 
PI_NUM_GEOTYPES 

Definition at line 103 of file PI_ClassManager.h.

Function Documentation

PI_API PI_ClassManager* PIgetClassManager ( )