CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
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)
 

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 {\
{\
((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
OdSmartPtr< OdRxMember > OdRxMemberPtr
Definition RxMember.h:51
OdSmartPtr< OdRxValueIterator > OdRxValueIteratorPtr
Definition RxProperty.h:175
virtual OdResult subTryGetCount(const OdRxObject *pO, int &count) const
virtual OdRxValueIteratorPtr subNewValueIterator(const OdRxObject *pO) const
virtual OdResult subGetValue(const OdRxObject *, int, OdRxValue &) const
Definition RxProperty.h:222
virtual OdResult subRemoveValue(OdRxObject *, int) const
Definition RxProperty.h:225
virtual OdResult subSetValue(OdRxObject *, int, const OdRxValue &) const
Definition RxProperty.h:223
static OdRxCollectionPropertyPtr createObject(const OdString &name, const OdRxValueType &type, const OdRxObject *owner=NULL)
virtual OdResult subInsertValue(OdRxObject *, int, const OdRxValue &) const
Definition RxProperty.h:224
const OdRxObject * owner() const
virtual OdResult subChildren(OdArray< OdRxMemberPtr > &children) const
const OdArray< OdRxMemberPtr > * children() const
static OdSmartPtr< TInterface > createObject(Args &&... args)
const T * get() const
Definition SmartPtr.h:315
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 {\
{\
((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;\
}\
}
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;\
}
@ eOk
Definition FxBIM.h:41

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:309

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 )
Value:
static OdRxMemberPtr createObject(const OdString &memberName, const OdRxValueType &type, const OdRxProperty *owner)

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

◆ OdRxIndexedPropertyPtr

◆ 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.