CFx SDK Documentation  2020SP3
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;\
}

Definition at line 283 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 267 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;\
}\
}

Definition at line 256 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_END

#define ODRX_DECLARE_RX_PROPERTY_END   }

Definition at line 308 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 312 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 310 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; }\
}

Definition at line 245 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;\
}

Definition at line 321 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 300 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 335 of file RxProperty.h.

◆ ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_END

#define ODRX_DECLARE_RX_PROPERTY_SUBCHILDREN_END   return eOk; }

Definition at line 333 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 330 of file RxProperty.h.

Typedef Documentation

◆ OdRxCollectionPropertyPtr

Definition at line 189 of file RxProperty.h.

◆ OdRxIndexedPropertyPtr

Definition at line 225 of file RxProperty.h.

◆ OdRxPropertyBasePtr

Definition at line 79 of file RxProperty.h.

◆ OdRxPropertyPtr

Definition at line 121 of file RxProperty.h.

◆ OdRxValueIteratorPtr

Definition at line 168 of file RxProperty.h.

OdResult
OdResult
Definition: OdResult.h:29
OdPdfPublish::Action::Type
Type
Definition: PdfPublishCommon.h:444
OdRxCollectionProperty::subNewValueIterator
virtual OdRxValueIteratorPtr subNewValueIterator(const OdRxObject *pO) const
OdRxMember::owner
const OdRxObject * owner() const
count
GLsizei GLsizei * count
Definition: gles2_ext.h:276
OdRxMember::init
void init(const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
OdRxIndexedProperty::subInsertValue
virtual OdResult subInsertValue(OdRxObject *pO, int index, const OdRxValue &value) const
Definition: RxProperty.h:217
OdRxObject
Definition: RxObject.h:564
OdArray
Definition: OdArray.h:591
OdRxIndexedProperty::createObject
static OdRxCollectionPropertyPtr createObject(const OdString &name, const OdRxValueType &type, const OdRxObject *owner=NULL)
__OD_T
#define __OD_T(x)
Definition: OdPlatformSettings.h:718
index
GLuint index
Definition: gles2_ext.h:265
OdRxValue
Definition: RxValue.h:64
OdRxValueType::Desc::value
static const OdRxValueType & value()
OdRxClass
Definition: RxObject.h:865
OdRxIndexedProperty::subGetValue
virtual OdResult subGetValue(const OdRxObject *pO, int index, OdRxValue &value) const
Definition: RxProperty.h:215
OdRxIndexedProperty::subRemoveValue
virtual OdResult subRemoveValue(OdRxObject *pO, int index) const
Definition: RxProperty.h:218
OdSmartPtr
Definition: SmartPtr.h:58
OdRxProperty
Definition: RxProperty.h:86
OdRxCollectionProperty::init
void init(const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
OdRxProperty::subGetValue
virtual OdResult subGetValue(const OdRxObject *pO, OdRxValue &value) const
FxBIM::cast
std::shared_ptr< T > cast(CFxBIMObjectPtr pBase)
Definition: FxBIM.h:142
OdRxProperty::subSetValue
virtual OdResult subSetValue(OdRxObject *pO, const OdRxValue &value) const
OdPdfPublish::eOk
@ eOk
Definition: PdfPublishCommon.h:42
OdRxIndexedProperty
Definition: RxProperty.h:206
OdGiVisualStyleProperties::Property
Property
Definition: GiVisualStyle.h:734
OdRxObjectImpl::createObject
static OdSmartPtr< TInterface > createObject()
Definition: RxObjectImpl.h:107
OdRxIndexedProperty::subSetValue
virtual OdResult subSetValue(OdRxObject *pO, int index, const OdRxValue &value) const
Definition: RxProperty.h:216
rxvalue_cast
ValueType * rxvalue_cast(OdRxValue *value)
Definition: RxValue.h:223
OdRxMember::subChildren
virtual OdResult subChildren(OdArray< OdRxMemberPtr > &children) const
value
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
OdRxCollectionProperty::subTryGetCount
virtual OdResult subTryGetCount(const OdRxObject *pO, int &count) const
ODRX_OVERRIDE
#define ODRX_OVERRIDE
Definition: OdPlatformSettings.h:114
OdRxPropertyBase::isReadOnly
virtual bool isReadOnly(const OdRxObject *pO) const