VR-Forces 4.10 Class Documentation
 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>
14 #include <matrix/LibMatrix.h>
15 
16 class DtString;
17 class DtSimManager;
21 
34 {
35 
36 public:
37 
41  DtVrfObject* owner,
42  DtSimManager* simManager,
43  DtComponentDescriptor* desc = 0,
44  DtReaderWriterRegistry* parentRegistry = 0);
45 
46 
51 
54  virtual bool init();
55 
58  virtual const char* type() const;
59 
62  virtual void tick();
63 
67  static DtSimComponent * creator(const DtString& name,
68  DtVrfObject* owner,
69  DtSimManager* simManager,
70  DtComponentDescriptor* desc = 0,
71  DtReaderWriterRegistry* parentRegistry = 0);
72 
73 
74 protected:
75  virtual bool createPortGroups();
76 
79  virtual void calculateOrientation(const DtDcm&
80  oldLocalOrientation, const DtVector& newBodyRotationRates,
81  DtDcm& newLocalOrientation);
82 
90  virtual bool isFallingApplicable();
91 
93  virtual void removeOnImpact();
94 
96  virtual bool shouldRemoveOnImpact() const;
97 
100  virtual void fallFromSky();
101 
103  virtual DtVector calculateDragForces(const DtVector& oldLocalPosition, const DtVector& oldLocalVelocity);
104 
106  virtual double dragAccelerationFromSpeed(double curSpeed) const;
107 
109  virtual double dragCoefficient() const;
110 
112  virtual void getWindSpeedAndDirection(const DtVector& location, double& windSpeed, double& direction) const;
113 
115  virtual void integrate(const DtVector& oldLocalPosition,
116  const DtVector& oldRelativeVelocity,
117  const DtVector& newRelativeAcceleration, DtVector& newLocalPosition,
118  DtVector& newRelativeVelocity);
119 
120  virtual void updateRepository(const DtVector& newLocalPosition,
121  const DtVector& newRelativeVelocity,
122  const DtVector& newRelativeAcceleration,
123  const DtDcm& newLocalOrientation, const DtVector& newBodyRotationRates);
124 
125 protected:
126 
129 
132 
136 
138  virtual void sendSplashDetonation(const DtVector& geocentricLocation);
139 
140 protected:
143  double myWaterHeight;
144  bool myIsOverWater;
146 
151 };
152 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:29
double myWaterHeight
Check for splash once.
Definition: fallingFromSkyActuatorComponent.h:143
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtVrfMovingObjectStateRepository * myState
If not, don&#39;t make a splash.
Definition: fallingFromSkyActuatorComponent.h:148
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Definition: fallingFromSkyActuatorComponent.h:150
virtual bool init()
Overridden to cache a pointer to the entity&#39;s radio in this class.
bool myFirstWaterCheck
Definition: fallingFromSkyActuatorComponent.h:142
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
bool myCheckForSplashdown
Definition: fallingFromSkyActuatorComponent.h:141
virtual void tick()
This gives the thread of control to the component.
DtFallingFromSkyActuatorDescriptor * myFallingFromSkyActuatorDescriptor
Definition: fallingFromSkyActuatorComponent.h:149
Definition: fallingFromSkyActuatorDescriptor.h:18
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtFallingFromSkyActuatorComponent provides a simple, kinematics-based model for air motion based on t...
Definition: fallingFromSkyActuatorComponent.h:33
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
virtual const char * type() const =0
Returns a string identifies the class type of component.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)