167 typedef void (
GxClassBaseRoot::*GET_VALUE_FUNCTION)(
void*
const pValue);
168 typedef void (
GxClassBaseRoot::*SET_VALUE_FUNCTION)(
const void*
const pValue);
169 typedef void (
GxClassBaseRoot::*GET_INDEX_VALUE_FUNCTION)(
void*
const pValue, u32 index);
170 typedef void (
GxClassBaseRoot::*SET_INDEX_VALUE_FUNCTION)(
const void*
const pValue, u32 index);
175 typedef void (
GxClassBaseRoot::*EVENT_ARGUMENT_FUNCTION_POINTER)(
void* pArgument);
177 typedef void (
GxClassBaseRoot::*EVENT_ARGUMENT_FUNCTION_U32)(u32 argumentU32);
178 typedef void (
GxClassBaseRoot::*EVENT_ARGUMENT_FUNCTION_S32)(s32 argumentS32);
179 typedef void (
GxClassBaseRoot::*EVENT_ARGUMENT_FUNCTION_F32)(f32 argumentF32);
181 typedef void (
GxStructBase::*STRUCT_GET_VALUE_FUNCTION)(
void*
const pValue);
182 typedef void (
GxStructBase::*STRUCT_SET_VALUE_FUNCTION)(
const void*
const pValue);
183 typedef void (
GxStructBase::*STRUCT_GET_INDEX_VALUE_FUNCTION)(
void*
const pValue, u32 index);
184 typedef void (
GxStructBase::*STRUCT_SET_INDEX_VALUE_FUNCTION)(
const void*
const pValue, u32 index);
185 typedef u32 (
GxStructBase::*STRUCT_GET_COUNT_FUNCTION)(void)
const;
186 typedef void (
GxStructBase::*STRUCT_SET_COUNT_FUNCTION)(u32 count);
188 typedef void (
GxStructBase::*STRUCT_EVENT_FUNCTION)(void);
189 typedef void (
GxStructBase::*STRUCT_EVENT_ARGUMENT_FUNCTION_POINTER)(
void* pArgument);
190 typedef void (
GxStructBase::*STRUCT_EVENT_ARGUMENT_FUNCTION_B32)(
b32 argumentB32);
191 typedef void (
GxStructBase::*STRUCT_EVENT_ARGUMENT_FUNCTION_U32)(u32 argumentU32);
192 typedef void (
GxStructBase::*STRUCT_EVENT_ARGUMENT_FUNCTION_S32)(s32 argumentS32);
193 typedef void (
GxStructBase::*STRUCT_EVENT_ARGUMENT_FUNCTION_F32)(f32 argumentF32);
195 typedef void (*PROPERTY_FUNCTION_GET_VALUE)(
const GxProperty* pProperty,
const GxTypedObject* pOwner,
void*
const pValue, u32 index);
196 typedef void (*PROPERTY_FUNCTION_SET_VALUE)(
GxProperty* pProperty,
GxTypedObject* pOwner,
const void*
const pValue, u32 index);
210 template <
class T>
class GxTypeAccessor;
211 template <
class T>
friend class GxTypeAccessor;
212 class GxInstanceAccessor;
213 class GxPointerAccessor;
214 class GxCustomProperty;
262 GxFunction(GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction, SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction, GET_COUNT_FUNCTION pGetCountFunction, SET_COUNT_FUNCTION pSetCountFunction,
TYPE functionType =
TYPE::SYSTEM);
264 GxFunction(STRUCT_GET_VALUE_FUNCTION pGetValueFunction, STRUCT_SET_VALUE_FUNCTION pSetValueFunction,
TYPE functionType =
TYPE::SYSTEM);
266 GxFunction(STRUCT_GET_INDEX_VALUE_FUNCTION pGetIndexValueFunction, STRUCT_SET_INDEX_VALUE_FUNCTION pSetIndexValueFunction, STRUCT_GET_COUNT_FUNCTION pGetCountFunction, STRUCT_SET_COUNT_FUNCTION pSetCountFunction,
TYPE functionType =
TYPE::SYSTEM);
363 void constructSub(
void);
382#if defined(_PS4) || defined(_PS5)
463 template <
class T>
class GxUniqueFunction;
464 class GxStructUniqueFunction;
468 GxProperty(GX_CHAR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0) { constructSub(
TYPE::CHAR, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
470 GxProperty(GX_CHAR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::CHAR, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
473 void getValue(const GxTypedObject* pObject, GX_CHAR& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::CHAR); information._pFunctionGetValue(this, pObject, &value, index); }
479 GxProperty(s8&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::S8, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
481 GxProperty(s8&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::S8, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
484 void getValue(const GxTypedObject* pObject, s8& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::S8); information._pFunctionGetValue(this, pObject, &value, index); }
490 GxProperty(u8&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::U8, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
492 GxProperty(u8&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::U8, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
495 void getValue(const GxTypedObject* pObject, u8& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::U8); information._pFunctionGetValue(this, pObject, &value, index); }
501 GxProperty(s16&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::S16, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
503 GxProperty(s16&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::S16, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
506 void getValue(const GxTypedObject* pObject, s16& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::S16); information._pFunctionGetValue(this, pObject, &value, index); }
512 GxProperty(u16&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::U16, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
514 GxProperty(u16&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::U16, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
517 void getValue(const GxTypedObject* pObject, u16& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::U16); information._pFunctionGetValue(this, pObject, &value, index); }
523 GxProperty(s32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0) { constructSub(
TYPE::S32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
525 GxProperty(s32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::S32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
528 void getValue(const GxTypedObject* pObject, s32& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::S32); information._pFunctionGetValue(this, pObject, &value, index); }
534 GxProperty(u32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::U32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
536 GxProperty(u32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::U32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
539 void getValue(const GxTypedObject* pObject, u32& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::U32); information._pFunctionGetValue(this, pObject, &value, index); }
545 GxProperty(s64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::S64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
547 GxProperty(s64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::S64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
550 void getValue(const GxTypedObject* pObject, s64& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::S64); information._pFunctionGetValue(this, pObject, &value, index); }
556 GxProperty(u64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::U64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
558 GxProperty(u64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::U64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
561 void getValue(const GxTypedObject* pObject, u64& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::U64); information._pFunctionGetValue(this, pObject, &value, index); }
567 GxProperty(f32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::F32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
569 GxProperty(f32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::F32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
572 void getValue(const GxTypedObject* pObject, f32& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::F32); information._pFunctionGetValue(this, pObject, &value, index); }
578 GxProperty(f64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::F64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
580 GxProperty(f64&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::F64, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
583 void getValue(const GxTypedObject* pObject, f64& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::F64); information._pFunctionGetValue(this, pObject, &value, index); }
589 GxProperty(
b32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::B32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
591 GxProperty(
b32&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::B32, function, attribute |
ATTRIBUTE_PACK_VALUE, pRtti, pOwnerRtti,
id); }
594 void getValue(const GxTypedObject* pObject, b32& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::B32); information._pFunctionGetValue(this, pObject, &value, index); }
600 GxProperty(GX_CSTR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::CSTR, function, attribute |
ATTRIBUTE_PACK_VALUE | ATTRIBUTE_PACK_CSTR, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
602 GxProperty(GX_CSTR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::CSTR, function, attribute |
ATTRIBUTE_PACK_VALUE | ATTRIBUTE_PACK_CSTR, pRtti, pOwnerRtti,
id); }
605 void getValue(const GxTypedObject* pObject, GX_CSTR& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::CSTR); information._pFunctionGetValue(this, pObject, &value, index); }
611 GxProperty(GX_CWSTR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::CWSTR, function, attribute |
ATTRIBUTE_PACK_VALUE | ATTRIBUTE_PACK_CSTR, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
613 GxProperty(GX_CWSTR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::CWSTR, function, attribute |
ATTRIBUTE_PACK_VALUE | ATTRIBUTE_PACK_CSTR, pRtti, pOwnerRtti,
id); }
616 void getValue(const GxTypedObject* pObject, GX_CWSTR& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::CWSTR); information._pFunctionGetValue(this, pObject, &value, index); }
622 GxProperty(
GxVector2&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::VECTOR2, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
624 GxProperty(
GxVector2&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::VECTOR2, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
627 void getValue(const GxTypedObject* pObject, GxVector2*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR2); information._pFunctionGetValue(this, pObject, &value, index); }
633 GxProperty(
GxVector3&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::VECTOR3, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
635 GxProperty(
GxVector3&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::VECTOR3, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
638 void getValue(const GxTypedObject* pObject, GxVector3*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR3); information._pFunctionGetValue(this, pObject, &value, index); }
644 GxProperty(
GxVector4&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::VECTOR4, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
646 GxProperty(
GxVector4&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::VECTOR4, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
649 void getValue(const GxTypedObject* pObject, GxVector4*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR4); information._pFunctionGetValue(this, pObject, &value, index); }
655 GxProperty(
GxVector2d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0) { constructSub(
TYPE::VECTOR2D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
657 GxProperty(
GxVector2d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id) { constructSub(
TYPE::VECTOR2D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
660 void getValue(const GxTypedObject* pObject, GxVector2d*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR2D); information._pFunctionGetValue(this, pObject, &value, index); }
666 GxProperty(
GxVector3d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0) { constructSub(
TYPE::VECTOR3D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
668 GxProperty(
GxVector3d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id) { constructSub(
TYPE::VECTOR3D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
671 void getValue(const GxTypedObject* pObject, GxVector3d*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR3D); information._pFunctionGetValue(this, pObject, &value, index); }
677 GxProperty(
GxVector4d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0) { constructSub(
TYPE::VECTOR4D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
679 GxProperty(
GxVector4d&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id) { constructSub(
TYPE::VECTOR4D, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
682 void getValue(const GxTypedObject* pObject, GxVector4d*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::VECTOR4D); information._pFunctionGetValue(this, pObject, &value, index); }
688 GxProperty(
GxMatrix44&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::MATRIX44, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
690 GxProperty(
GxMatrix44&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::MATRIX44, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
693 void getValue(const GxTypedObject* pObject, GxMatrix44*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::MATRIX44); information._pFunctionGetValue(this, pObject, &value, index); }
699 GxProperty(
GxMatrixAffine&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::MATRIXAFFINE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
701 GxProperty(
GxMatrixAffine&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::MATRIXAFFINE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
704 void getValue(const GxTypedObject* pObject, GxMatrixAffine*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::MATRIXAFFINE); information._pFunctionGetValue(this, pObject, &value, index); }
710 GxProperty(
GxQuaternion&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::QUATERNION, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
712 GxProperty(
GxQuaternion&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::QUATERNION, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
715 void getValue(const GxTypedObject* pObject, GxQuaternion*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::QUATERNION); information._pFunctionGetValue(this, pObject, &value, index); }
721 GxProperty(
GxSize&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::SIZE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
723 GxProperty(
GxSize&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::SIZE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
726 void getValue(const GxTypedObject* pObject, GxSize*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::SIZE); information._pFunctionGetValue(this, pObject, &value, index); }
732 GxProperty(
GxRect&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::RECT, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
734 GxProperty(
GxRect&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::RECT, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
737 void getValue(const GxTypedObject* pObject, GxRect*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::RECT); information._pFunctionGetValue(this, pObject, &value, index); }
743 GxProperty(
GxColor&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::COLOR, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
745 GxProperty(
GxColor&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::COLOR, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
748 void getValue(const GxTypedObject* pObject, GxColor*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::COLOR); information._pFunctionGetValue(this, pObject, &value, index); }
754 GxProperty(
GxColorHDR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::COLOR_HDR, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
756 GxProperty(
GxColorHDR&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::COLOR_HDR, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
759 void getValue(const GxTypedObject* pObject, GxColorHDR*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::COLOR_HDR); information._pFunctionGetValue(this, pObject, &value, index); }
765 GxProperty(
GxColorHSV&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::COLOR_HSV, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
767 GxProperty(
GxColorHSV&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::COLOR_HSV, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
770 void getValue(const GxTypedObject* pObject, GxColorHSV*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::COLOR_HSV); information._pFunctionGetValue(this, pObject, &value, index); }
776 GxProperty(
GxPoint2&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::POINT2, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
778 GxProperty(
GxPoint2&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::POINT2, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
781 void getValue(const GxTypedObject* pObject, GxPoint2*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::POINT2); information._pFunctionGetValue(this, pObject, &value, index); }
787 GxProperty(
GxFlag32Base&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::FLAG32_BASE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
789 GxProperty(
GxFlag32Base&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::FLAG32_BASE, function, attribute | ATTRIBUTE_PACK_STRUCT, pRtti, pOwnerRtti,
id); }
792 void getValue(const GxTypedObject* pObject, GxFlag32Base*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::FLAG32_BASE); information._pFunctionGetValue(this, pObject, &value, index); }
798 GxProperty(
GxString&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::STRING, function, attribute | ATTRIBUTE_PACK_STRUCT |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
800 GxProperty(
GxString&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::STRING, function, attribute | ATTRIBUTE_PACK_STRUCT |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
803 void getValue(const GxTypedObject* pObject, GxString*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::STRING); information._pFunctionGetValue(this, pObject, &value, index); }
809 GxProperty(
GxStringW&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::STRING_W, function, attribute | ATTRIBUTE_PACK_STRUCT |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
811 GxProperty(
GxStringW&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::STRING_W, function, attribute | ATTRIBUTE_PACK_STRUCT |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
814 void getValue(const GxTypedObject* pObject, GxStringW*& value, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::STRING_W); information._pFunctionGetValue(this, pObject, &value, index); }
820 GxProperty(
GxClassBaseRoot&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::OBJECT, function, attribute | ATTRIBUTE_PACK_REFERENCE |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
822 GxProperty(
GxClassBaseRoot&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::OBJECT, function, attribute | ATTRIBUTE_PACK_REFERENCE |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
825 void getValue(const GxTypedObject* pObject, GxClassBaseRoot*& value, u32 index = 0) const{ const GxInformation& information = getInformation(TYPE::OBJECT); information._pFunctionGetValue(this, pObject, &value, index); }
831 GxProperty(
GxProperty&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::PROPERTY, function, attribute | ATTRIBUTE_PACK_REFERENCE, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
833 GxProperty(
GxProperty&,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::PROPERTY, function, attribute | ATTRIBUTE_PACK_REFERENCE, pRtti, pOwnerRtti,
id); }
836 void getValue(const GxTypedObject* pObject, GxProperty*& value, u32 index = 0) const{ const GxInformation& information = getInformation(TYPE::PROPERTY); information._pFunctionGetValue(this, pObject, &value, index); }
842 GxProperty(
void*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::POINTER, function, attribute | ATTRIBUTE_PACK_POINTER | ATTRIBUTE_PACK_VOID_POINTER, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
844 GxProperty(
void*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::POINTER, function, attribute | ATTRIBUTE_PACK_POINTER | ATTRIBUTE_PACK_VOID_POINTER, pRtti, pOwnerRtti,
id); }
847 void getValue(const GxTypedObject* pObject, void** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
853 GxProperty(
GxString*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::STRING_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
855 GxProperty(
GxString*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::STRING_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
858 void getValue(const GxTypedObject* pObject, GxString** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::STRING_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
864 GxProperty(
GxStringW*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::STRING_W_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
866 GxProperty(
GxStringW*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::STRING_W_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
869 void getValue(const GxTypedObject* pObject, GxStringW** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::STRING_W_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
875 GxProperty(
GxClassBaseRoot*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::OBJECT_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
877 GxProperty(
GxClassBaseRoot*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::OBJECT_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id); }
880 void getValue(const GxTypedObject* pObject, GxClassBaseRoot** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::OBJECT_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
886 GxProperty(
const GxRtti*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::RTTI_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
888 GxProperty(
const GxRtti*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::RTTI_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id); }
891 void getValue(const GxTypedObject* pObject, const GxRtti** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::RTTI_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
897 GxProperty(
GxProperty*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0){ constructSub(
TYPE::PROPERTY_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max); }
899 GxProperty(
GxProperty*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id){ constructSub(
TYPE::PROPERTY_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id); }
902 void getValue(const GxTypedObject* pObject, GxProperty** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(TYPE::PROPERTY_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
908 GxProperty(
const gx::core::GxFunction*,
const GxProperty::GxFunction& function, u32 attribute,
GxRtti* pRtti,
GxRtti* pOwnerRtti, u32
id, GX_CSTR name, GX_CSTR virtualName,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0)
912 constructSub(
TYPE::OBJECT_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER |
ATTRIBUTE_RTTI, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max);
916 constructSub(
TYPE::FUNCTION_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id, name, virtualName, pEnum, pFlag, enumCount, constIndex, min, max);
928 constructSub(
TYPE::FUNCTION_POINTER, function, attribute | ATTRIBUTE_PACK_POINTER, pRtti, pOwnerRtti,
id);
933 void getValue(const GxTypedObject* pObject, const GxFunction** const ppValue, u32 index = 0) const { const GxInformation& information = getInformation(isAttribute(ATTRIBUTE_DYNAMIC_FUNCTION) ? TYPE::OBJECT_POINTER : TYPE::FUNCTION_POINTER); information._pFunctionGetValue(this, pObject, ppValue, index); }
949 , _pEnum(nullptr), _enumCount(0), _name(nullptr), _constIndex(-1), _min(0), _max(0)
956 , GX_CSTR name, GX_CSTR vname,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0
967 , GX_CSTR name, GX_CSTR vname,
const GX_ENUM* pEnum =
nullptr,
const GX_FLAG* pFlag =
nullptr, u32 enumCount = 0, s32 constIndex = -1, f64 min = 0, f64 max = 0
999 template<
class T>
void traceBasetype(
GxTypedObject* pObject);
1011 constexpr u32
getId(
void)
const {
return _id; }
1013 constexpr void setId(u32
id) { _id = id; }
1045 static void registerCustomProperty(GxCustomProperty* pCustomProperty);
1047 static constexpr void*
getDummyBuffer(
void){
return static_cast<void*
>(_dummyBuffer); }
1056 constexpr void setName(GX_CSTR name){ _name = name; }
1058 GX_CSTR getVirtualName(
void)
const;
1060 void setVirtualName( GX_CSTR name );
1062 GX_CSTR getFormalName(
void)
const;
1066 constexpr GX_ENUM* getEnum(
void)
const {
return _pEnum; }
1068 constexpr GX_FLAG* getFlag(
void)
const {
return _pFlag; }
1070 constexpr u32 getEnumCount(
void)
const {
return _enumCount; }
1072 constexpr f64 getMin(
void)
const {
return _min; }
1074 constexpr f64 getMax(
void)
const {
return _max; }
1077 GX_FORCE_INLINE b32 isAttribute(ATTRIBUTE attribute) const { return _function.getAttribute(attribute); }
1089 constexpr void setType(GxProperty::TYPE type) { _function.setPropertyType(type); }
1100 static b32 _initialFlag;
1101 GX_ALIGN16_BEGIN
static GX_CHAR _dummyBuffer[16] GX_ALIGN16_END;