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() override;
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 
193  DtVector* myTargetPoint;
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
This repository holds all information that is common to all the forms of missile entities within the ...
Definition: missileStateRepository.h:33
virtual void place(const DtVector &location, bool *dataAvailable=0, bool requireAllData=false) override
Place entity at &#39;location&#39;, on the ground, keeping its current heading. The dataAvailable flag will b...
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:23
bool myMarkedForRemoval
Definition: missileStateRepository.h:194
A locally simulated VRF object.
Definition: localObject.h:98

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)