VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ddmFedAmb1516_4.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #if DtHLA_4
9 
11 
12 class DtDdmFederateAmbassador : public DtVrlFederateAmbassador
13 {
14 public:
15  struct DtRegionInfo
16  {
17  unsigned long lowerXBound;
18  unsigned long lowerYBound;
19  unsigned long upperXBound;
20  unsigned long upperYBound;
21  bool infoSet;
22  };
23 
24  /*@throws FederateInternalError */
25  DtDdmFederateAmbassador();
26 
27  virtual ~DtDdmFederateAmbassador() noexcept;
28 
29  /*@throws FederateInternalError */
30  virtual void discoverObjectInstance(
31  RTI::ObjectInstanceHandle const& objectInstance,
32  RTI::ObjectClassHandle const& objectClass,
33  std::wstring const& objectInstanceName,
34  RTI::FederateHandle const& producingFederate);
35 
36  /*@throws FederateInternalError */
37  virtual void reflectAttributeValues(
38  RTI::ObjectInstanceHandle const& objectInstance,
39  RTI::AttributeHandleValueMap const& attributeValues,
40  RTI::VariableLengthData const& userSuppliedTag,
41  RTI::TransportationTypeHandle const& transportationType,
42  RTI::FederateHandle const& producingFederate,
43  RTI::RegionHandleSet const* optionalSentRegions);
44 
45  /*@throws FederateInternalError */
46  virtual void removeObjectInstance(
47  RTI::ObjectInstanceHandle const& objectInstance,
48  RTI::VariableLengthData const& userSuppliedTag,
49  RTI::FederateHandle const& producingFederate,
50  RTI::LogicalTime const& time,
51  RTI::OrderType sentOrderType,
52  RTI::OrderType receivedOrderType,
53  RTI::MessageRetractionHandle const* optionalRetraction);
54 
55  /*@throws FederateInternalError */
56  virtual void receiveInteraction(
57  RTI::InteractionClassHandle const& interactionClass,
58  RTI::ParameterHandleValueMap const& parameterValues,
59  RTI::VariableLengthData const& userSuppliedTag,
60  RTI::TransportationTypeHandle const& transportationType,
61  RTI::FederateHandle const& producingFederate,
62  RTI::RegionHandleSet const* optionalSentRegions,
63  RTI::LogicalTime const& time,
64  RTI::OrderType sentOrderType,
65  RTI::OrderType receivedOrderType,
66  RTI::MessageRetractionHandle const* optionalRetraction);
67 
68 
69  static DtVrlFederateAmbassador* create();
70 
71  virtual void setXHandle(RTI::DimensionHandle handle);
72  virtual void setYHandle(RTI::DimensionHandle handle);
73 
74  virtual DtRegionInfo regionInfoForObject(RTI::ObjectInstanceHandle handle) const;
75  virtual DtRegionInfo lastInteractionRegion() const;
76 
77  virtual void clearLastInteractionRegion();
78 
79 protected:
80 
81 protected:
82  std::map<RTI::ObjectInstanceHandle, DtRegionInfo> myHandleToRegionMap;
83  DtRegionInfo myLastInteractionRegion;
84 
85  RTI::DimensionHandle myXHandle;
86  RTI::DimensionHandle myYHandle;
87 
88  DtRegionInfo myEmptyRegionInfo;
89 };
90 
91 #endif
92 
This file declares the class DtVrlFederateAmbassador for HLA 4.

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)