CFx SDK Documentation  2023 SP0
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:215
virtual OdResult subSetValue(OdRxObject *pO, int index, const OdRxValue &value) const
Definition: RxProperty.h:216
virtual OdResult subRemoveValue(OdRxObject *pO, int index) const
Definition: RxProperty.h:218
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:217
const OdRxObject * owner() const
virtual OdResult subChildren(OdArray< OdRxMemberPtr > &children) const
static OdSmartPtr< TInterface > createObject()
Definition: RxObjectImpl.h:107
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 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;\
}\
}
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 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;\
}
std::shared_ptr< T > cast(CFxBIMObjectPtr pBase)
Definition: FxBIM.h:177

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; }\
}
virtual bool isReadOnly(const OdRxObject *pO) const

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;\
}
ValueType * rxvalue_cast(OdRxValue *value)
Definition: RxValue.h:223

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.