VR-Forces 5.0.1 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 
41  virtual bool nextFrameIsEmbarked() const override;
42  virtual DtUUID nextFrameEmbarkedOn() const override;
43  virtual void setNextFrameEmbarkedOn(const DtUUID& u) override;
44  virtual bool nextFrameIsEmbarkedOn(const DtUUID&) const override;
45  virtual DtSimObjectReference nextFrameSimObjectEmbarkedOn() const override;
46  virtual void setNextFrameGlobalId(const DtString&) override;
47 
48  virtual DtRwProperties& nextFrameStateProperties() override;
49  virtual const DtRwProperties& nextFrameStateProperties() const override;
50  virtual const DtRwProperties& stateProperties() const override;
51  virtual void setNextFrameStateProperties(const DtRwProperties&) override;
52 
53  virtual void setNextFrameIsBackgroundEntity(bool b) override;
54 
56  virtual void setNextFrameBlockParachute(bool) override;
57  virtual bool nextFrameBlockParachute() const override;
58 
59  virtual void setNextFrameEntityId(const DtEntityIdentifier& id) override;
60  virtual DtEntityIdentifier nextFrameEntityId() const override;
61 
63  virtual bool setNextFrameObjectName(const DtString&) override;
64  virtual DtString nextFrameObjectName() const override;
65 
67  virtual void setNextFrameHalfLengthWidthHeight(double length, double width, double height) override;
68  virtual void setNextFrameObjectGeometry(const makVrf::DtVrfObjectGeometry&) override;
70  virtual void setNextFrameBoundingVolume(const Dt3dBoundingVolume& b) override;
71 
72  virtual void setNextFrameObjectType(const DtObjectType&) override;
73  virtual DtObjectType nextFrameObjectType() const override;
74 
76  virtual void setNextFrameLocalPosition(const DtVector&) override;
77 
78  virtual const DtVector& nextFrameLocalPosition() const override;
79 
80  virtual void setNextFrameWorldPosition(const DtVector&) override;
81  virtual const DtVector& nextFrameWorldPosition() const override;
82 
83  virtual void setNextFrameParentPosition(const DtVector&) override;
84  virtual const DtVector& nextFrameParentPosition() const override;
85 
86  virtual void setNextFrameLocalOrientationMatrix(const DtDcm&) override;
87  virtual const DtDcm& nextFrameLocalOrientationMatrix() const override;
88 
89  virtual void setNextFrameLocalOrientationWrtDatabase(const DtTaitBryan&) override;
90  virtual const DtTaitBryan& nextFrameLocalOrientationWrtDatabase() const override;
91 
92  virtual void setNextFrameLocalOrientation(const DtTaitBryan&) override;
93  virtual const DtTaitBryan& nextFrameLocalOrientation() const override;
94 
95  virtual const DtTaitBryan& nextFrameTopographicOrientation() const override;
96 
97  virtual void setNextFrameWorldOrientation(const DtTaitBryan&) override;
98  virtual void setNextFrameWorldOrientationMatrix(const DtDcm&) override;
99  virtual const DtTaitBryan& nextFrameWorldOrientation() const override;
100  virtual const DtDcm& nextFrameWorldOrientationMatrix() const override;
101 
102  virtual void setNextFrameParentOrientation(const DtTaitBryan&) override;
103  virtual const DtTaitBryan& nextFrameParentOrientation() const override;
104 
105  virtual void setNextFrameLocalVertices(const DtList& vertices, DtVector& newGeometricCenter) override;
106  virtual void setNextFrameLocalVertices(const DtLocalVertexList& vertices, DtVector& newGeometricCenter) override;
107  virtual void removeNextFrameVertex(int iIndex) override;
108  virtual void addNextFrameLocalVertex(const DtVector& vertex) override;
109  virtual void addNextFrameLocalVertex(const DtVector& vertex, DtVector& newGeometricCenter) override;
110 
111  virtual void setNextFrameWorldVertices(const std::vector<DtVector>& vertices, DtVector& newGeometricCenter) override;
112  virtual void setNextFrameWorldVertices(const DtVertexList& vertices, DtVector& newGeometricCenter) override;
113  virtual void setNextFrameWorldVertices(const DtList& vertices, DtVector& newGeometricCenter) override;
114  virtual void addNextFrameWorldVertex(const DtVector& vertex, DtVector& newGeometricCenter) override;
115 
116  virtual void setNextFrameRelativeVertices(const DtLocalVertexList& vertices) override;
117 
118  virtual const DtLocalVertexList& nextFrameLocalVertices() const override;
119  virtual const DtVertexList& nextFrameWorldVertices() const override;
120  virtual const DtLocalVertexList& nextFrameRelativeVertices() const override;
121 
122  virtual double nextFrameHeading() const override;
123  virtual double nextFramePitch() const override;
124  virtual double nextFrameRoll() const override;
125  virtual void setNextFrameIsSubordinateOfForceLevel(bool) override;
126  virtual bool nextFrameIsSubordinateOfForceLevel() const override;
127  virtual void setNextFrameInvulnerable(bool);
128  virtual bool nextFrameInvulnerable() const;
129 
130  virtual void setNextFrameUndetectable(bool);
131  virtual bool nextFrameUndetectable() const;
132 
134  virtual bool nextFrameFuelLevelsFrozen() const;
135 
137  virtual bool nextFrameMunitionLevelsFrozen() const;
138 
140  virtual void setupExtendedDataFromParameterData() override;
141 
142  virtual bool isRemoteAttachedObject() const override;
143 
146  virtual bool initRemoteAttachedObject(DtRemoteConfigurationEntry*);
147 
154  static DtRemoteAttachedObjectCreatorFcn setRemoteAttachedObjectCreatorFunction(DtRemoteAttachedObjectCreatorFcn);
155  static DtRemoteAttachedObjectCreatorFcn remoteAttachedObjectCreatorFunction();
156  static DtRemoteAttachedObject* createRemoteAttachedObject(DtSimulationServices*, DtSimObjectReference);
158 
159 protected:
160  virtual void duplicateVrfSubComponentTypes();
161  virtual bool convertToRemoteObject(DtString&);
162 
164  virtual bool canBePlaced() const;
165 
166 protected:
169 
172 
173 protected:
176 };
virtual bool nextFrameIsSubordinateOfForceLevel() const
virtual void setNextFrameObjectType(const DtObjectType &)
virtual DtObjectType nextFrameObjectType() const
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
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 &)
virtual void setNextFrameLocalVertices(const DtList &vertices, DtVector &newGeometricCenter)
static DtRemoteAttachedObjectCreatorFcn theRemoteAttachedObjectCreatorFunction
Definition: remoteAttachedObject.h:174
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 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 &)
virtual void setNextFrameIsBackgroundEntity(bool b)
Definition: objectType.h:27
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:175
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:89
virtual void setNextFrameBoundingVolume(const Dt3dBoundingVolume &b)
virtual DtRwProperties & nextFrameStateProperties()
virtual const DtDcm & nextFrameWorldOrientationMatrix() const
virtual void addNextFrameWorldVertex(const DtVector &vertex, DtVector &newGeometricCenter)
virtual bool nextFrameIsEmbarkedOn(const DtUUID &) const
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:126
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 Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)