CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Classes | Macros | Typedefs
RxProperty.h File Reference
#include "RxMember.h"
#include "RxObjectImpl.h"

Go to the source code of this file.

Classes

class  OdRxPropertyBase
 
class  OdRxProperty
 
class  OdRxPropertyOverrule
 
class  OdRxPromotingQueryContext
 
struct  OdRxValueIterator
 
class  OdRxCollectionProperty
 
class  OdRxCollectionPropertyOverrule
 
class  OdRxIndexedProperty
 
class  OdRxDictionaryProperty
 
class  OdRxSubProperty
 
class  OdRxSubPropertyOfIndexedProperty
 
class  OdRxIndexedSubProperty
 

Macros

#define ODRX_DECLARE_RX_PROPERTY_RO(Object, Name, Type)
 
#define ODRX_DECLARE_RX_PROPERTY(Object, Name, Type)
 
#define ODRX_DECLARE_RX_INDEXED_PROPERTY(Object, Name, Type)
 
#define ODRX_DECLARE_RX_CPLX_INDEXED_PROPERTY(Object, Name, Type)
 
#define ODRX_DECLARE_RX_PROPERTY_START(Object, Name, Type)
 
#define ODRX_DECLARE_RX_PROPERTY_END   }
 
#define ODRX_DECLARE_RX_PROPERTY_READONLY   virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; }
 
#define ODRX_DECLARE_RX_PROPERTY_GET_BY_VAL(Object, ObjGetMemberName, Type)
 
#define ODRX_DECLARE_RX_PROPERTY_SET_BY_VAL(Object, ObjSetMemberName, Type)
 
#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_START    virtual OdResult subChildren(OdArray<OdRxMemberPtr>& children) const {
 
#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_END   return eOk; }
 
#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_ADD(Name, Type)    children.append(OdRxSubProperty::createObject(__OD_T(#Name), OdRxValueType::Desc<Type>::value(), this))
 

Typedefs

typedef OdSmartPtr< OdRxPropertyBaseOdRxPropertyBasePtr
 
typedef OdSmartPtr< OdRxPropertyOdRxPropertyPtr
 
typedef OdSmartPtr< OdRxValueIteratorOdRxValueIteratorPtr
 
typedef OdSmartPtr< OdRxCollectionPropertyOdRxCollectionPropertyPtr
 
typedef OdSmartPtr< OdRxIndexedPropertyOdRxIndexedPropertyPtr
 

Macro Definition Documentation

◆ ODRX_DECLARE_RX_CPLX_INDEXED_PROPERTY

