Gizmo3D

gzModule.h File Reference

#include "gzDynamic.h"
#include "gzNotify.h"
#include "gzLibRef.h"

Go to the source code of this file.

Classes

class  gzModule

Defines

#define GZ_MODULE_EXPORT   __declspec(dllexport)
#define GZ_DECLARE_MODULE(x)
#define GZ_MODULE_PROPERTY_REG(type, name, className)   {registerMethod("get"#name,&className::getDynamicProperty##name);registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicType(val).getDynamicType());}
#define GZ_MODULE_PROPERTY_REG_SET(type, name, className)   {registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicType(val).getDynamicType());}
#define GZ_MODULE_PROPERTY_REG_GET(type, name, className)   {registerMethod("get"#name,&className::getDynamicProperty##name);}
#define GZ_MODULE_PROPERTY_REG_C(type, name, className)   {registerMethod("get"#name,&className::getDynamicProperty##name);registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicTypeCustom<type>(val).getDynamicType());}
#define GZ_MODULE_PROPERTY_REG_SET_C(type, name, className)   {registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicTypeCustom<type>(val).getDynamicType());}
#define GZ_MODULE_PROPERTY_REG_GET_C(type, name, className)   {registerMethod("get"#name,&className::getDynamicProperty##name);}
#define GZ_MODULE_PROPERTY(type, name)   GZ_PROPERTY(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_EXPORT(type, name, exportDef)   GZ_PROPERTY_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_MUTEX(type, name, mutex)   GZ_PROPERTY_MUTEX(type,name,mutex) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);return m_property##name;} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_MUTEX_EXPORT(type, name, mutex, exportDef)   GZ_PROPERTY_MUTEX_EXPORT(type,name,mutex,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);return m_property##name;} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_C(type, name)   GZ_PROPERTY(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_EXPORT_C(type, name, exportDef)   GZ_PROPERTY_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_(type, name)   GZ_PROPERTY_(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_EXPORT_(type, name, exportDef)   GZ_PROPERTY_EXPORT_(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_SET(type, name)   GZ_PROPERTY_SET(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_SET_EXPORT(type, name, exportDef)   GZ_PROPERTY_SET_EXPORT(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
#define GZ_MODULE_PROPERTY_SET_(type, name)   GZ_PROPERTY_SET_(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_SET_EXPORT_(type, name, exportDef)   GZ_PROPERTY_SET_EXPORT_(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_GET(type, name)   GZ_PROPERTY_GET(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;}
#define GZ_MODULE_PROPERTY_GET_EXPORT(type, name, exportDef)   GZ_PROPERTY_GET_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;}
#define GZ_MODULE_PROPERTY_GET_(type, name)   GZ_PROPERTY_GET_(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_GET_EXPORT_(type, name, exportDef)   GZ_PROPERTY_GET_EXPORT_(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_GET_C(type, name)   GZ_PROPERTY_GET(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);}
#define GZ_MODULE_PROPERTY_GET_EXPORT_C(type, name, exportDef)   GZ_PROPERTY_GET_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);}
#define GZ_MODULE_PROPERTY_SET_I(type, name)   GZ_PROPERTY_SET_I(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_SET_EXPORT_I(type, name, exportDef)   GZ_PROPERTY_SET_EXPORT_I(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_GET_I(type, name)   GZ_PROPERTY_GET_I(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_GET_EXPORT_I(type, name, exportDef)   GZ_PROPERTY_GET_EXPORT_I(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_I(type, name)   GZ_PROPERTY_I(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
#define GZ_MODULE_PROPERTY_EXPORT_I(type, name, exportDef)   GZ_PROPERTY_EXPORT_I(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);

Enumerations

enum  gzModuleEvent { GZ_MODULE_ADD, GZ_MODULE_REMOVE }
 Events for the adding/removing a module. More...

Functions

template<class T>
gzVoid gzDynamic_Init (T &var)
template<>
gzVoid gzDynamic_Init (gzBool &var)
template<>
gzVoid gzDynamic_Init (gzUShort &var)
template<>
gzVoid gzDynamic_Init (gzDouble &var)

Variables

const gzString GZ_DEFAULT_MODULE_KEY = "GIZMO_MODULES"
 Points out a comma separated user key entry with dynamic modules to load.


Define Documentation

#define GZ_DECLARE_MODULE  ) 
 

Value:

GZ_MODULE_EXPORT x gzmoduleinstance;\
                                GZ_MODULE_EXPORT gzString gzmoduleinstancename=#x;\
                                gzInt GZ_CALLBACK DllMain( gzVoid * handle, gzULong reason , gzVoid * reserved ){return TRUE;}

Definition at line 112 of file gzModule.h.

#define GZ_MODULE_EXPORT   __declspec(dllexport)
 

Definition at line 107 of file gzModule.h.

#define GZ_MODULE_PROPERTY type,
name   )     GZ_PROPERTY(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 136 of file gzModule.h.

#define GZ_MODULE_PROPERTY_ type,
name   )     GZ_PROPERTY_(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 148 of file gzModule.h.

#define GZ_MODULE_PROPERTY_C type,
name   )     GZ_PROPERTY(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 143 of file gzModule.h.

#define GZ_MODULE_PROPERTY_EXPORT type,
name,
exportDef   )     GZ_PROPERTY_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 137 of file gzModule.h.

