VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fallingFromSkyActuatorComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
12 #include <vlpi/disEnums.h>
15 #include <matrix/LibMatrix.h>
16 
17 class DtString;
22 
35 {
36 
37 public:
38 
42  DtLocalObject* owner,
43  DtSimulationServices* simManager,
44  DtComponentDescriptor* desc = 0,
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
47 
51  virtual ~DtFallingFromSkyActuatorComponent() override;
52 
55  virtual bool init() override;
56 
59  virtual const char* type() const override;
60 
63  virtual void tick() override;
64 
68  static DtSimComponent * creator(const DtString& name,
69  DtLocalObject* owner,
70  DtSimulationServices* simManager,
71  DtComponentDescriptor* desc = 0,
72  DtReaderWriterRegistry* parentRegistry = 0);
73 
74 
75 protected:
76  virtual bool createPortGroups() override;
77 
80  virtual void calculateOrientation(const DtDcm&
81  oldLocalOrientation, const DtVector& newBodyRotationRates,
82  DtDcm& newLocalOrientation);
83 
91  virtual bool isFallingApplicable();
92 
94  virtual void removeOnImpact();
95 
97  virtual bool shouldRemoveOnImpact() const;
98 
101  virtual void fallFromSky();
102 
104  virtual DtVector calculateDragForces(const DtVector& oldLocalPosition, const DtVector& oldLocalVelocity);
105 
107  virtual double dragAccelerationFromSpeed(double curSpeed) const;
108 
110  virtual double dragCoefficient() const;
111 
113  virtual void getWindSpeedAndDirection(const DtVector& location, double& windSpeed, double& direction) const;
114 
116  virtual void integrate(const DtVector& oldLocalPosition,
117  const DtVector& oldRelativeVelocity,
118  const DtVector& newRelativeAcceleration, DtVector& newLocalPosition,
119  DtVector& newRelativeVelocity);
120 
121  virtual void updateRepository(const DtVector& newLocalPosition,
122  const DtVector& newRelativeVelocity,
123  const DtVector& newRelativeAcceleration,
124  const DtDcm& newLocalOrientation, const DtVector& newBodyRotationRates);
125 
126 protected:
127 
130 
133 
137 
139  virtual void sendSplashDetonation(const DtVector& geocentricLocation);
140 
141 protected:
144  double myWaterHeight;
145  bool myIsOverWater;
147 
153 };
154 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:31
double myWaterHeight
Check for splash once.
Definition: fallingFromSkyActuatorComponent.h:144
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtVrfMovingObjectStateRepository * myState
If not, don&#39;t make a splash. Set at the beginning of the tick. ...
Definition: fallingFromSkyActuatorComponent.h:149
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Definition: fallingFromSkyActuatorComponent.h:151
bool myFirstWaterCheck
Definition: fallingFromSkyActuatorComponent.h:143
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtMovementLocalObjectFacade myMovementLocalObjectFacade
Definition: fallingFromSkyActuatorComponent.h:152
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&#39;s radio for convenience. Derived classes may have articulated parts that are configured from the DtActuatorComponentDescriptor&#39;s DtSimArtPartDescriptorList. For each articulated part in the list a DtArticulatedPartStateRepository will be created to store the data for the part such as it&#39;s location, rotation and so forth. These are created in the entity&#39;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&#39;s DtActuatorComponentDescriptor as descriped above. The partType is used as the category of the DtEntityType 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&#39;s object type.
Definition: actuatorComponent.h:47
bool myCheckForSplashdown
Definition: fallingFromSkyActuatorComponent.h:142
virtual bool init() override
Overridden to cache a pointer to the entity&#39;s radio in this class.
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
DtFallingFromSkyActuatorDescriptor * myFallingFromSkyActuatorDescriptor
Definition: fallingFromSkyActuatorComponent.h:150
Definition: fallingFromSkyActuatorDescriptor.h:18
virtual bool createPortGroups()
Called by init. Derived classes should override this method to create all their input/output port gro...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
DtFallingFromSkyActuatorComponent provides a simple, kinematics-based model for air motion based on t...
Definition: fallingFromSkyActuatorComponent.h:34
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:31
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.
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)