CFx SDK Documentation  2020SP3
Classes | Macros | Typedefs
EditorImpl.h File Reference
#include "TD_PackPush.h"
#include "Editor.h"
#include "FxDbExtension.h"
#include "TD_PackPop.h"

Go to the source code of this file.

Classes

class  OdRxEventImpl
 
class  OdEditorImpl
 

Macros

#define FX_SAFE_CALL_REACTOR_EVENT_IMPL(reactor, method, params, index)   { reactor->method params; }
 
#define FX_BEGIN_MAIN_THREAD()    CFxDbExtension::StaticExecuteInMainThread( [&]() {
 
#define FX_END_MAIN_THREAD()    } );
 
#define RXEVENT_FIRE(method, inparams, params)
 
#define EDEVENT_FIRE(method, inparams, params)
 

Typedefs

typedef OdSmartPtr< OdRxEventImplOdRxEventImplPtr
 
typedef OdSmartPtr< OdEditorImplOdEditorImplPtr
 

Macro Definition Documentation

◆ EDEVENT_FIRE

#define EDEVENT_FIRE (   method,
  inparams,
  params 
)
Value:
inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
++m_EventCounter; \
try \
{ \
unsigned i, size = m_reactors.size(); \
for (i = 0; i < size; ++i) \
{ \
if (!m_reactors[i].isNull())\
{\
OdEditorReactorPtr pReactor = OdEditorReactor::cast(m_reactors[i]); \
if (pReactor.get()) \
{ \
FX_SAFE_CALL_REACTOR_EVENT_IMPL( pReactor, method, params, i ) \
} \
}\
} \
} \
catch( ... ) \
{ \
--m_EventCounter; \
throw; \
} \
if (!(--m_EventCounter))\
while( m_reactors.remove(OdRxEventReactorPtr()) );\
FX_END_MAIN_THREAD(); \
}

Definition at line 92 of file EditorImpl.h.

◆ FX_BEGIN_MAIN_THREAD

#define FX_BEGIN_MAIN_THREAD ( )     CFxDbExtension::StaticExecuteInMainThread( [&]() {

Definition at line 59 of file EditorImpl.h.

◆ FX_END_MAIN_THREAD

#define FX_END_MAIN_THREAD ( )     } );

Definition at line 61 of file EditorImpl.h.

◆ FX_SAFE_CALL_REACTOR_EVENT_IMPL

#define FX_SAFE_CALL_REACTOR_EVENT_IMPL (   reactor,
  method,
  params,
  index 
)    { reactor->method params; }

<group OdRx_Classes>

Definition at line 50 of file EditorImpl.h.

◆ RXEVENT_FIRE

#define RXEVENT_FIRE (   method,
  inparams,
  params 
)
Value:
inline void fire_##method inparams \
{ \
FX_BEGIN_MAIN_THREAD(); \
TD_AUTOLOCK( m_mutex ); \
++m_EventCounter; \
try \
{ \
unsigned i, size = m_reactors.size(); \
for (i = 0; i < size; ++i) \
{ \
if (!m_reactors[i].isNull()) \
{ \
FX_SAFE_CALL_REACTOR_EVENT_IMPL( m_reactors[i], method, params, i ) \
} \
} \
} \
catch( ... ) \
{ \
--m_EventCounter; \
throw; \
} \
if (!(--m_EventCounter))\
while( m_reactors.remove(OdRxEventReactorPtr()) );\
FX_END_MAIN_THREAD(); \
}

Definition at line 65 of file EditorImpl.h.

Typedef Documentation

◆ OdEditorImplPtr

Definition at line 272 of file EditorImpl.h.

◆ OdRxEventImplPtr

Definition at line 259 of file EditorImpl.h.

size
GLsizeiptr size
Definition: gles2_ext.h:182
OdSmartPtr
Definition: SmartPtr.h:58
params
GLenum GLint * params
Definition: gles2_ext.h:184
OdRxObject::cast
static OdRxObjectPtr cast(const OdRxObject *pointer)
Definition: RxObject.h:640