VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 DtString 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 
92  virtual void fallFromSky();
93 
95  virtual DtVector calculateDragForces(const DtVector& oldLocalPosition, const DtVector& oldLocalVelocity);
96 
98  virtual double calculateAcceleration(double curSpeed) const;
99 
101  virtual double calculateDrag() const;
102 
104  virtual void getWindSpeedAndDirection(const DtVector& location, double& windSpeed, double& direction) const;
105 
107  void integrate(const DtVector& oldLocalPosition,
108  const DtVector& oldRelativeVelocity,
109  const DtVector& newRelativeAcceleration, DtVector& newLocalPosition,
110  DtVector& newRelativeVelocity);
111 
112  virtual void updateRepository(const DtVector& newLocalPosition,
113  const DtVector& newRelativeVelocity,
114  const DtVector& newRelativeAcceleration,
115  const DtDcm& newLocalOrientation, const DtVector& newBodyRotationRates);
116 
117 protected:
118 
121 
124 
128 
130  virtual void sendSplashDetonation(const DtVector& geocentricLocation);
131 
132 protected:
135  double myWaterHeight;
136 
138 
139 
143 };
144 

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)