VR-Forces 4.7 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 
144 
145 
149 };
150 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)