VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteAttachedObject.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
9 
11 
15 
16 typedef DtRemoteAttachedObject* (*DtRemoteAttachedObjectCreatorFcn)(DtSimulationServices*, DtSimObjectReference);
17 
19 {
20 protected:
21 
25 
26 public:
27 
29  virtual ~DtRemoteAttachedObject() override;
30 
32  virtual bool nextFrameIsLocal() const override;
33 
38  virtual void setNextFrameForceType(int) override;
39  virtual DtForceType nextFrameForceType() const override;
40  virtual void setupFromMessageContent(const DtIfModifyVrfObject* ifModVrfObject) override;
41 
42  virtual bool nextFrameIsEmbarked() const override;
43  virtual DtUUID nextFrameEmbarkedOn() const override;
44  virtual void setNextFrameEmbarkedOn(const DtUUID& u) override;
45  virtual bool nextFrameIsEmbarkedOn(const DtUUID&) const override;
46  virtual DtSimObjectReference nextFrameSimObjectEmbarkedOn() const override;
47  virtual void setNextFrameGlobalId(const DtString&) override;
48 
49  virtual DtRwProperties& nextFrameStateProperties() override;
50  virtual const DtRwProperties& nextFrameStateProperties() const override;
51  virtual const DtRwProperties& stateProperties() const override;
52  virtual void setNextFrameStateProperties(const DtRwProperties&) override;
53 
54  virtual void setNextFrameIsClutterEntity(bool b) override;
55 
57  virtual void setNextFrameBlockParachute(bool) override;
58  virtual bool nextFrameBlockParachute() const override;
59 
60  virtual void setNextFrameEntityId(const DtEntityIdentifier& id) override;
61  virtual DtEntityIdentifier nextFrameEntityId() const override;
62 
64  virtual bool setNextFrameObjectName(const DtString&) override;
65  virtual DtString nextFrameObjectName() const override;
66 
68  virtual void setNextFrameHalfLengthWidthHeight(double length, double width, double height) override;
69  virtual void setNextFrameObjectGeometry(const makVrf::DtVrfObjectGeometry&) override;
71  virtual void setNextFrameBoundingVolume(const Dt3dBoundingVolume& b) override;
72 
73  virtual void setNextFrameObjectType(const DtEntityType&) override;
74  virtual DtEntityType nextFrameObjectType() const override;
75 
77  virtual void setNextFrameLocalPosition(const DtVector&) override;
78 
79  virtual const DtVector& nextFrameLocalPosition() const override;
80 
81  virtual void setNextFrameWorldPosition(const DtVector&) override;
82  virtual const DtVector& nextFrameWorldPosition() const override;
83 
84  virtual void setNextFrameParentPosition(const DtVector&) override;
85  virtual const DtVector& nextFrameParentPosition() const override;
86 
87  virtual void setNextFrameLocalOrientationMatrix(const DtDcm&) override;
88  virtual const DtDcm& nextFrameLocalOrientationMatrix() const override;
89 
90  virtual void setNextFrameLocalOrientationWrtDatabase(const DtTaitBryan&) override;
91  virtual const DtTaitBryan& nextFrameLocalOrientationWrtDatabase() const override;
92 
93  virtual void setNextFrameLocalOrientation(const DtTaitBryan&) override;
94  virtual const DtTaitBryan& nextFrameLocalOrientation() const override;
95 
96  virtual const DtTaitBryan& nextFrameTopographicOrientation() const override;
97 
98  virtual void setNextFrameWorldOrientation(const DtTaitBryan&) override;
99  virtual void setNextFrameWorldOrientationMatrix(const DtDcm&) override;
100  virtual const DtTaitBryan& nextFrameWorldOrientation() const override;
101  virtual const DtDcm& nextFrameWorldOrientationMatrix() const override;
102 
103  virtual void setNextFrameParentOrientation(const DtTaitBryan&) override;
104  virtual const DtTaitBryan& nextFrameParentOrientation() const override;
105 
106  virtual void setNextFrameLocalVertices(const DtList& vertices, DtVector& newGeometricCenter) override;
107  virtual void setNextFrameLocalVertices(const DtLocalVertexList& vertices, DtVector& newGeometricCenter) override;
108  virtual void removeNextFrameVertex(int iIndex) override;
109  virtual void addNextFrameLocalVertex(const DtVector& vertex) override;
110  virtual void addNextFrameLocalVertex(const DtVector& vertex, DtVector& newGeometricCenter) override;
111 
112  virtual void setNextFrameWorldVertices(const std::vector<DtVector>& vertices, DtVector& newGeometricCenter) override;
113  virtual void setNextFrameWorldVertices(const DtVertexList& vertices, DtVector& newGeometricCenter) override;
114  virtual void setNextFrameWorldVertices(const DtList& vertices, DtVector& newGeometricCenter) override;
115  virtual void addNextFrameWorldVertex(const DtVector& vertex, DtVector& newGeometricCenter) override;
116 
117  virtual void setNextFrameRelativeVertices(const DtLocalVertexList& vertices) override;
118 
119  virtual const DtLocalVertexList& nextFrameLocalVertices() const override;
120  virtual const DtVertexList& nextFrameWorldVertices() const override;
121  virtual const DtLocalVertexList& nextFrameRelativeVertices() const override;
122 
123  virtual double nextFrameHeading() const override;
124  virtual double nextFramePitch() const override;
125  virtual double nextFrameRoll() const override;
126  virtual void setNextFrameIsSubordinateOfForceLevel(bool) override;
127  virtual bool nextFrameIsSubordinateOfForceLevel() const override;
128  virtual void setNextFrameInvulnerable(bool) override;
129  virtual bool nextFrameInvulnerable() const override;
130 
131  virtual void setNextFrameUndetectable(bool) override;
132  virtual bool nextFrameUndetectable() const override;
133 
135  virtual bool nextFrameFuelLevelsFrozen() const override;
136 
138  virtual bool nextFrameMunitionLevelsFrozen() const override;
139 
141  virtual void setupExtendedDataFromParameterData() override;
142 
143  virtual bool isRemoteAttachedObject() const override;
144 
147  virtual bool initRemoteAttachedObject(DtRemoteConfigurationEntry*);
148 
155  static DtRemoteAttachedObjectCreatorFcn setRemoteAttachedObjectCreatorFunction(DtRemoteAttachedObjectCreatorFcn);
156  static DtRemoteAttachedObjectCreatorFcn remoteAttachedObjectCreatorFunction();
157  static DtRemoteAttachedObject* createRemoteAttachedObject(DtSimulationServices*, DtSimObjectReference);
159 
160 protected:
161  virtual void duplicateVrfSubComponentTypes();
162  virtual bool convertToRemoteObject(DtString&) override;
163 
165  virtual bool canBePlaced() const override;
166 
167 protected:
170 
173 
174 protected:
177  mutable std::set<std::string> myWarnedForMethod;
178 };
virtual bool nextFrameIsSubordinateOfForceLevel() const
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void setNextFrameInvulnerable(bool)
virtual DtString nextFrameObjectName() const
virtual void setupExtendedDataFromParameterData()
DtRemoteAttachedObject *(* DtRemoteAttachedObjectCreatorFcn)(DtSimulationServices *, DtSimObjectReference)
Definition: remoteAttachedObject.h:16
virtual void setNextFrameWorldPosition(const DtVector &v)
Sets the world position for the next frame.
std::set< std::string > myWarnedForMethod
Definition: remoteAttachedObject.h:177
virtual void setNextFrameLocalVertices(const DtList &vertices, DtVector &newGeometricCenter)
Sets the local vertices using a DtList for the next frame.
static DtRemoteAttachedObjectCreatorFcn theRemoteAttachedObjectCreatorFunction
Definition: remoteAttachedObject.h:175
virtual void setNextFrameGlobalId(const DtString &)
virtual const DtTaitBryan & nextFrameLocalOrientation() const
Retrieves the local orientation for the next frame as Tait-Bryan angles.
makVrf::DtSimObjectReferenceTemplate< DtSimObject > DtSimObjectReference
Definition: simObjectReference.h:14
virtual double nextFramePitch() const
Retrieves the pitch for the next frame.
virtual void setNextFrameLocalPosition(const DtVector &v)
Retrieves the primary label for the next frame.
virtual void addNextFrameLocalVertex(const DtVector &vertex)
Adds a local vertex for the next frame.
virtual bool convertToRemoteObject(DtString &error)
Converts this object from a local to a remote object.
virtual const DtVertexList & nextFrameWorldVertices() const
Retrieves the world vertices for the next frame.
virtual const DtRwProperties & stateProperties() const
Gets current frame state properties, unless there are none, in which case it returns the next frame s...
virtual void setNextFrameEntityId(const DtEntityIdentifier &id)
Definition: remoteAttachedObject.h:18
virtual void setNextFrameIsClutterEntity(bool b)
virtual void setNextFrameIsSubordinateOfForceLevel(bool)
virtual bool canBePlaced() const
Returns true if the object can be placed. Defaults to true unless overridden in a subclass...
virtual bool nextFrameIsEmbarked() const
Retrieves the UUID of the entity this object will be embarked on in the next frame.
virtual DtEntityIdentifier nextFrameEntityId() const
virtual void setNextFrameBlockParachute(bool)
Controls whether a parachute is blocked from opening.
virtual const DtTaitBryan & nextFrameLocalOrientationWrtDatabase() const
Retrieves the local orientation with respect to the database for the next frame.
virtual bool setNextFrameObjectName(const DtString &)
Sets the object name for the next frame.
virtual bool nextFrameBlockParachute() const
Called before/after object reinitialization.
virtual void setNextFrameUndetectable(bool)
virtual const DtDcm & nextFrameLocalOrientationMatrix() const
Retrieves the local orientation matrix for the next frame.
virtual void removeNextFrameVertex(int iIndex)
Removes a vertex at the specified index for the next frame.
virtual void setNextFrameHalfLengthWidthHeight(double length, double width, double height)
Called before/after object reinitialization.
virtual const DtTaitBryan & nextFrameParentOrientation() const
Retrieves the orientation relative to the parent object for the next frame.
virtual bool nextFrameFuelLevelsFrozen() const
Determines if fuel levels are frozen for the next frame.
virtual void setNextFrameStateProperties(const DtRwProperties &)
Sets the entire list of the next frame external state properties.
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
virtual void setNextFrameWorldVertices(const std::vector< DtVector > &vertices, DtVector &newGeometricCenter)
Sets the world vertices using a std::vector for the next frame.
virtual bool isRemoteAttachedObject() const
virtual void setNextFrameParentPosition(const DtVector &v)
Sets the position relative to the parent object for the next frame.
virtual DtForceType nextFrameForceType() const
Removes a specific key from the extended data map.
virtual const DtVector & nextFrameLocalPosition() const
Retrieves the local position for the next frame.
virtual void setNextFrameEmbarkedOn(const DtUUID &u)
Retrieves the UUID of the entity this object will be embarked on in the next frame.
virtual DtEntityType nextFrameObjectType() const
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual double nextFrameHeading() const
Retrieves the heading for the next frame.
virtual DtUUID nextFrameEmbarkedOn() const
Retrieves the UUID of the entity this object will be embarked on in the next frame.
virtual void setNextFrameRelativeVertices(const DtLocalVertexList &vertices)
Sets the relative vertices for the next frame.
class DtVertexList:
Definition: vertexList.h:22
DtLocalObject & operator=(const DtLocalObject &orig)
assignment operator
virtual void setNextFrameLocalOrientationWrtDatabase(const DtTaitBryan &v)
Sets the local orientation with respect to the database for the next frame.
virtual const DtTaitBryan & nextFrameWorldOrientation() const
Retrieves the world orientation for the next frame as Tait-Bryan angles.
virtual DtSimObjectReference nextFrameSimObjectEmbarkedOn() const
Retrieves the UUID of the entity this object will be embarked on in the next frame.
virtual bool nextFrameIsLocal() const
Determines whether this object is marked as local in the next simulation frame.
virtual void setNextFrameObjectType(const DtEntityType &)
bool myDuplicatedSubComponents
Definition: remoteAttachedObject.h:176
virtual const DtVector & nextFrameWorldPosition() const
Retrieves the world position for the next frame.
virtual bool nextFrameMunitionLevelsFrozen() const
Determines if munition levels are frozen for the next frame.
DtSimBoundingGeometryType
Definition: simBoundingGeometry.h:61
This class maintains a rectangular bounding volume and an ordered list of vertices describing the phy...
Definition: vrfObjectGeometry.h:39
virtual const DtLocalVertexList & nextFrameRelativeVertices() const
Retrieves the relative vertices for the next frame.
virtual const DtTaitBryan & nextFrameTopographicOrientation() const
Retrieves the topographic orientation for the next frame.
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
virtual void setNextFrameLocalOrientation(const DtTaitBryan &v)
Sets the local orientation for the next frame using Tait-Bryan angles.
virtual void setNextFrameBoundingVolume(const Dt3dBoundingVolume &b)
Called before/after object reinitialization.
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
virtual DtRwProperties & nextFrameStateProperties()
Returns the full list of the next frame external state properties. NB: To get the internal state prop...
virtual void setNextFrameWorldOrientation(const DtTaitBryan &v)
Sets the world orientation for the next frame using Tait-Bryan angles.
virtual const DtDcm & nextFrameWorldOrientationMatrix() const
Retrieves the world orientation matrix for the next frame.
virtual void addNextFrameWorldVertex(const DtVector &vertex, DtVector &newGeometricCenter)
Adds a world-space vertex for the next frame and updates the geometric center.
virtual void setNextFrameParentOrientation(const DtTaitBryan &v)
Sets the orientation relative to the parent object for the next frame.
virtual bool nextFrameIsEmbarkedOn(const DtUUID &) const
Retrieves the UUID of the entity this object will be embarked on in the next frame.
virtual void setupFromMessageContent(const DtIfModifyVrfObject *ifModVrfObject)
Sets up object properties based on interface message content.
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
virtual const DtVector & nextFrameParentPosition() const
Retrieves the position relative to the parent object for the next frame.
virtual void setNextFrameForceType(int)
Removes a specific key from the extended data map.
virtual void setNextFrameWorldOrientationMatrix(const DtDcm &v)
Sets the world orientation matrix for the next frame.
class DtLocalVertexList:
Definition: localVertexList.h:20
virtual double nextFrameRoll() const
Retrieves the roll for the next frame.
This file declares DtRemoteConfigurationEntry.
Definition: remoteConfigurationEntry.h:21
virtual bool nextFrameInvulnerable() const
virtual void setNextFrameBoundingGeometryType(DtSimBoundingGeometry::DtSimBoundingGeometryType type)
Called before/after object reinitialization.
virtual void setNextFrameLocalOrientationMatrix(const DtDcm &v)
Sets the local orientation matrix for the next frame.
virtual const DtLocalVertexList & nextFrameLocalVertices() const
Retrieves the local vertices for the next frame.
virtual void setNextFrameObjectGeometry(const makVrf::DtVrfObjectGeometry &)
Called before/after object reinitialization.
A locally simulated VRF object.
Definition: localObject.h:98
virtual bool nextFrameUndetectable() const

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)