VR-Link API Documentation for DIS
dirRtiAmb13.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00009 
00010 #if DtHLA 
00011 #if !DtHLA_1516
00012 
00013 #include <vlutil/vlMachineTypes.h>
00014 
00015 #ifndef DtDirectRtiAmbassador_H_
00016 #define DtDirectRtiAmbassador_H_
00017 
00018 #include "vrlRtiAmb13.h"
00019 #include <RTI.hh>
00020 #include <vector>
00021 
00026 class DT_DLL_VL DtDirectRtiAmbassador : public DtVrlRtiAmbassador
00027 {
00028 public:
00029 
00031    DtDirectRtiAmbassador();
00032 
00034    virtual ~DtDirectRtiAmbassador();
00035 
00036 private:
00037 
00039    DtDirectRtiAmbassador(const DtDirectRtiAmbassador& orig);
00040 
00042    DtDirectRtiAmbassador& operator=(const DtDirectRtiAmbassador& orig);
00043 
00044 public:
00045 
00046 
00048    virtual RTI::RTIambassador* rtiAmb();
00049 
00051    virtual void createFederationExecution (
00052       const char *executionName,
00053       const char *FED);
00054 
00056    virtual void destroyFederationExecution (
00057       const char *executionName);
00058 
00060    virtual RTI::FederateHandle joinFederationExecution (
00061       const char* yourName, 
00062       const char* executionName, 
00063       RTI::FederateAmbassadorPtr federateAmbassadorReference);
00064 
00066    virtual void resignFederationExecution(
00067       RTI::ResignAction theAction);
00068 
00070    virtual void registerFederationSynchronizationPoint(
00071       const char* label,
00072       const char* theTag);
00073 
00075    virtual void registerFederationSynchronizationPoint(       
00076       const char* label,
00077       const char* theTag,
00078       const RTI::FederateHandleSet& syncSet);
00079 
00081    virtual void synchronizationPointAchieved(
00082        const char* label);
00083 
00085    virtual void requestFederationSave (    
00086       const char* label,
00087       const RTI::FedTime& theTime);
00088 
00090    virtual void requestFederationSave ( 
00091       const char *label);
00092 
00094    virtual void federateSaveBegun();
00095 
00097    virtual void federateSaveComplete();
00098 
00100    virtual void federateSaveNotComplete();
00101 
00103    virtual void requestFederationRestore(const char* label);
00104 
00106    virtual void federateRestoreComplete();
00107 
00109    virtual void federateRestoreNotComplete();
00110 
00112    virtual void publishObjectClass(
00113       RTI::ObjectClassHandle theClass, 
00114       const RTI::AttributeHandleSet& attributeList);
00115 
00117    virtual void unpublishObjectClass(
00118       RTI::ObjectClassHandle theClass);
00119 
00121    virtual void publishInteractionClass(
00122       RTI::InteractionClassHandle theInteraction);
00123 
00125    virtual void unpublishInteractionClass(
00126       RTI::InteractionClassHandle theInteraction);
00127 
00129    virtual void subscribeObjectClassAttributes(
00130       RTI::ObjectClassHandle theClass, 
00131       const RTI::AttributeHandleSet& attributeList,
00132       RTI::Boolean active = RTI::RTI_TRUE);
00133 
00135    virtual void unsubscribeObjectClass(
00136       RTI::ObjectClassHandle theClass);
00137 
00139    virtual void subscribeInteractionClass(
00140     RTI::InteractionClassHandle theClass,
00141     RTI::Boolean active = RTI::RTI_TRUE);
00142 
00144    virtual void unsubscribeInteractionClass(
00145       RTI::InteractionClassHandle theClass);
00146 
00148    virtual RTI::ObjectHandle registerObjectInstance(
00149       RTI::ObjectClassHandle theClass, const char* theObject);
00150 
00152    virtual RTI::ObjectHandle registerObjectInstance(
00153       RTI::ObjectClassHandle theClass);
00154 
00156    virtual RTI::EventRetractionHandle updateAttributeValues(
00157       RTI::ObjectHandle theObject, 
00158       const RTI::AttributeHandleValuePairSet& theAttributes, 
00159       const RTI::FedTime& theTime,
00160       const char* theTag);
00161 
00163    virtual void updateAttributeValues(
00164       RTI::ObjectHandle theObject, 
00165       const RTI::AttributeHandleValuePairSet& theAttributes, 
00166       const char* theTag);
00167 
00169    virtual RTI::EventRetractionHandle sendInteraction(
00170       RTI::InteractionClassHandle theInteraction,
00171       const RTI::ParameterHandleValuePairSet& theParameters, 
00172       const RTI::FedTime& theTime,
00173       const char* theTag);
00174 
00176    virtual void sendInteraction(
00177       RTI::InteractionClassHandle theInteraction,
00178       const RTI::ParameterHandleValuePairSet& theParameters, 
00179       const char* theTag);
00180 
00182    virtual RTI::EventRetractionHandle deleteObjectInstance(
00183       RTI::ObjectHandle theObject, 
00184       const RTI::FedTime& theTime, 
00185       const char* theTag);
00186 
00188    virtual void deleteObjectInstance(
00189       RTI::ObjectHandle theObject, 
00190       const char* theTag);
00191 
00193    virtual void localDeleteObjectInstance(
00194       RTI::ObjectHandle theObject);
00195 
00197    virtual void changeAttributeTransportationType (
00198       RTI::ObjectHandle theObject,
00199       const RTI::AttributeHandleSet& theAttributes,
00200       RTI::TransportationHandle theType);
00201 
00203    virtual void changeInteractionTransportationType (
00204       RTI::InteractionClassHandle theClass, 
00205       RTI::TransportationHandle theType);
00206 
00208    virtual void requestObjectAttributeValueUpdate (
00209       RTI::ObjectHandle theObject, 
00210       const RTI::AttributeHandleSet& theAttributes);
00211 
00213    virtual void requestClassAttributeValueUpdate (
00214       RTI::ObjectClassHandle theClass, 
00215       const RTI::AttributeHandleSet& theAttributes);
00216 
00218    virtual void unconditionalAttributeOwnershipDivestiture(
00219       RTI::ObjectHandle theObject, 
00220       const RTI::AttributeHandleSet& theAttributes);   
00221 
00223    virtual void negotiatedAttributeOwnershipDivestiture(
00224       RTI::ObjectHandle theObject, 
00225       const RTI::AttributeHandleSet& theAttributes,
00226       const char* theTag);
00227 
00229    virtual void attributeOwnershipAcquisition(
00230       RTI::ObjectHandle theObject, 
00231       const RTI::AttributeHandleSet& desiredAttributes,
00232       const char* theTag);
00233 
00235    virtual void attributeOwnershipAcquisitionIfAvailable(
00236       RTI::ObjectHandle theObject,
00237       const RTI::AttributeHandleSet& desiredAttributes);
00238 
00240    virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
00241       RTI::ObjectHandle theObject,
00242       const RTI::AttributeHandleSet& theAttributes);
00243 
00245    virtual void cancelNegotiatedAttributeOwnershipDivestiture(
00246       RTI::ObjectHandle theObject,
00247       const RTI::AttributeHandleSet& theAttributes);
00248 
00250    virtual void cancelAttributeOwnershipAcquisition(
00251       RTI::ObjectHandle theObject,
00252       const RTI::AttributeHandleSet& theAttributes);
00253 
00255    virtual void queryAttributeOwnership(
00256       RTI::ObjectHandle theObject, 
00257       RTI::AttributeHandle theAttribute);
00258 
00260    virtual RTI::Boolean isAttributeOwnedByFederate(
00261       RTI::ObjectHandle theObject, 
00262       RTI::AttributeHandle theAttribute);
00263 
00265    virtual void enableTimeRegulation (
00266       const RTI::FedTime& theFederateTime,
00267       const RTI::FedTime& theLookahead);
00268 
00270    virtual void disableTimeRegulation();
00271 
00273    virtual void enableTimeConstrained();
00274 
00276    virtual void disableTimeConstrained();
00277 
00279    virtual void timeAdvanceRequest(
00280       const RTI::FedTime& theTime);
00281 
00283    virtual void timeAdvanceRequestAvailable (
00284       const RTI::FedTime& theTime);
00285 
00287    virtual void nextEventRequest(
00288      const RTI::FedTime& theTime);
00289 
00291    virtual void nextEventRequestAvailable (
00292       const RTI::FedTime& theTime);
00293 
00295    virtual void flushQueueRequest (
00296       const RTI::FedTime& theTime);
00297 
00299    virtual void enableAsynchronousDelivery();
00300 
00302    virtual void disableAsynchronousDelivery();
00303 
00305    virtual void queryLBTS(RTI::FedTime& theTime);
00306 
00308    virtual void queryFederateTime(RTI::FedTime& theTime);
00309 
00311    virtual void queryMinNextEventTime (
00312       RTI::FedTime& theTime);
00313 
00315    virtual void modifyLookahead (
00316       const RTI::FedTime& theLookahead);
00317 
00319    virtual void queryLookahead (
00320       RTI::FedTime& theTime);
00321 
00323    virtual void retract(
00324      RTI::EventRetractionHandle theHandle);
00325 
00327    virtual void changeAttributeOrderType(
00328      RTI::ObjectHandle theObject,
00329      const RTI::AttributeHandleSet& theAttributes,
00330      RTI::OrderingHandle theType);
00331 
00333    virtual void changeInteractionOrderType(
00334       RTI::InteractionClassHandle theClass,
00335       RTI::OrderingHandle theType);
00336 
00338    virtual RTI::Region* createRegion (
00339       RTI::SpaceHandle theSpace,
00340       RTI::ULong numberOfExtents);
00341 
00343    virtual void notifyAboutRegionModification (
00344      RTI::Region &theRegion);
00345 
00347    virtual void deleteRegion(RTI::Region *theRegion);
00348 
00350    virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
00351       RTI::ObjectClassHandle theClass,
00352       const char* theObject,
00353       RTI::AttributeHandle theAttributes[],
00354       RTI::Region* theRegions[],
00355       RTI::ULong theNumberOfHandles);
00356 
00358    virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
00359       RTI::ObjectClassHandle theClass,
00360       RTI::AttributeHandle theAttributes[],
00361       RTI::Region* theRegions[],
00362       RTI::ULong theNumberOfHandles);
00363 
00365    virtual void associateRegionForUpdates (
00366       RTI::Region& theRegion,
00367       RTI::ObjectHandle theObject,
00368       const RTI::AttributeHandleSet& theAttributes);
00369 
00371    virtual void unassociateRegionForUpdates(
00372       RTI::Region& theRegion,
00373       RTI::ObjectHandle theObject);
00374 
00376    virtual void subscribeObjectClassAttributesWithRegion(
00377       RTI::ObjectClassHandle theClass,
00378       RTI::Region& theRegion,
00379       const RTI::AttributeHandleSet &attributeList,
00380       RTI::Boolean active = RTI::RTI_TRUE);
00381 
00383    virtual void unsubscribeObjectClassWithRegion(
00384       RTI::ObjectClassHandle theClass,
00385       RTI::Region& theRegion);
00386 
00388    virtual void subscribeInteractionClassWithRegion (
00389       RTI::InteractionClassHandle theClass,
00390       RTI::Region& theRegion,
00391       RTI::Boolean active = RTI::RTI_TRUE);
00392 
00394    virtual void unsubscribeInteractionClassWithRegion (
00395       RTI::InteractionClassHandle theClass,
00396       RTI::Region& theRegion);
00397   
00399    virtual RTI::EventRetractionHandle sendInteractionWithRegion(
00400       RTI::InteractionClassHandle theInteraction,
00401       const RTI::ParameterHandleValuePairSet &theParameters,
00402       const RTI::FedTime& theTime,
00403       const char* theTag,
00404       const RTI::Region& theRegion);
00405 
00407    virtual void sendInteractionWithRegion(
00408       RTI::InteractionClassHandle theInteraction,
00409       const RTI::ParameterHandleValuePairSet &theParameters,
00410       const char* theTag,
00411       const RTI::Region& theRegion);
00412 
00414    virtual void requestClassAttributeValueUpdateWithRegion(
00415       RTI::ObjectClassHandle theClass,
00416       const RTI::AttributeHandleSet& theAttributes,
00417       const RTI::Region& theRegion);
00418 
00420    virtual RTI::ObjectClassHandle getObjectClassHandle (
00421       const char* theName);
00422 
00424    virtual char* getObjectClassName (
00425       RTI::ObjectClassHandle theHandle);
00426 
00428    virtual RTI::AttributeHandle getAttributeHandle (
00429       const char* theName, 
00430       RTI::ObjectClassHandle whichClass); 
00431 
00433    virtual char* getAttributeName (
00434       RTI::AttributeHandle theHandle, 
00435       RTI::ObjectClassHandle whichClass);
00436 
00438    virtual RTI::InteractionClassHandle getInteractionClassHandle (
00439       const char* theName);
00440 
00442    virtual char* getInteractionClassName (
00443       RTI::InteractionClassHandle theHandle);
00444 
00446    virtual RTI::ParameterHandle getParameterHandle (
00447       const char* theName, 
00448       RTI::InteractionClassHandle whichClass);
00449 
00451    virtual char* getParameterName (
00452       RTI::ParameterHandle theHandle, 
00453       RTI::InteractionClassHandle whichClass);
00454 
00456    virtual RTI::ObjectHandle getObjectInstanceHandle(
00457       const char* theName);
00458 
00460    virtual char* getObjectInstanceName(
00461       RTI::ObjectHandle theHandle);
00462 
00464    virtual RTI::SpaceHandle getRoutingSpaceHandle (
00465       const char* theName);
00466 
00468    virtual const char* getRoutingSpaceName (
00469       const RTI::SpaceHandle theHandle);
00470 
00472    virtual RTI::DimensionHandle getDimensionHandle(
00473       const char* theName,
00474       RTI::SpaceHandle whichSpace);
00475 
00477    virtual char* getDimensionName(
00478       RTI::DimensionHandle theHandle,
00479       RTI::SpaceHandle whichSpace);
00480 
00482    virtual RTI::SpaceHandle
00483       getAttributeRoutingSpaceHandle(
00484          RTI::AttributeHandle theHandle,
00485          RTI::ObjectClassHandle whichClass);
00486 
00488    virtual RTI::ObjectClassHandle getObjectClass (
00489       RTI::ObjectHandle theObject);
00490 
00492    virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
00493       RTI::InteractionClassHandle theHandle);
00494 
00496    virtual RTI::TransportationHandle getTransportationHandle(
00497       const char *theName);
00498 
00500    virtual char* getTransportationName(
00501       RTI::TransportationHandle theHandle);
00502 
00504    virtual RTI::OrderingHandle getOrderingHandle(
00505       const char *theName);
00506 
00508    virtual char* getOrderingName(
00509       RTI::OrderingHandle theHandle);
00510 
00512    virtual void enableClassRelevanceAdvisorySwitch();
00513 
00515    virtual void disableClassRelevanceAdvisorySwitch();
00516 
00518    virtual void enableAttributeRelevanceAdvisorySwitch();
00519 
00521    virtual void disableAttributeRelevanceAdvisorySwitch();
00522 
00524    virtual void enableAttributeScopeAdvisorySwitch();
00525 
00527    virtual void disableAttributeScopeAdvisorySwitch();
00528 
00530    virtual void enableInteractionRelevanceAdvisorySwitch();
00531 
00533    virtual void disableInteractionRelevanceAdvisorySwitch();
00534 
00536    virtual RTI::Boolean tick();
00537 
00539    virtual RTI::Boolean tick(
00540       RTI::TickTime minimum, 
00541       RTI::TickTime maximum);
00542 
00544    virtual RTI::RegionToken getRegionToken(RTI::Region*);
00545 
00547    virtual RTI::Region* getRegion(RTI::RegionToken);
00548 
00549 public:
00550 
00552    static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args);
00553 
00554 protected:
00555 
00556    RTI::RTIambassador* myRtiAmb;
00557    RTI::FederateAmbassadorPtr myFedAmb;
00558 };
00559 
00560 #endif
00561 #endif
00562 #endif
00563 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)