![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: ddmFedAmb1516e.h,v $ $Revision: 1.1.2.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 #pragma once 00009 00010 #if DtHLA 00011 #if DtHLA_1516 00012 #if DtHLA_1516_EVOLVED 00013 00014 00015 #include <vl/vrlFedAmb1516e.h> 00016 00017 class DtDdmFederateAmbassador : public DtVrlFederateAmbassador 00018 { 00019 public: 00020 struct DtRegionInfo 00021 { 00022 unsigned long lowerXBound; 00023 unsigned long lowerYBound; 00024 unsigned long upperXBound; 00025 unsigned long upperYBound; 00026 bool infoSet; 00027 }; 00028 00029 DtDdmFederateAmbassador() 00030 throw (RTI::FederateInternalError); 00031 00032 virtual ~DtDdmFederateAmbassador() throw(); 00033 00034 virtual void discoverObjectInstance( 00035 RTI::ObjectInstanceHandle theObject, 00036 RTI::ObjectClassHandle theObjectClass, 00037 std::wstring const & theObjectInstanceName) 00038 throw (RTI::FederateInternalError); 00039 00040 virtual void reflectAttributeValues( 00041 RTI::ObjectInstanceHandle theObject, 00042 RTI::AttributeHandleValueMap const & theAttributeValues, 00043 RTI::VariableLengthData const & aTag, 00044 RTI::OrderType sentOrder, 00045 RTI::TransportationType theType, 00046 RTI::SupplementalReflectInfo theReflectInfo) 00047 throw (RTI::FederateInternalError); 00048 00049 virtual void removeObjectInstance( 00050 RTI::ObjectInstanceHandle theObject, 00051 RTI::VariableLengthData const & aTag, 00052 RTI::OrderType sentOrder, 00053 RTI::SupplementalRemoveInfo theRemoveInfo) 00054 throw (RTI::FederateInternalError); 00055 00056 virtual void receiveInteraction( 00057 RTI::InteractionClassHandle theInteraction, 00058 RTI::ParameterHandleValueMap const & theParameterValues, 00059 RTI::VariableLengthData const & aTag, 00060 RTI::OrderType sentOrder, 00061 RTI::TransportationType theType, 00062 RTI::SupplementalReceiveInfo theReceiveInfo) 00063 throw (RTI::FederateInternalError); 00064 00065 00066 static DtVrlFederateAmbassador* create(); 00067 00068 virtual void setXHandle(RTI::DimensionHandle handle); 00069 virtual void setYHandle(RTI::DimensionHandle handle); 00070 00071 virtual DtRegionInfo regionInfoForObject(RTI::ObjectInstanceHandle handle) const; 00072 virtual DtRegionInfo lastInteractionRegion() const; 00073 00074 virtual void clearLastInteractionRegion(); 00075 00076 protected: 00077 00078 protected: 00079 std::map<RTI::ObjectInstanceHandle, DtRegionInfo> myHandleToRegionMap; 00080 DtRegionInfo myLastInteractionRegion; 00081 00082 RTI::DimensionHandle myXHandle; 00083 RTI::DimensionHandle myYHandle; 00084 00085 DtRegionInfo myEmptyRegionInfo; 00086 }; 00087 00088 #endif 00089 #endif 00090 #endif 00091