VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
missileStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
15 
19 #include <vlutil/vlMachineTypes.h>
21 #include <matrix/vlVector.h>
22 
23 #include "vrfutil/simMunition.h"
24 #include <vrfutil/rwUUID.h>
25 
27 
34 {
35 
36 private:
37  //default constructor do not use
39 
42 
46 
47 public:
48 
50  DtMissileStateRepository(DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
51  DtReaderWriterRegistry* parentRegistry = 0);
52 
54  virtual ~DtMissileStateRepository();
55 
56  virtual bool init() override;
57 
59  virtual DtString type() const override;
60 
62  virtual const int vrfMovingObjectStateRepositorySubType() const override;
63 
65  virtual const int missileEntityStateRepositorySubType() const;
66 
69  virtual void tick() override;
70 
71  virtual void initializeFromParameters() override;
72 
73  const DtMissileParameters* missileParameters() const;
74 
76  virtual DtReal range() const;
77  virtual void setRange(const DtReal range);
78 
80  virtual DtReal maxManeuverGs() const;
81  virtual void setMaxManeuverGs(const DtReal maxAcceleration);
82 
84  virtual void setFuzeType(DtDetonatorFuze fuze);
85  virtual DtDetonatorFuze fuzeType() const;
86 
88  virtual void setWarheadType(DtWarheadType type);
89  virtual DtWarheadType warheadType() const;
90 
92  virtual void setFireAndForget(bool isFireAndForget);
93  virtual bool fireAndForget() const;
94 
103  virtual DtReal radiusCEP() const;
104  virtual void setRadiusCEP(const DtReal radiusCEP);
105 
108  virtual void place(const DtVector& location);
109 
117  virtual void place(const DtReal heading);
118 
126  virtual void place(const DtReal heading, const DtReal pitch);
127 
135  virtual void place(const DtVector& location, const DtReal heading);
136 
143  virtual void place(const DtVector& location, const DtReal heading,
144  const DtReal pitch);
145 
153  virtual void setDisconnectedFromLauncher();
154 
156  virtual void missileDetonated(const makVrfEvents::DtDetonationEvent* detInter);
157 
158  virtual void detonationCallback(const makVrfEvents::DtEvent&);
159 
162  virtual DtReal transitionAngle() const;
163  virtual void setTransitionAngle(DtReal angle);
164 
166  virtual DtReal proportionalNavigationGain() const;
167  virtual void setProportionalNavigationGain(DtReal gain);
168 
169  static DtVrfObjectStateRepository * creator(const DtString& name,
170  DtLocalObject* vrfObject, DtReaderWriterRegistry * parentRegistry);
171 
177  virtual void setStartLocalOrientation(const DtTaitBryan&
178  topocentricOrientation);
179 
180 protected:
181  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
182  const DtVariableBindingsList& variableBindings) override;
183 
184 protected:
185 
186  DtReal myRange;
188  DtDetonatorFuze myFuzeType;
189  DtWarheadType myWarheadType;
191  DtReal myRadiusCEP;
192 
195 
199 
203 
204 public:
209  VRF4API_METHOD virtual void setAttacker(const DtUUID&);
210 
212  VRF4API_METHOD virtual DtUUID attacker() const;
218  VRF4API_METHOD virtual void setStartLocalPosition(const DtVector& localPosition);
219  VRF4API_METHOD virtual void setStartLocalVelocity(const DtVector& localVelocity);
220  VRF4API_METHOD virtual void setStartLocalOrientationWrtDatabase(
221  const DtTaitBryan& localOrientation);
222 
227  VRF4API_METHOD virtual void setEventId(const DtString& eventId);
228  VRF4API_METHOD virtual DtString eventId() const;
229 
230  VRF4API_METHOD virtual void setTarget(const DtUUID&);
231  VRF4API_METHOD virtual DtUUID target() const;
232 
236  VRF4API_METHOD virtual void setTargetPoint(const DtVector& localTerrainPoint);
238 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtReal myRange
Definition: missileStateRepository.h:186
Contains the DtVrfMovingObjectStateRepository class declaration.
DtVector myVectorToTarget
The instantaneous vector to the target for the current tick. If there is no target, this vector will be zero.
Definition: missileStateRepository.h:198
virtual bool init() override
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:31
bool myFireAndForget
Definition: missileStateRepository.h:190
virtual void place(const DtVector &location, bool *dataAvailable=0, bool requireAllData=false)
Place entity at &#39;location&#39;, on the ground, keeping its current heading. The dataAvailable flag will b...
This repository holds all information that is common to all the forms of missile entities within the ...
Definition: missileStateRepository.h:33
static DtVrfObjectStateRepository * creator(const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
DtVrfMovingObjectStateRepository & operator=(const DtVrfMovingObjectStateRepository &orig)
Assignment Operator.
DtMissileLocalObjectFacade myMissileLocalObjectFacade
Definition: missileStateRepository.h:202
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
DtReal myRadiusCEP
Definition: missileStateRepository.h:191
virtual const int vrfMovingObjectStateRepositorySubType() const
Returns DtVrfMovingObjectStateRepositorySubTypeBase.
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:91
This file contains the class declaration for the.
Definition: detonationEvent.h:20
DtReal myMaxManeuverGs
Definition: missileStateRepository.h:187
Definition: event.h:13
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
DtReal myProportionalNavigationGain
Definition: missileStateRepository.h:201
DtVector * myTargetPoint
Definition: missileStateRepository.h:193
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void tick() override
Tick function.
virtual void initializeFromParameters() override
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
Override getSelf to handle mapping of old pre-2.0 oob files. Maps the old variables for local and wor...
virtual DtString type() const override
returns DtSimObjectStateRepositoryType
DtDetonatorFuze myFuzeType
Definition: missileStateRepository.h:188
DtWarheadType myWarheadType
Definition: missileStateRepository.h:189
DtReal myTransitionAngle
Definition: missileStateRepository.h:200
Contains the set of readable/writable parameters associated with an missile type of entity...
Definition: missileParameters.h:26
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
bool myMarkedForRemoval
Definition: missileStateRepository.h:194
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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)