CFx SDK Documentation  2020SP3
Classes | Macros | Typedefs
TrVecBaseModule.h File Reference
#include "TD_PackPush.h"
#include "Gs/GsBaseModule.h"
#include "../TrVisRenderClient.h"
#include "TD_PackPop.h"

Go to the source code of this file.

Classes

struct  OdTrVectorizerPropertyResolver
 
struct  OdTrVectorizerUpdateHost
 
class  OdTrVectorizerModuleHost
 
class  BaseGLES2Module
 

Macros

#define ODRX_DECLARE_PROPERTY_TRV(PropName)
 
#define ODRX_GENERATE_PROPERTY_TRV(PropName)    pInfo->putAt(_##PropName##_PropDesc::_name(), _##PropName##_PropDesc::createObject(m_pPropResolver));
 
#define ODRX_INHERIT_PROPERTIES_TRV(BASE_CLASS)    BASE_CLASS::generateProperties(pInfo);
 
#define ODRX_DEFINE_PROPERTY_METHODS_PREFIX_TRV(ClassPrefix, PropName, PropHolder, getMethodName, putMethodName, accessFn)
 
#define ODRX_DEFINE_PROPERTY_PREFIX_TRV(ClassPrefix, PropName, PropHolder, accessFn)    ODRX_DEFINE_PROPERTY_METHODS_PREFIX_TRV(ClassPrefix, PropName, PropHolder, get_##PropName, put_##PropName, accessFn)
 

Typedefs

typedef OdSmartPtr< OdTrVectorizerPropertyResolverOdTrVectorizerPropertyResolverPtr
 
typedef OdSmartPtr< OdTrVectorizerModuleHostOdTrVectorizerModuleHostPtr
 

Macro Definition Documentation

◆ ODRX_DECLARE_PROPERTY_TRV

#define ODRX_DECLARE_PROPERTY_TRV (   PropName)
Value:
struct _##PropName##_PropDesc : public OdRxObjectImpl<OdRxPropDesc> \
{ \
OdTrVectorizerPropertyResolverPtr m_pResolver; \
static inline OdString _name(); \
OdString name() const; \
OdRxObjectPtr prop_get(const void* pThis) const; \
void prop_put(void* pThis, OdRxObject* pVal); \
};

Definition at line 100 of file TrVecBaseModule.h.

◆ ODRX_DEFINE_PROPERTY_METHODS_PREFIX_TRV

#define ODRX_DEFINE_PROPERTY_METHODS_PREFIX_TRV (   ClassPrefix,
  PropName,
  PropHolder,
  getMethodName,
  putMethodName,
  accessFn 
)
Value:
OdRxObjectPtr ClassPrefix _##PropName##_PropDesc::createObject(const OdTrVectorizerPropertyResolver *pResolver) \
{ \
OdRxObjectPtr pThis = OdRxObjectPtr(new _##PropName##_PropDesc, kOdRxObjAttach); \
static_cast<_##PropName##_PropDesc*>(pThis.get())->m_pResolver = pResolver; \
return pThis; \
} \
inline OdString ClassPrefix _##PropName##_PropDesc::_name() \
{ \
static OdString sName(OD_T(#PropName)); \
return sName; \
} \
OdString ClassPrefix _##PropName##_PropDesc::name() const \
{ \
return _name(); \
} \
OdRxObjectPtr ClassPrefix _##PropName##_PropDesc::prop_get(const void* pThis) const \
{ \
return (OdRxObject*)OdRxVariantValue((static_cast<PropHolder*>(m_pResolver->hostByPropsDict((OdRxDictionary*)pThis)))->getMethodName()); \
} \
void ClassPrefix _##PropName##_PropDesc::prop_put(void* pThis, OdRxObject* pVal) \
{ \
(static_cast<PropHolder*>(m_pResolver->hostByPropsDict((OdRxDictionary*)pThis)))->putMethodName(OdRxVariantValue(pVal)->accessFn()); \
}

Definition at line 117 of file TrVecBaseModule.h.

◆ ODRX_DEFINE_PROPERTY_PREFIX_TRV

#define ODRX_DEFINE_PROPERTY_PREFIX_TRV (   ClassPrefix,
  PropName,
  PropHolder,
  accessFn 
)     ODRX_DEFINE_PROPERTY_METHODS_PREFIX_TRV(ClassPrefix, PropName, PropHolder, get_##PropName, put_##PropName, accessFn)

Definition at line 142 of file TrVecBaseModule.h.

◆ ODRX_GENERATE_PROPERTY_TRV

#define ODRX_GENERATE_PROPERTY_TRV (   PropName)     pInfo->putAt(_##PropName##_PropDesc::_name(), _##PropName##_PropDesc::createObject(m_pPropResolver));

Definition at line 111 of file TrVecBaseModule.h.

◆ ODRX_INHERIT_PROPERTIES_TRV

#define ODRX_INHERIT_PROPERTIES_TRV (   BASE_CLASS)     BASE_CLASS::generateProperties(pInfo);

Definition at line 114 of file TrVecBaseModule.h.

Typedef Documentation

◆ OdTrVectorizerModuleHostPtr

<group ExRender_Windows_Classes>

Definition at line 98 of file TrVecBaseModule.h.

◆ OdTrVectorizerPropertyResolverPtr

<group ExRender_Windows_Classes>

Definition at line 47 of file TrVecBaseModule.h.

OdString
Definition: OdString.h:95
OdRxObjectPtr
Definition: RxObject.h:345
name
GLuint const GLchar * name
Definition: gles2_ext.h:265
OdTrVectorizerPropertyResolver
Definition: TrVecBaseModule.h:40
OdRxObject
Definition: RxObject.h:564
OD_T
#define OD_T(x)
Definition: OdPlatformSettings.h:714
OdRxDictionary
Definition: RxDictionary.h:114
OdRxObjectImpl::createObject
static OdSmartPtr< TInterface > createObject()
Definition: RxObjectImpl.h:107
OdRxVariantValue
Definition: RxVariantValue.h:53
kOdRxObjAttach
@ kOdRxObjAttach
Definition: RxObject.h:56
OdRxObjectImpl
Definition: RxObjectImpl.h:55