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();
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 DtObjectType&) override;
74  virtual DtObjectType 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);
129  virtual bool nextFrameInvulnerable() const;
130 
131  virtual void setNextFrameUndetectable(bool);
132  virtual bool nextFrameUndetectable() const;
133 
135  virtual bool nextFrameFuelLevelsFrozen() const;
136 
138  virtual bool nextFrameMunitionLevelsFrozen() const;
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&);
163 
165  virtual bool canBePlaced() const;
166 
167 protected:
170 
173 
174 protected:
177  mutable std::set<std::string> myWarnedForMethod;
178 };
virtual bool nextFrameIsSubordinateOfForceLevel() const
virtual void setNextFrameObjectType(const DtObjectType &)
virtual DtObjectType nextFrameObjectType() const
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void setNextFrameLocalOrientationWrtDatabase(const DtTaitBryan &)
virtual void setNextFrameInvulnerable(bool)
virtual DtString nextFrameObjectName() const
virtual void setupExtendedDataFromParameterData()
DtRemoteAttachedObject *(* DtRemoteAttachedObjectCreatorFcn)(DtSimulationServices *, DtSimObjectReference)
Definition: remoteAttachedObject.h:16
virtual void setNextFrameWorldOrientation(const DtTaitBryan &)
std::set< std::string > myWarnedForMethod
Definition: remoteAttachedObject.h:177
virtual void setNextFrameLocalVertices(const DtList &vertices, DtVector &newGeometricCenter)
static DtRemoteAttachedObjectCreatorFcn theRemoteAttachedObjectCreatorFunction
Definition: remoteAttachedObject.h:175
virtual void setNextFrameGlobalId(const DtString &)
virtual const DtTaitBryan & nextFrameLocalOrientation() const
virtual double nextFramePitch() const
virtual void addNextFrameLocalVertex(const DtVector &vertex)
virtual bool convertToRemoteObject(DtString &error)
virtual const DtVertexList & nextFrameWorldVertices() const
virtual const DtRwProperties & stateProperties() const
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...
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
virtual bool nextFrameIsEmbarked() const
Embarkation Make this call if you embark an object for the next frame and want to see if the embarkat...
virtual void setNextFrameWorldPosition(const DtVector &)
virtual DtEntityIdentifier nextFrameEntityId() const
virtual void setNextFrameBlockParachute(bool)
Returns true if the parachute is blocked from opening.
virtual const DtTaitBryan & nextFrameLocalOrientationWrtDatabase() const
virtual bool setNextFrameObjectName(const DtString &)
Returns true if marking text changed.
virtual bool nextFrameBlockParachute() const
virtual void setNextFrameUndetectable(bool)
virtual const DtDcm & nextFrameLocalOrientationMatrix() const
virtual void removeNextFrameVertex(int iIndex)
virtual void setNextFrameHalfLengthWidthHeight(double length, double width, double height)
Geometry.
virtual const DtTaitBryan & nextFrameParentOrientation() const
virtual bool nextFrameFuelLevelsFrozen() const
Whether or not fuel levels are frozen. Default is false.
virtual void setNextFrameStateProperties(const DtRwProperties &)
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
virtual void setNextFrameWorldVertices(const std::vector< DtVector > &vertices, DtVector &newGeometricCenter)
virtual bool isRemoteAttachedObject() const
virtual void setNextFrameLocalOrientationMatrix(const DtDcm &)
virtual DtForceType nextFrameForceType() const
virtual const DtVector & nextFrameLocalPosition() const
virtual void setNextFrameEmbarkedOn(const DtUUID &u)
virtual void setNextFrameLocalPosition(const DtVector &)
@( TSPI mutators
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual double nextFrameHeading() const
virtual DtUUID nextFrameEmbarkedOn() const
Call this to see who this entity will be embarked on the next frame.
virtual void setNextFrameWorldOrientationMatrix(const DtDcm &)
virtual void setNextFrameRelativeVertices(const DtLocalVertexList &vertices)
class DtVertexList:
Definition: vertexList.h:22
DtLocalObject & operator=(const DtLocalObject &orig)
assignment operator
virtual const DtTaitBryan & nextFrameWorldOrientation() const
virtual DtSimObjectReference nextFrameSimObjectEmbarkedOn() const
virtual bool nextFrameIsLocal() const
Whether or not this object is local in the next frame.
bool myDuplicatedSubComponents
Definition: remoteAttachedObject.h:176
virtual const DtVector & nextFrameWorldPosition() const
virtual bool nextFrameMunitionLevelsFrozen() const
Whether or not munition levels are frozen. Default is false.
virtual void setNextFrameLocalOrientation(const DtTaitBryan &)
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
virtual const DtTaitBryan & nextFrameTopographicOrientation() const
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
virtual void setNextFrameBoundingVolume(const Dt3dBoundingVolume &b)
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()
virtual const DtDcm & nextFrameWorldOrientationMatrix() const
virtual void addNextFrameWorldVertex(const DtVector &vertex, DtVector &newGeometricCenter)
virtual bool nextFrameIsEmbarkedOn(const DtUUID &) const
virtual void setupFromMessageContent(const DtIfModifyVrfObject *ifModVrfObject)
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
virtual const DtVector & nextFrameParentPosition() const
virtual void setNextFrameParentPosition(const DtVector &)
virtual void setNextFrameForceType(int)
Force type mutator.
class DtLocalVertexList:
Definition: localVertexList.h:20
virtual double nextFrameRoll() const
This file declares DtRemoteConfigurationEntry.
Definition: remoteConfigurationEntry.h:21
virtual bool nextFrameInvulnerable() const
virtual void setNextFrameParentOrientation(const DtTaitBryan &)
virtual void setNextFrameBoundingGeometryType(DtSimBoundingGeometry::DtSimBoundingGeometryType type)
virtual const DtLocalVertexList & nextFrameLocalVertices() const
virtual void setNextFrameObjectGeometry(const makVrf::DtVrfObjectGeometry &)
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
virtual bool nextFrameUndetectable() const

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)