open-dis-cpp
IsPartOfPdu.h
1 #pragma once
2 
3 #include <dis6/EntityID.h>
4 #include <dis6/EntityID.h>
5 #include <dis6/Relationship.h>
6 #include <dis6/Vector3Float.h>
7 #include <dis6/NamedLocation.h>
8 #include <dis6/EntityType.h>
9 #include <dis6/EntityManagementFamilyPdu.h>
10 #include <dis6/utils/DataStream.h>
11 #include <dis6/opendis6_export.h>
12 
13 
14 namespace DIS
15 {
16 // Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU. COMPLETE
17 
18 // Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.
19 //
20 // @author DMcG, jkg
21 
22 class OPENDIS6_EXPORT IsPartOfPdu : public EntityManagementFamilyPdu
23 {
24 protected:
27 
30 
33 
36 
39 
42 
43 
44  public:
45  IsPartOfPdu();
46  virtual ~IsPartOfPdu();
47 
48  virtual void marshal(DataStream& dataStream) const;
49  virtual void unmarshal(DataStream& dataStream);
50 
51  EntityID& getOrginatingEntityID();
52  const EntityID& getOrginatingEntityID() const;
53  void setOrginatingEntityID(const EntityID &pX);
54 
55  EntityID& getReceivingEntityID();
56  const EntityID& getReceivingEntityID() const;
57  void setReceivingEntityID(const EntityID &pX);
58 
59  Relationship& getRelationship();
60  const Relationship& getRelationship() const;
61  void setRelationship(const Relationship &pX);
62 
63  Vector3Float& getPartLocation();
64  const Vector3Float& getPartLocation() const;
65  void setPartLocation(const Vector3Float &pX);
66 
67  NamedLocation& getNamedLocationID();
68  const NamedLocation& getNamedLocationID() const;
69  void setNamedLocationID(const NamedLocation &pX);
70 
71  EntityType& getPartEntityType();
72  const EntityType& getPartEntityType() const;
73  void setPartEntityType(const EntityType &pX);
74 
75 
76 virtual int getMarshalledSize() const;
77 
78  bool operator ==(const IsPartOfPdu& rhs) const;
79 };
80 }
81 
82 // Copyright (c) 1995-2009 held by the author(s). All rights reserved.
83 // Redistribution and use in source and binary forms, with or without
84 // modification, are permitted provided that the following conditions
85 // are met:
86 //
87 // * Redistributions of source code must retain the above copyright
88 // notice, this list of conditions and the following disclaimer.
89 // * Redistributions in binary form must reproduce the above copyright
90 // notice, this list of conditions and the following disclaimer
91 // in the documentation and/or other materials provided with the
92 // distribution.
93 // * Neither the names of the Naval Postgraduate School (NPS)
94 // Modeling Virtual Environments and Simulation (MOVES) Institute
95 // (http://www.nps.edu and http://www.MovesInstitute.org)
96 // nor the names of its contributors may be used to endorse or
97 // promote products derived from this software without specific
98 // prior written permission.
99 //
100 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
101 // AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
102 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
103 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
104 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
105 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
106 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
107 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
108 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
109 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
110 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
111 // POSSIBILITY OF SUCH DAMAGE.
Relationship _relationship
relationship of joined parts
Definition: IsPartOfPdu.h:32
Symbolic names as defined in 5.1.4.
Definition: AcknowledgePdu.h:8
EntityID _orginatingEntityID
ID of entity originating PDU.
Definition: IsPartOfPdu.h:26
a class to support managing a network buffer.
Definition: DataStream.h:28
Vector3Float _partLocation
location of part; centroid of part in host&#39;s coordinate system.
Definition: IsPartOfPdu.h:35
Definition: Relationship.h:15
Definition: Vector3Float.h:15
Definition: EntityID.h:15
EntityType _partEntityType
entity type
Definition: IsPartOfPdu.h:41
EntityID _receivingEntityID
ID of entity receiving PDU.
Definition: IsPartOfPdu.h:29
Definition: EntityType.h:15
Definition: EntityManagementFamilyPdu.h:16
NamedLocation _namedLocationID
named location
Definition: IsPartOfPdu.h:38
Definition: NamedLocation.h:15
Definition: IsPartOfPdu.h:22