VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros
stateComponentImplementationTemplate.h File Reference

Go to the source code of this file.

Classes

class  DtStateComponentNextFrameTemplate< T_BaseComponent, V_Data >
 
class  DtStateComponentImplementationTemplate< T_BaseComponent, U_CurrentFrame, V_NextFrame >
 
class  DtStateComponentCurrentFrameTemplate< T_BaseComponent, V_NextFrame, W_Data >
 

Macros

#define SCOPED_WRITE_LOCK_BEGIN
 
#define SCOPED_READ_LOCK_BEGIN
 
#define SCOPED_LOCK_END   delete lock;
 
#define DEFINE_FIELD(MemberType, Member)
 
#define ACCESSOR_MUTATOR_MEMBER(MemberType, Accessor, MutatorAndMember)
 
#define FRAME_ACCESSOR(MemberType, Accessor)   const MemberType Accessor() const override { return frameState().Accessor(); };
 
#define FRAME_ACCESSOR_BY_REF(MemberType, Accessor)   const MemberType& Accessor() const override { return frameState().Accessor(); };
 
#define FRAME_MUTATOR(MemberType, MutatorAndMember)   void set##MutatorAndMember(const MemberType& v) override { frameState().set##MutatorAndMember(v); };
 
#define FRAME_ACCESSOR_WITHLOCK(MemberType, Accessor)   const MemberType Accessor() const override { SCOPED_READ_LOCK_BEGIN MemberType mt = frameState().Accessor(); SCOPED_LOCK_END return mt; };
 
#define FRAME_ACCESSOR_BY_REF_WITHLOCK(MemberType, Accessor)   const MemberType& Accessor() const override { SCOPED_READ_LOCK_BEGIN const MemberType& mt = frameState().Accessor(); SCOPED_LOCK_END return mt; };
 
#define NEXT_FRAME_MUTATOR(MemberType, MutatorAndMember, Accessor)   void set##MutatorAndMember(const MemberType& v) override { if (frameState().Accessor() != v) { markModified(); frameState().set##MutatorAndMember(v); } };
 
#define NEXT_FRAME_MUTATOR_WITHLOCK(MemberType, MutatorAndMember, Accessor)   void set##MutatorAndMember(const MemberType& v) override { if (frameState().Accessor() != v) { SCOPED_WRITE_LOCK_BEGIN markModified(); frameState().set##MutatorAndMember(v); SCOPED_LOCK_END } };
 
#define NEXTFRAME_ACCESSOR_MUTATOR(MemberType, Accessor, MutatorAndMember)
 
#define NEXTFRAME_ACCESSOR_MUTATOR_WITHLOCK(MemberType, Accessor, MutatorAndMember)
 
#define NEXTFRAME_ACCESSOR_BY_REF_MUTATOR(MemberType, Accessor, MutatorAndMember)
 
#define CURRENTFRAME_ACCESSOR(MemberType, Accessor, MutatorAndMember)   FRAME_ACCESSOR(MemberType, Accessor)
 
#define CURRENTFRAME_ACCESSOR_BY_REF(MemberType, Accessor, MutatorAndMember)   FRAME_ACCESSOR_BY_REF(MemberType, Accessor)
 

Macro Definition Documentation