#define GZ_MODULE_PROPERTY_EXPORT_ type,
name,
exportDef   )     GZ_PROPERTY_EXPORT_(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 149 of file gzModule.h.

#define GZ_MODULE_PROPERTY_EXPORT_C type,
name,
exportDef   )     GZ_PROPERTY_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 144 of file gzModule.h.

#define GZ_MODULE_PROPERTY_EXPORT_I type,
name,
exportDef   )     GZ_PROPERTY_EXPORT_I(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 183 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET type,
name   )     GZ_PROPERTY_GET(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;}
 

Definition at line 165 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_ type,
name   )     GZ_PROPERTY_GET_(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 168 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_C type,
name   )     GZ_PROPERTY_GET(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);}
 

Definition at line 171 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_EXPORT type,
name,
exportDef   )     GZ_PROPERTY_GET_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return m_property##name;}
 

Definition at line 166 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_EXPORT_ type,
name,
exportDef   )     GZ_PROPERTY_GET_EXPORT_(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 169 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_EXPORT_C type,
name,
exportDef   )     GZ_PROPERTY_GET_EXPORT(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){return gzDynamicTypeCustom<type>(m_property##name);}
 

Definition at line 172 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_EXPORT_I type,
name,
exportDef   )     GZ_PROPERTY_GET_EXPORT_I(type,name,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 180 of file gzModule.h.

#define GZ_MODULE_PROPERTY_GET_I type,
name   )     GZ_PROPERTY_GET_I(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 179 of file gzModule.h.

#define GZ_MODULE_PROPERTY_I type,
name   )     GZ_PROPERTY_I(type,name) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST); gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 182 of file gzModule.h.

#define GZ_MODULE_PROPERTY_MUTEX type,
name,
mutex   )     GZ_PROPERTY_MUTEX(type,name,mutex) gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);return m_property##name;} gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 139 of file gzModule.h.

#define GZ_MODULE_PROPERTY_MUTEX_EXPORT type,
name,
mutex,
exportDef   )     GZ_PROPERTY_MUTEX_EXPORT(type,name,mutex,exportDef) exportDef gzDynamicType getDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);return m_property##name;} exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){GZ_BODYGUARD(mutex);m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 140 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG type,
name,
className   )     {registerMethod("get"#name,&className::getDynamicProperty##name);registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicType(val).getDynamicType());}
 

Definition at line 126 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG_C type,
name,
className   )     {registerMethod("get"#name,&className::getDynamicProperty##name);registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicTypeCustom<type>(val).getDynamicType());}
 

Definition at line 131 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG_GET type,
name,
className   )     {registerMethod("get"#name,&className::getDynamicProperty##name);}
 

Definition at line 128 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG_GET_C type,
name,
className   )     {registerMethod("get"#name,&className::getDynamicProperty##name);}
 

Definition at line 133 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG_SET type,
name,
className   )     {registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicType(val).getDynamicType());}
 

Definition at line 127 of file gzModule.h.

#define GZ_MODULE_PROPERTY_REG_SET_C type,
name,
className   )     {registerMethod("set"#name,&className::setDynamicProperty##name);type val;gzDynamic_Init(val);setArgCheck("set"#name,gzDynamicTypeCustom<type>(val).getDynamicType());}
 

Definition at line 132 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET type,
name   )     GZ_PROPERTY_SET(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 153 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET_ type,
name   )     GZ_PROPERTY_SET_(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 158 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET_EXPORT type,
name,
exportDef   )     GZ_PROPERTY_SET_EXPORT(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST){m_property##name=gzDynamic_Cast<type>(a0);return GZ_DYN_VOID;}
 

Definition at line 154 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET_EXPORT_ type,
name,
exportDef   )     GZ_PROPERTY_SET_EXPORT_(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 159 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET_EXPORT_I type,
name,
exportDef   )     GZ_PROPERTY_SET_EXPORT_I(type,name,exportDef) exportDef gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 177 of file gzModule.h.

#define GZ_MODULE_PROPERTY_SET_I type,
name   )     GZ_PROPERTY_SET_I(type,name) gzDynamicType setDynamicProperty##name(GZ_DYNAMIC_ATTRIBUTE_LIST);
 

Definition at line 176 of file gzModule.h.


Enumeration Type Documentation

enum gzModuleEvent
 

Events for the adding/removing a module.

Enumerator:
GZ_MODULE_ADD 
GZ_MODULE_REMOVE 

Definition at line 33 of file gzModule.h.


Function Documentation

template<>
gzVoid gzDynamic_Init gzDouble var  )  [inline]
 

Definition at line 123 of file gzModule.h.

template<>
gzVoid gzDynamic_Init gzUShort var  )  [inline]
 

Definition at line 122 of file gzModule.h.

template<>
gzVoid gzDynamic_Init gzBool var  )  [inline]
 

Definition at line 121 of file gzModule.h.

References FALSE.

template<class T>
gzVoid gzDynamic_Init T &  var  )  [inline]
 

Definition at line 120 of file gzModule.h.


Variable Documentation

const gzString GZ_DEFAULT_MODULE_KEY = "GIZMO_MODULES"
 

Points out a comma separated user key entry with dynamic modules to load.

Definition at line 30 of file gzModule.h.


Documentation for Gizmo3D generated at Wed Feb 20 11:54:13 2008 by   Saab Training Systems AB, ¸ (c) 2003-and beyond