VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
missileCollisionActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
17 
19 
20 class Dt3dBoundingVolume;
21 
22 
33 {
34 
35 public:
36 
40  DtLocalObject* owner,
41  DtSimulationServices* simManager,
42  DtComponentDescriptor* desc = 0,
43  DtReaderWriterRegistry* parentRegistry = 0);
44 
46  virtual ~DtMissileCollisionActuator();
47 
51  virtual bool init();
52 
55  virtual const char* type() const;
56 
59  virtual void tick();
60 
76  virtual const DtSimObject* detectCollision(double& distToImpactSqrd,
77  DtVector& detonLocationOut);
78 
90  virtual bool checkEntityForCollision(const DtSimObject* collidee,
91  const DtVector& missilePath,
92  const DtVector& missileBoxCenter,
93  DtVector& detonLocationOut,
94  double& distToImpactSqrd);
95 
114  virtual bool checkForGroundImpact(double& distToImpactSqrd,
115  DtVector& impactPoint,
116  DtDetonationResult& result);
117 
122  virtual void sendDetonation(const DtSimObject* impactedEntity,
123  const DtVector& detonLocation);
124 
128  virtual void sendDetonation(DtDetonationResult result,
129  const DtVector& collisionPt);
130 
134  static DtSimComponent * creator(const DtString& name,
135  DtLocalObject* owner,
136  DtSimulationServices* simManager,
137  DtComponentDescriptor* desc = 0,
138  DtReaderWriterRegistry* parentRegistry = 0);
139 
140 protected:
144 
147 
150  const DtMissileCollisionActuator & orig);
151 
152 protected:
158 
161 };
162 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtManagedObjectListConstPtr myPlatformsList
Definition: missileCollisionActuator.h:157
DtMissileCollisionActuator models collision of a missile with other entities or with the terrain...
Definition: missileCollisionActuator.h:32
DtMissileStateRepository * myMissileState
Definition: missileCollisionActuator.h:153
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtVector myLastPosition
Definition: missileCollisionActuator.h:154
This repository holds all information that is common to all the forms of missile entities within the ...
Definition: missileStateRepository.h:33
virtual bool init()
Overridden to cache a pointer to the entity's radio in this class.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
End User Description: DtActuator is the base class for all actuator model components. Developer Description: The DtActuator base class caches a pointer to the entity's radio for convenience. Derived classes may have articulated parts that are configured from the DtActuatorComponentDescriptor's DtSimArtPartDescriptorList. For each articulated part in the list a DtArticulatedPartStateRepository will be created to store the data for the part such as it's location, rotation and so forth. These are created in the entity's DtVrfObjectStateRepository createParts() function. This call creates all the attached parts for all the actuators. These articulated state repositories are managed by the DtAttachmentManager. They are cached by their partType which is the DIS Enumeration describing the part from the disEnums.h file and was specified in the actuator's DtActuatorComponentDescriptor as descriped above. The partType is used as the category of the DtObjectType used to look up articulated parts in the DtAttachementManager. When an actuator needs access to a particular articulated part it looks it up by the part's object type.
Definition: actuatorComponent.h:47
DtUUID myObjectId
Definition: missileCollisionActuator.h:155
bool myStartPositionInited
Definition: missileCollisionActuator.h:156
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList. These lists are used within VR-Fo...
Definition: managedObjectList.h:35
DtMissileLocalObjectFacade myMissileLocalObjectFacade
Member to allow for access to missile specific data.
Definition: missileCollisionActuator.h:160
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
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 Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)