VR-Forces 4.8 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 
88  virtual bool isFallingApplicable();
89 
91  virtual void removeOnImpact();
92 
94  virtual bool shouldRemoveOnImpact() const;
95 
98  virtual void fallFromSky();
99 
101  virtual DtVector calculateDragForces(const DtVector& oldLocalPosition, const DtVector& oldLocalVelocity);
102 
104  virtual double dragAccelerationFromSpeed(double curSpeed) const;
105 
107  virtual double dragCoefficient() const;
108 
110  virtual void getWindSpeedAndDirection(const DtVector& location, double& windSpeed, double& direction) const;
111 
113  virtual void integrate(const DtVector& oldLocalPosition,
114  const DtVector& oldRelativeVelocity,
115  const DtVector& newRelativeAcceleration, DtVector& newLocalPosition,
116  DtVector& newRelativeVelocity);
117 
118  virtual void updateRepository(const DtVector& newLocalPosition,
119  const DtVector& newRelativeVelocity,
120  const DtVector& newRelativeAcceleration,
121  const DtDcm& newLocalOrientation, const DtVector& newBodyRotationRates);
122 
123 protected:
124 
127 
130 
134 
136  virtual void sendSplashDetonation(const DtVector& geocentricLocation);
137 
138 protected:
141  double myWaterHeight;
142  bool myIsOverWater;
144 
149 };
150 
#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:26
double myWaterHeight
Check for splash once.
Definition: fallingFromSkyActuatorComponent.h:141
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtVrfMovingObjectStateRepository * myState
If not, don&#39;t make a splash.
Definition: fallingFromSkyActuatorComponent.h:146
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Definition: fallingFromSkyActuatorComponent.h:148
virtual bool init()
Overridden to cache a pointer to the entity&#39;s radio in this class.
bool myFirstWaterCheck
Definition: fallingFromSkyActuatorComponent.h:140
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:139
virtual void tick()
This gives the thread of control to the component.
DtFallingFromSkyActuatorDescriptor * myFallingFromSkyActuatorDescriptor
Definition: fallingFromSkyActuatorComponent.h:147
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:102
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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)