#define ODRX_DECLARE_RX_CPLX_INDEXED_PROPERTY (   Object,
  Name,
  Type 
)
Value:
struct Object ## Name ## Property : OdRxIndexedProperty {\
static OdRxMemberPtr createObject(const OdRxClass* owner)\
{\
((Object ## Name ## Property*)res.get())->init(__OD_T(#Name), &OdRxValueType::Desc<Type>::value(), owner);\
return res;\
}\
virtual OdResult subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const ODRX_OVERRIDE; \
virtual OdResult subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const ODRX_OVERRIDE; \
virtual OdResult subTryGetCount(const OdRxObject* pO, int& count) const ODRX_OVERRIDE;\
}
#define __OD_T(x)
#define ODRX_OVERRIDE
OdResult
Definition: OdResult.h:29
virtual OdResult subTryGetCount(const OdRxObject *pO, int &count) const
void init(const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
virtual OdRxValueIteratorPtr subNewValueIterator(const OdRxObject *pO) const
virtual OdResult subGetValue(const OdRxObject *pO, int index, OdRxValue &value) const
Definition: RxProperty.h:222
virtual OdResult subSetValue(OdRxObject *pO, int index, const OdRxValue &value) const
Definition: RxProperty.h:223
virtual OdResult subRemoveValue(OdRxObject *pO, int index) const
Definition: RxProperty.h:225
static OdRxCollectionPropertyPtr createObject(const OdString &name, const OdRxValueType &type, const OdRxObject *owner=NULL)
virtual OdResult subInsertValue(OdRxObject *pO, int index, const OdRxValue &value) const
Definition: RxProperty.h:224
const OdRxObject * owner() const
virtual OdResult subChildren(OdArray< OdRxMemberPtr > &children) const
static OdSmartPtr< TInterface > createObject()
Definition: RxObjectImpl.h:107
const T * get() const
Definition: SmartPtr.h:339
GLuint index
Definition: gles2_ext.h:265
GLsizei GLsizei * count
Definition: gles2_ext.h:276
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
static const OdRxValueType & value()

Definition at line 290 of file RxProperty.h.

◆ ODRX_DECLARE_RX_INDEXED_PROPERTY

#define ODRX_DECLARE_RX_INDEXED_PROPERTY (   Object,
  Name,
  Type 
)
Value:
struct Object ## Name ## Property : OdRxIndexedProperty {\
static OdRxMemberPtr createObject(const OdRxClass* owner)\
{\
((Object ## Name ## Property*)res.get())->init(__OD_T(#Name), &OdRxValueType::Desc<Type>::value(), owner);\
return res;\
}\
virtual OdResult subGetValue(const OdRxObject* pO, int index, OdRxValue& value) const ODRX_OVERRIDE; \
virtual OdResult subSetValue(OdRxObject* pO, int index, const OdRxValue& value) const ODRX_OVERRIDE; \
virtual OdResult subTryGetCount(const OdRxObject* pO, int& count) const ODRX_OVERRIDE;\
}

Definition at line 274 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY

#define ODRX_DECLARE_RX_PROPERTY (   Object,
  Name,
  Type 
)
Value:
struct Object ## Name ## Property : OdRxProperty {\
static OdRxMemberPtr createObject(const OdRxClass* owner)\
{\
((Object ## Name ## Property*)res.get())->init(__OD_T(#Name), &OdRxValueType::Desc<Type>::value(), owner);\
return res;\
}\
}
void init(const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
virtual OdResult subSetValue(OdRxObject *pO, const OdRxValue &value) const
virtual OdResult subGetValue(const OdRxObject *pO, OdRxValue &value) const

Definition at line 263 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_END

#define ODRX_DECLARE_RX_PROPERTY_END   }

Definition at line 315 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_GET_BY_VAL

#define ODRX_DECLARE_RX_PROPERTY_GET_BY_VAL (   Object,
  ObjGetMemberName,
  Type 
)
Value:
virtual OdResult subGetValue(const OdRxObject* pO, OdRxValue& value) const ODRX_OVERRIDE\
{\
Object ## Ptr pObj = Object::cast(pO);\
if (pObj.isNull()) return eNotApplicable;\
value = static_cast<Type>(pObj->ObjGetMemberName());\
return eOk;\
}

Definition at line 319 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_READONLY

#define ODRX_DECLARE_RX_PROPERTY_READONLY   virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; }

Definition at line 317 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_RO

#define ODRX_DECLARE_RX_PROPERTY_RO (   Object,
  Name,
  Type 
)
Value:
struct Object ## Name ## Property : OdRxProperty {\
static OdRxMemberPtr createObject(const OdRxClass* owner)\
{\
((Object ## Name ## Property*)res.get())->init(__OD_T(#Name), &OdRxValueType::Desc<Type>::value(), owner);\
return res;\
}\
virtual bool isReadOnly(const OdRxObject*) const ODRX_OVERRIDE { return true; }\
}
virtual bool isReadOnly(const OdRxObject *pO) const

Definition at line 252 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_SET_BY_VAL

#define ODRX_DECLARE_RX_PROPERTY_SET_BY_VAL (   Object,
  ObjSetMemberName,
  Type 
)
Value:
virtual OdResult subSetValue(OdRxObject* pO, const OdRxValue& value) const ODRX_OVERRIDE\
{\
Object ## Ptr pObj = Object::cast(pO);\
if (pObj.isNull()) return eNotApplicable;\
pObj->ObjSetMemberName(*rxvalue_cast<Type>(&value));\
return eOk;\
}
ValueType * rxvalue_cast(OdRxValue *value)
Definition: RxValue.h:307

Definition at line 328 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_START

#define ODRX_DECLARE_RX_PROPERTY_START (   Object,
  Name,
  Type 
)
Value:
struct Object ## Name ## Property : OdRxProperty {\
static OdRxMemberPtr createObject(const OdRxClass* owner)\
{\
((Object ## Name ## Property*)res.get())->init(__OD_T(#Name), &OdRxValueType::Desc<Type>::value(), owner);\
return res;\
}

Definition at line 307 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_ADD

#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_ADD (   Name,
  Type 
)     children.append(OdRxSubProperty::createObject(__OD_T(#Name), OdRxValueType::Desc<Type>::value(), this))

Definition at line 342 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_END

#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_END   return eOk; }

Definition at line 340 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_START

#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_START    virtual OdResult subChildren(OdArray<OdRxMemberPtr>& children) const {

Definition at line 337 of file RxProperty.h.

Typedef Documentation

◆ OdRxCollectionPropertyPtr

Definition at line 196 of file RxProperty.h.

◆ OdRxIndexedPropertyPtr

Definition at line 232 of file RxProperty.h.

◆ OdRxPropertyBasePtr

Definition at line 79 of file RxProperty.h.

◆ OdRxPropertyPtr

Definition at line 125 of file RxProperty.h.

◆ OdRxValueIteratorPtr

Definition at line 175 of file RxProperty.h.