#define SCOPED_WRITE_LOCK_BEGIN
Value:
tbb::spin_rw_mutex::scoped_lock* lock = nullptr; \
if (myIsRemoteComponent) { lock = new tbb::spin_rw_mutex::scoped_lock(myMutex, true); }
#define SCOPED_READ_LOCK_BEGIN
Value:
tbb::spin_rw_mutex::scoped_lock* lock = nullptr; \
if (myIsRemoteComponent) { lock = new tbb::spin_rw_mutex::scoped_lock(myMutex, false); }
#define SCOPED_LOCK_END   delete lock;
#define DEFINE_FIELD (   MemberType,
  Member 
)
Value:
protected: \
MemberType my##Member{};
#define ACCESSOR_MUTATOR_MEMBER (   MemberType,
  Accessor,
  MutatorAndMember 
)
Value:
public: \
DEFINE_REF_ACCESSORS(MemberType, Accessor, MutatorAndMember); \
DEFINE_MUTATOR(MemberType, MutatorAndMember); \
DEFINE_FIELD(MemberType, MutatorAndMember)
#define DEFINE_REF_ACCESSORS(ReturnType, Method, Member)
Definition: doubleBufferedDataStorage.h:13
#define DEFINE_MUTATOR(Type, Mutator)
Definition: doubleBufferedDataStorage.h:17
#define DEFINE_FIELD(MemberType, Member)
Definition: stateComponentImplementationTemplate.h:21
#define FRAME_ACCESSOR (   MemberType,
  Accessor 
)    const MemberType Accessor() const override { return frameState().Accessor(); };
#define FRAME_ACCESSOR_BY_REF (   MemberType,
  Accessor 
)    const MemberType& Accessor() const override { return frameState().Accessor(); };
#define FRAME_MUTATOR (   MemberType,
  MutatorAndMember 
)    void set##MutatorAndMember(const MemberType& v) override { frameState().set##MutatorAndMember(v); };
#define FRAME_ACCESSOR_WITHLOCK (   MemberType,
  Accessor 
)    const MemberType Accessor() const override { SCOPED_READ_LOCK_BEGIN MemberType mt = frameState().Accessor(); SCOPED_LOCK_END return mt; };
#define FRAME_ACCESSOR_BY_REF_WITHLOCK (   MemberType,
  Accessor 
)    const MemberType& Accessor() const override { SCOPED_READ_LOCK_BEGIN const MemberType& mt = frameState().Accessor(); SCOPED_LOCK_END return mt; };
#define NEXT_FRAME_MUTATOR (   MemberType,
  MutatorAndMember,
  Accessor 
)    void set##MutatorAndMember(const MemberType& v) override { if (frameState().Accessor() != v) { markModified(); frameState().set##MutatorAndMember(v); } };
#define NEXT_FRAME_MUTATOR_WITHLOCK (   MemberType,
  MutatorAndMember,
  Accessor 
)    void set##MutatorAndMember(const MemberType& v) override { if (frameState().Accessor() != v) { SCOPED_WRITE_LOCK_BEGIN markModified(); frameState().set##MutatorAndMember(v); SCOPED_LOCK_END } };
#define NEXTFRAME_ACCESSOR_MUTATOR (   MemberType,
  Accessor,
  MutatorAndMember 
)
Value:
public: \
FRAME_ACCESSOR(MemberType, Accessor) \
NEXT_FRAME_MUTATOR(MemberType, MutatorAndMember, Accessor)
#define NEXT_FRAME_MUTATOR(MemberType, MutatorAndMember, Accessor)
Definition: stateComponentImplementationTemplate.h:43
#define FRAME_ACCESSOR(MemberType, Accessor)
Definition: stateComponentImplementationTemplate.h:31
#define NEXTFRAME_ACCESSOR_MUTATOR_WITHLOCK (   MemberType,
  Accessor,
  MutatorAndMember 
)
Value:
public: \
FRAME_ACCESSOR_WITHLOCK(MemberType, Accessor) \
NEXT_FRAME_MUTATOR_WITHLOCK(MemberType, MutatorAndMember, Accessor)
#define NEXT_FRAME_MUTATOR_WITHLOCK(MemberType, MutatorAndMember, Accessor)
Definition: stateComponentImplementationTemplate.h:46
#define FRAME_ACCESSOR_WITHLOCK(MemberType, Accessor)
Definition: stateComponentImplementationTemplate.h:38
#define NEXTFRAME_ACCESSOR_BY_REF_MUTATOR (   MemberType,
  Accessor,
  MutatorAndMember 
)
Value:
public: \
FRAME_ACCESSOR_BY_REF(MemberType, Accessor) \
NEXT_FRAME_MUTATOR(MemberType, MutatorAndMember, Accessor)
#define FRAME_ACCESSOR_BY_REF(MemberType, Accessor)
Definition: stateComponentImplementationTemplate.h:33
#define NEXT_FRAME_MUTATOR(MemberType, MutatorAndMember, Accessor)
Definition: stateComponentImplementationTemplate.h:43
#define CURRENTFRAME_ACCESSOR (   MemberType,
  Accessor,
  MutatorAndMember 
)    FRAME_ACCESSOR(MemberType, Accessor)
#define CURRENTFRAME_ACCESSOR_BY_REF (   MemberType,
  Accessor,
  MutatorAndMember 
)    FRAME_ACCESSOR_BY_REF(MemberType, Accessor)

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)