48 void SetFieldname(
const string& sFieldname);
50 const string& GetFieldname()
const;
52 size_t GetHash()
const;
54 static std::hash<string> HashFunc;
60 const char* GetTypeAsString();
67 inline HRESULT Call(
void* obj)
69 if (m_offsetSetFunc.ptr_fun != 0)
70 return ((HRESULT(*)(
void* obj))m_offsetSetFunc.ptr_fun)(obj);
71 else if (m_offsetGetFunc.ptr_fun != 0)
72 return ((HRESULT(*)(
void* obj))m_offsetSetFunc.ptr_fun)(obj);
76 inline HRESULT Get(
void* obj)
78 if (m_offsetGetFunc.ptr_fun != 0)
79 return ((HRESULT(*)(
void* obj))m_offsetSetFunc.ptr_fun)(obj);
84 template <
class datatype>
85 inline HRESULT Set(
void* obj, datatype p1)
87 if (m_offsetSetFunc.ptr_fun != 0)
88 return ((HRESULT(*)(
void* obj, datatype p1))m_offsetSetFunc.ptr_fun)(obj, p1);
93 inline HRESULT Set(
void* obj,
const Matrix4& p1)
95 if (m_offsetSetFunc.ptr_fun != 0)
96 return ((HRESULT(*)(
void* obj,
const Matrix4& p1))m_offsetSetFunc.ptr_fun)(obj, p1);
100 template <
class datatype>
101 inline HRESULT Set(
void* obj, datatype p1, datatype p2)
103 if (m_offsetSetFunc.ptr_fun != 0)
104 return ((HRESULT(*)(
void* obj, datatype p1, datatype p2))m_offsetSetFunc.ptr_fun)(obj, p1, p2);
108 template <
class datatype>
109 inline HRESULT Set(
void* obj, datatype p1, datatype p2, datatype p3)
111 if (m_offsetSetFunc.ptr_fun != 0)
112 return ((HRESULT(*)(
void* obj, datatype p1, datatype p2, datatype p3))m_offsetSetFunc.ptr_fun)(obj, p1, p2, p3);
116 template <
class datatype>
117 inline HRESULT Set(
void* obj, datatype p1, datatype p2, datatype p3, datatype p4)
119 if (m_offsetSetFunc.ptr_fun != 0)
120 return ((HRESULT(*)(
void* obj, datatype p1, datatype p2, datatype p3, datatype p4))m_offsetSetFunc.ptr_fun)(obj, p1, p2, p3, p4);
124 template <
class datatype>
125 inline HRESULT Get(
void* obj, datatype* p1)
127 if (m_offsetGetFunc.ptr_fun != 0)
128 return ((HRESULT(*)(
void* obj, datatype* p1))m_offsetGetFunc.ptr_fun)(obj, p1);
132 template <
class datatype>
133 inline HRESULT Get(
void* obj, datatype* p1, datatype* p2)
135 if (m_offsetGetFunc.ptr_fun != 0)
136 return ((HRESULT(*)(
void* obj, datatype* p1, datatype* p2))m_offsetGetFunc.ptr_fun)(obj, p1, p2);
140 template <
class datatype>
141 inline HRESULT Get(
void* obj, datatype* p1, datatype* p2, datatype* p3)
143 if (m_offsetGetFunc.ptr_fun != 0)
144 return ((HRESULT(*)(
void* obj, datatype* p1, datatype* p2, datatype* p3))m_offsetGetFunc.ptr_fun)(obj, p1, p2, p3);
148 template <
class datatype>
149 inline HRESULT Get(
void* obj, datatype* p1, datatype* p2, datatype* p3, datatype* p4)
151 if (m_offsetGetFunc.ptr_fun != 0)
152 return ((HRESULT(*)(
void* obj, datatype* p1, datatype* p2, datatype* p3, datatype* p4))m_offsetGetFunc.ptr_fun)(obj, p1, p2, p3, p4);
167 static const char* GetSimpleSchema(SIMPLE_SCHEMA schema);
168 static const char* GetSimpleSchemaOfRGB(){
return GetSimpleSchema(SCHEMA_RGB); };
169 static const char* GetSimpleSchemaOfFile(){
return GetSimpleSchema(SCHEMA_FILE); };
170 static const char* GetSimpleSchemaOfScript(){
return GetSimpleSchema(SCHEMA_SCRIPT); };
171 static const char* GetSimpleSchemaOfInt(
int nMin,
int nMax);
172 static const char* GetSimpleSchemaOfFloat(
float nMin,
float nMax);
184 const char* GetSchematicsType();
192 bool GetSchematicsMinMax(
float& fMin,
float& fMax);
string m_sSchematics
additional schematics for describing the display format of the data.
Definition: AttributeField.h:38
Definition: AttributeField.h:25
for a single attribute field
Definition: AttributeField.h:19
DWORD m_type
see ATTRIBUTE_FIELDTYPE
Definition: AttributeField.h:34
bool HasSetFunction()
whether has set function.
Definition: AttributeField.h:65
string m_sHelpString
a help string.
Definition: AttributeField.h:40
different physics engine has different winding order.
Definition: EventBinding.h:32
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: ParaMatrix4.h:23
string m_sFieldname
field name: e.g.
Definition: AttributeField.h:44
bool HasGetFunction()
whether has get function.
Definition: AttributeField.h:63