VR-Exchange 2.1 API Documentation
Macros
hMacros.h File Reference

Go to the source code of this file.

Macros

#define DT_DECLARE_HLA_CALLBACKS(DtHlaReflectedObjType)
#define DT_DEFINE_CREATE_HLA_PUBLISHER(DtTranslatorClass, DtPortalReflectedObjType, DtHlaPublisher)
#define DT_DEFINE_IS_HLA_PUBLISHABLE(DtTranslatorClass, DtPortalReflectedObjType)
#define DT_DEFINE_DELETE_HLA_PUBLISHER(DtTranslatorClass, DtHlaPublisher)
#define DT_DEFINE_DISCOVER_HLA_OBJECT(DtTranslatorClass, DtHlaReflectedObjType, DtProtocol)
#define DT_DEFINE_RECEIVE_HLA_UPDATE(DtTranslatorClass, DtHlaReflectedObjType, DtHlaStateRepository, DtPortalObjectType, DtObjectKind)
#define DT_DEFINE_HLA_CALLBACKS(DtTranslatorClass, DtHlaReflectedObjType, DtTemplates)
#define DT_DECLARE_INTERACTION_HLA_CALLBACKS(DtPortalInteractionType, DtInteractionType)
#define DT_DEFINE_CREATE_HLA_INTERACTION(DtTranslatorClass, DtPortalInteractionType, DtInteractionType)
#define DT_DEFINE_RECEIVE_HLA_INTERACTION(DtTranslatorClass, DtInteractionType)

Macro Definition Documentation

#define DT_DECLARE_HLA_CALLBACKS (   DtHlaReflectedObjType)
Value:
virtual void createHlaPublisher(MAKVrExchange::DtHlaBroker::DtBrokerObject* brokerObject); \
virtual bool isHlaPublishable(const MAKVrExchange::DtHlaBroker::DtBrokerObject* brokerObject) const; \
virtual void deleteHlaPublisher(MAKVrExchange::DtHlaBroker::DtBrokerObject* brokerObject); \
virtual void discoverHlaObject(DtHlaReflectedObjType *obj); \
virtual void receiveHlaUpdate(DtHlaReflectedObjType *obj); \
\
static void hlaObjectAddedCb(DtHlaReflectedObjType *obj, void *ud); \
static void hlaObjectUpdatedCb(DtHlaReflectedObjType *obj, void *ud); \
static void hlaObjectDeletedCb(DtHlaReflectedObjType *obj, void *ud);
#define DT_DEFINE_CREATE_HLA_PUBLISHER (   DtTranslatorClass,
  DtPortalReflectedObjType,
  DtHlaPublisher 
)
#define DT_DEFINE_IS_HLA_PUBLISHABLE (   DtTranslatorClass,
  DtPortalReflectedObjType 
)
Value:
bool DtTranslatorClass::isHlaPublishable( const MAKVrExchange::DtHlaBroker::DtBrokerObject *brokerObject ) const \
{ \
assert( brokerObject->protocol() == MAKVrExchange::DtHlaBroker::DtBrokerObject::portal ); \
const DtPortalReflectedObjType* reflectedObj = \
static_cast<const DtPortalReflectedObjType*>( brokerObject->reflectedObjPtr() ); \
assert(reflectedObj); \
return true; \
}
#define DT_DEFINE_DELETE_HLA_PUBLISHER (   DtTranslatorClass,
  DtHlaPublisher 
)
Value:
void DtTranslatorClass::deleteHlaPublisher(MAKVrExchange::DtHlaBroker::DtBrokerObject* brokerObject) \
{ \
DtHlaPublisher *publisher = \
static_cast<DtHlaPublisher *>( brokerObject->publisherPtr() ); \
\
if (publisher) \
{ \
DtDELETE( publisher ); \
brokerObject->setPublisherPtr( publisher ); \
} \
}
#define DT_DEFINE_DISCOVER_HLA_OBJECT (   DtTranslatorClass,
  DtHlaReflectedObjType,
  DtProtocol 
)
Value:
void DtTranslatorClass::discoverHlaObject(DtHlaReflectedObjType *refObj) \
{ \
MAKVrExchange::DtHlaBroker::DtBrokerObject* brokerObject = findBrokerObject(refObj); \
if (!brokerObject) \
{ \
brokerObject = createBrokerObject(refObj); \
} \
brokerObject->setLastUpdate(myBroker->simTime()); \
brokerObject->setObjectName(refObj->globalId()); \
brokerObject->setIsDiscovered(true); \
\
createPortalPublisher( brokerObject ); \
\
refObj->addPostUpdateCallback( \
DtTranslatorClass::hlaObjectUpdatedCb, this); \
receive##DtProtocol##Update(refObj); \
}
#define DT_DEFINE_RECEIVE_HLA_UPDATE (   DtTranslatorClass,
  DtHlaReflectedObjType,
  DtHlaStateRepository,
  DtPortalObjectType,
  DtObjectKind 
)
#define DT_DEFINE_HLA_CALLBACKS (   DtTranslatorClass,
  DtHlaReflectedObjType,
  DtTemplates 
)
Value:
DtTemplates \
void DtTranslatorClass::hlaObjectAddedCb(DtHlaReflectedObjType *reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->discoverHlaObject(reflectedObj); \
}; \
\
DtTemplates \
void DtTranslatorClass::hlaObjectUpdatedCb(DtHlaReflectedObjType *reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->receiveHlaUpdate(reflectedObj); \
}; \
\
DtTemplates \
void DtTranslatorClass::hlaObjectDeletedCb(DtHlaReflectedObjType *reflectedObj, void *ud) \
{ \
DtTranslatorClass *et = (DtTranslatorClass*)ud; \
et->removeHlaObject(reflectedObj); \
}
#define DT_DECLARE_INTERACTION_HLA_CALLBACKS (   DtPortalInteractionType,
  DtInteractionType 
)
Value:
virtual void createHlaInteraction(const DtPortalInteractionType& in); \
static void receiveHlaInteraction(DtInteractionType *inter, void *usr);
#define DT_DEFINE_CREATE_HLA_INTERACTION (   DtTranslatorClass,
  DtPortalInteractionType,
  DtInteractionType 
)
Value:
void DtTranslatorClass::createHlaInteraction(const DtPortalInteractionType& in) \
{ \
DtInteractionType out; \
out.setExConn(myBroker->hlaConnection(),0); \
\
translate( &out, in ); \
\
if (myBroker->isTranslatorDebuggingOn( virtualTranslatorName() )) \
{ \
printIncomingOutgoingInteractions( in, out); \
}\
myBroker->hlaConnection()->sendStamped(out); \
}
#define DT_DEFINE_RECEIVE_HLA_INTERACTION (   DtTranslatorClass,
  DtInteractionType 
)
Value:
void DtTranslatorClass::receiveHlaInteraction(DtInteractionType *inter, void *usr) \
{ \
DtTranslatorClass *trans = (DtTranslatorClass*)usr; \
trans->createPortalInteraction(*inter); \
}

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)