VR-Link API Documentation for DIS
dirRtiAmb13.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #if DtHLA
11 #if !DtHLA_1516
12 
13 #include <vlutil/vlMachineTypes.h>
14 
15 #ifndef DtDirectRtiAmbassador_H_
16 #define DtDirectRtiAmbassador_H_
17 
18 #include "vrlRtiAmb13.h"
19 #include <RTI.hh>
20 #include <vector>
21 
26 class DT_DLL_VL DtDirectRtiAmbassador : public DtVrlRtiAmbassador
27 {
28 public:
29 
31  DtDirectRtiAmbassador();
32 
34  virtual ~DtDirectRtiAmbassador();
35 
36 private:
37 
39  DtDirectRtiAmbassador(const DtDirectRtiAmbassador& orig);
40 
42  DtDirectRtiAmbassador& operator=(const DtDirectRtiAmbassador& orig);
43 
44 public:
45 
46 
48  virtual RTI::RTIambassador* rtiAmb();
49 
51  virtual void createFederationExecution (
52  const char *executionName,
53  const char *FED);
54 
56  virtual void destroyFederationExecution (
57  const char *executionName);
58 
60  virtual RTI::FederateHandle joinFederationExecution (
61  const char* yourName,
62  const char* executionName,
63  RTI::FederateAmbassadorPtr federateAmbassadorReference);
64 
66  virtual void resignFederationExecution(
67  RTI::ResignAction theAction);
68 
70  virtual void registerFederationSynchronizationPoint(
71  const char* label,
72  const char* theTag);
73 
75  virtual void registerFederationSynchronizationPoint(
76  const char* label,
77  const char* theTag,
78  const RTI::FederateHandleSet& syncSet);
79 
81  virtual void synchronizationPointAchieved(
82  const char* label);
83 
85  virtual void requestFederationSave (
86  const char* label,
87  const RTI::FedTime& theTime);
88 
90  virtual void requestFederationSave (
91  const char *label);
92 
94  virtual void federateSaveBegun();
95 
97  virtual void federateSaveComplete();
98 
100  virtual void federateSaveNotComplete();
101 
103  virtual void requestFederationRestore(const char* label);
104 
106  virtual void federateRestoreComplete();
107 
109  virtual void federateRestoreNotComplete();
110 
112  virtual void publishObjectClass(
113  RTI::ObjectClassHandle theClass,
114  const RTI::AttributeHandleSet& attributeList);
115 
117  virtual void unpublishObjectClass(
118  RTI::ObjectClassHandle theClass);
119 
121  virtual void publishInteractionClass(
122  RTI::InteractionClassHandle theInteraction);
123 
125  virtual void unpublishInteractionClass(
126  RTI::InteractionClassHandle theInteraction);
127 
129  virtual void subscribeObjectClassAttributes(
130  RTI::ObjectClassHandle theClass,
131  const RTI::AttributeHandleSet& attributeList,
132  RTI::Boolean active = RTI::RTI_TRUE);
133 
135  virtual void unsubscribeObjectClass(
136  RTI::ObjectClassHandle theClass);
137 
139  virtual void subscribeInteractionClass(
140  RTI::InteractionClassHandle theClass,
141  RTI::Boolean active = RTI::RTI_TRUE);
142 
144  virtual void unsubscribeInteractionClass(
145  RTI::InteractionClassHandle theClass);
146 
148  virtual RTI::ObjectHandle registerObjectInstance(
149  RTI::ObjectClassHandle theClass, const char* theObject);
150 
152  virtual RTI::ObjectHandle registerObjectInstance(
153  RTI::ObjectClassHandle theClass);
154 
156  virtual RTI::EventRetractionHandle updateAttributeValues(
157  RTI::ObjectHandle theObject,
158  const RTI::AttributeHandleValuePairSet& theAttributes,
159  const RTI::FedTime& theTime,
160  const char* theTag);
161 
163  virtual void updateAttributeValues(
164  RTI::ObjectHandle theObject,
165  const RTI::AttributeHandleValuePairSet& theAttributes,
166  const char* theTag);
167 
169  virtual RTI::EventRetractionHandle sendInteraction(
170  RTI::InteractionClassHandle theInteraction,
171  const RTI::ParameterHandleValuePairSet& theParameters,
172  const RTI::FedTime& theTime,
173  const char* theTag);
174 
176  virtual void sendInteraction(
177  RTI::InteractionClassHandle theInteraction,
178  const RTI::ParameterHandleValuePairSet& theParameters,
179  const char* theTag);
180 
182  virtual RTI::EventRetractionHandle deleteObjectInstance(
183  RTI::ObjectHandle theObject,
184  const RTI::FedTime& theTime,
185  const char* theTag);
186 
188  virtual void deleteObjectInstance(
189  RTI::ObjectHandle theObject,
190  const char* theTag);
191 
193  virtual void localDeleteObjectInstance(
194  RTI::ObjectHandle theObject);
195 
197  virtual void changeAttributeTransportationType (
198  RTI::ObjectHandle theObject,
199  const RTI::AttributeHandleSet& theAttributes,
200  RTI::TransportationHandle theType);
201 
203  virtual void changeInteractionTransportationType (
204  RTI::InteractionClassHandle theClass,
205  RTI::TransportationHandle theType);
206 
208  virtual void requestObjectAttributeValueUpdate (
209  RTI::ObjectHandle theObject,
210  const RTI::AttributeHandleSet& theAttributes);
211 
213  virtual void requestClassAttributeValueUpdate (
214  RTI::ObjectClassHandle theClass,
215  const RTI::AttributeHandleSet& theAttributes);
216 
218  virtual void unconditionalAttributeOwnershipDivestiture(
219  RTI::ObjectHandle theObject,
220  const RTI::AttributeHandleSet& theAttributes);
221 
223  virtual void negotiatedAttributeOwnershipDivestiture(
224  RTI::ObjectHandle theObject,
225  const RTI::AttributeHandleSet& theAttributes,
226  const char* theTag);
227 
229  virtual void attributeOwnershipAcquisition(
230  RTI::ObjectHandle theObject,
231  const RTI::AttributeHandleSet& desiredAttributes,
232  const char* theTag);
233 
235  virtual void attributeOwnershipAcquisitionIfAvailable(
236  RTI::ObjectHandle theObject,
237  const RTI::AttributeHandleSet& desiredAttributes);
238 
240  virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
241  RTI::ObjectHandle theObject,
242  const RTI::AttributeHandleSet& theAttributes);
243 
245  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
246  RTI::ObjectHandle theObject,
247  const RTI::AttributeHandleSet& theAttributes);
248 
250  virtual void cancelAttributeOwnershipAcquisition(
251  RTI::ObjectHandle theObject,
252  const RTI::AttributeHandleSet& theAttributes);
253 
255  virtual void queryAttributeOwnership(
256  RTI::ObjectHandle theObject,
257  RTI::AttributeHandle theAttribute);
258 
260  virtual RTI::Boolean isAttributeOwnedByFederate(
261  RTI::ObjectHandle theObject,
262  RTI::AttributeHandle theAttribute);
263 
265  virtual void enableTimeRegulation (
266  const RTI::FedTime& theFederateTime,
267  const RTI::FedTime& theLookahead);
268 
270  virtual void disableTimeRegulation();
271 
273  virtual void enableTimeConstrained();
274 
276  virtual void disableTimeConstrained();
277 
279  virtual void timeAdvanceRequest(
280  const RTI::FedTime& theTime);
281 
283  virtual void timeAdvanceRequestAvailable (
284  const RTI::FedTime& theTime);
285 
287  virtual void nextEventRequest(
288  const RTI::FedTime& theTime);
289 
291  virtual void nextEventRequestAvailable (
292  const RTI::FedTime& theTime);
293 
295  virtual void flushQueueRequest (
296  const RTI::FedTime& theTime);
297 
299  virtual void enableAsynchronousDelivery();
300 
302  virtual void disableAsynchronousDelivery();
303 
305  virtual void queryLBTS(RTI::FedTime& theTime);
306 
308  virtual void queryFederateTime(RTI::FedTime& theTime);
309 
311  virtual void queryMinNextEventTime (
312  RTI::FedTime& theTime);
313 
315  virtual void modifyLookahead (
316  const RTI::FedTime& theLookahead);
317 
319  virtual void queryLookahead (
320  RTI::FedTime& theTime);
321 
323  virtual void retract(
324  RTI::EventRetractionHandle theHandle);
325 
327  virtual void changeAttributeOrderType(
328  RTI::ObjectHandle theObject,
329  const RTI::AttributeHandleSet& theAttributes,
330  RTI::OrderingHandle theType);
331 
333  virtual void changeInteractionOrderType(
334  RTI::InteractionClassHandle theClass,
335  RTI::OrderingHandle theType);
336 
338  virtual RTI::Region* createRegion (
339  RTI::SpaceHandle theSpace,
340  RTI::ULong numberOfExtents);
341 
343  virtual void notifyAboutRegionModification (
344  RTI::Region &theRegion);
345 
347  virtual void deleteRegion(RTI::Region *theRegion);
348 
350  virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
351  RTI::ObjectClassHandle theClass,
352  const char* theObject,
353  RTI::AttributeHandle theAttributes[],
354  RTI::Region* theRegions[],
355  RTI::ULong theNumberOfHandles);
356 
358  virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
359  RTI::ObjectClassHandle theClass,
360  RTI::AttributeHandle theAttributes[],
361  RTI::Region* theRegions[],
362  RTI::ULong theNumberOfHandles);
363 
365  virtual void associateRegionForUpdates (
366  RTI::Region& theRegion,
367  RTI::ObjectHandle theObject,
368  const RTI::AttributeHandleSet& theAttributes);
369 
371  virtual void unassociateRegionForUpdates(
372  RTI::Region& theRegion,
373  RTI::ObjectHandle theObject);
374 
376  virtual void subscribeObjectClassAttributesWithRegion(
377  RTI::ObjectClassHandle theClass,
378  RTI::Region& theRegion,
379  const RTI::AttributeHandleSet &attributeList,
380  RTI::Boolean active = RTI::RTI_TRUE);
381 
383  virtual void unsubscribeObjectClassWithRegion(
384  RTI::ObjectClassHandle theClass,
385  RTI::Region& theRegion);
386 
388  virtual void subscribeInteractionClassWithRegion (
389  RTI::InteractionClassHandle theClass,
390  RTI::Region& theRegion,
391  RTI::Boolean active = RTI::RTI_TRUE);
392 
394  virtual void unsubscribeInteractionClassWithRegion (
395  RTI::InteractionClassHandle theClass,
396  RTI::Region& theRegion);
397 
399  virtual RTI::EventRetractionHandle sendInteractionWithRegion(
400  RTI::InteractionClassHandle theInteraction,
401  const RTI::ParameterHandleValuePairSet &theParameters,
402  const RTI::FedTime& theTime,
403  const char* theTag,
404  const RTI::Region& theRegion);
405 
407  virtual void sendInteractionWithRegion(
408  RTI::InteractionClassHandle theInteraction,
409  const RTI::ParameterHandleValuePairSet &theParameters,
410  const char* theTag,
411  const RTI::Region& theRegion);
412 
414  virtual void requestClassAttributeValueUpdateWithRegion(
415  RTI::ObjectClassHandle theClass,
416  const RTI::AttributeHandleSet& theAttributes,
417  const RTI::Region& theRegion);
418 
420  virtual RTI::ObjectClassHandle getObjectClassHandle (
421  const char* theName);
422 
424  virtual char* getObjectClassName (
425  RTI::ObjectClassHandle theHandle);
426 
428  virtual RTI::AttributeHandle getAttributeHandle (
429  const char* theName,
430  RTI::ObjectClassHandle whichClass);
431 
433  virtual char* getAttributeName (
434  RTI::AttributeHandle theHandle,
435  RTI::ObjectClassHandle whichClass);
436 
438  virtual RTI::InteractionClassHandle getInteractionClassHandle (
439  const char* theName);
440 
442  virtual char* getInteractionClassName (
443  RTI::InteractionClassHandle theHandle);
444 
446  virtual RTI::ParameterHandle getParameterHandle (
447  const char* theName,
448  RTI::InteractionClassHandle whichClass);
449 
451  virtual char* getParameterName (
452  RTI::ParameterHandle theHandle,
453  RTI::InteractionClassHandle whichClass);
454 
456  virtual RTI::ObjectHandle getObjectInstanceHandle(
457  const char* theName);
458 
460  virtual char* getObjectInstanceName(
461  RTI::ObjectHandle theHandle);
462 
464  virtual RTI::SpaceHandle getRoutingSpaceHandle (
465  const char* theName);
466 
468  virtual const char* getRoutingSpaceName (
469  const RTI::SpaceHandle theHandle);
470 
472  virtual RTI::DimensionHandle getDimensionHandle(
473  const char* theName,
474  RTI::SpaceHandle whichSpace);
475 
477  virtual char* getDimensionName(
478  RTI::DimensionHandle theHandle,
479  RTI::SpaceHandle whichSpace);
480 
482  virtual RTI::SpaceHandle
483  getAttributeRoutingSpaceHandle(
484  RTI::AttributeHandle theHandle,
485  RTI::ObjectClassHandle whichClass);
486 
488  virtual RTI::ObjectClassHandle getObjectClass (
489  RTI::ObjectHandle theObject);
490 
492  virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
493  RTI::InteractionClassHandle theHandle);
494 
496  virtual RTI::TransportationHandle getTransportationHandle(
497  const char *theName);
498 
500  virtual char* getTransportationName(
501  RTI::TransportationHandle theHandle);
502 
504  virtual RTI::OrderingHandle getOrderingHandle(
505  const char *theName);
506 
508  virtual char* getOrderingName(
509  RTI::OrderingHandle theHandle);
510 
512  virtual void enableClassRelevanceAdvisorySwitch();
513 
515  virtual void disableClassRelevanceAdvisorySwitch();
516 
518  virtual void enableAttributeRelevanceAdvisorySwitch();
519 
521  virtual void disableAttributeRelevanceAdvisorySwitch();
522 
524  virtual void enableAttributeScopeAdvisorySwitch();
525 
527  virtual void disableAttributeScopeAdvisorySwitch();
528 
530  virtual void enableInteractionRelevanceAdvisorySwitch();
531 
533  virtual void disableInteractionRelevanceAdvisorySwitch();
534 
536  virtual RTI::Boolean tick();
537 
539  virtual RTI::Boolean tick(
540  RTI::TickTime minimum,
541  RTI::TickTime maximum);
542 
544  virtual RTI::RegionToken getRegionToken(RTI::Region*);
545 
547  virtual RTI::Region* getRegion(RTI::RegionToken);
548 
549 public:
550 
552  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args);
553 
554 protected:
555 
556  RTI::RTIambassador* myRtiAmb;
557  RTI::FederateAmbassadorPtr myFedAmb;
558 };
559 
560 #endif
561 #endif
562 #endif
563 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)