VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
baseParachuteActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
14 
15 #include <matrix/LibMatrix.h>
16 #include <vlpi/disEnums.h>
17 
18 class DtString;
22 class DtAnalogInputPort;
23 class DtBooleanInputPort;
24 class DtInputPortGroup;
25 class DtVectorInputPort;
27 class DtAnalogOutputPort;
30 
38 {
39 
40 public:
41 
45  DtLocalObject* owner,
46  DtSimulationServices* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
53  virtual ~DtBaseParachuteActuator() override;
54 
57  virtual bool init() override;
58 
61  virtual const char* type() const override;
62 
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  virtual bool createPorts() override;
78 
80  virtual bool isFallingApplicable() override;
81 
82  virtual bool checkFallingApplicable(bool& dataAvailable);
83 
85 
86  virtual double horizontalDragCoefficient() const;
87  virtual double verticalDragCoefficient() const;
88  virtual double windDragCoefficient() const;
89  virtual double turningRate() const;
91 
92  virtual void calculateOrientation(
93  const DtDcm& oldLocalOrientation, const DtVector& newBodyRotationRates, DtDcm& newLocalOrientation) override;
94 
95  virtual DtVector calculateDragForces(const DtVector& oldLocalPosition, const DtVector& oldLocalVelocity) override;
96 
97  virtual double dragAccelerationFromSpeed(double curSpeed, double coefficient) const;
98 
99  virtual double calcPitch(DtVector geocLoc, DtTaitBryan geocOri);
100 
101  virtual double calcRoll(DtVector geocLoc, DtTaitBryan geocOri);
102 
103  virtual void processLanding();
104 
105  virtual void processChuteDeployment();
106 
107  virtual void processFreeFall();
108 
109 
110 private:
111 
114 
117 
121 
122 protected:
123 
125  virtual void fallFromSky() override;
126 
128  //virtual void executeSetPosture(DtLifeformState lifeformState);
129 
131  virtual bool checkForLandingDamage() const;
132 
134  virtual double downwardSpeed() const;
135 
137  virtual bool createPSR();
138 
140  virtual bool isCargoDoorOpen(const DtSimObject* entity) const;
141 
144  virtual double percentDeployed() const;
145 
146 protected:
147 
149 
156 
159 
162 
164 
167 };
virtual void calculateOrientation(const DtDcm &oldLocalOrientation, const DtVector &newBodyRotationRates, DtDcm &newLocalOrientation)
Uses current local orientation, rotationRates in SR, and dT. Results placed in object pointed to by o...
DtBaseParachuteActuator modifies the falling from sky actuator to have a stowed and deployed state...
Definition: baseParachuteActuator.h:37
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:31
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
virtual bool createPortGroups() override
Called by init. Derived classes should override this method to create all their input/output port gro...
DtInputPortGroup * myParachuteControlInputPortGroup
Ports and port groups.
Definition: baseParachuteActuator.h:155
Contains class declarations for DtConstrainedAnalogInputPort and DtConstrainedAnalogOutputPort.
Definition: constrainedAnalogIOPort.h:30
virtual DtVector calculateDragForces(const DtVector &oldLocalPosition, const DtVector &oldLocalVelocity)
Calculates acceleration from Drag forces–In this case wind.
const DtFallingFromSkyActuatorComponent & operator=(const DtFallingFromSkyActuatorComponent &orig)
assignment operator; not implemented
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
virtual void tick() override
Calls isFallingApplicable to determine if it should do anything, and if so calls fallFromSky.
Contains class declarations for DtVectorInputPort, DtVectorOutputPort, and DtVectorPortData.
Definition: vectorIOPort.h:27
DtBooleanInputPort * myDeployedPort
Ports and port groups.
Definition: baseParachuteActuator.h:152
virtual bool isFallingApplicable()
Determines if this actuator is applicable. For the base actuator, it is only applicable if the entity...
virtual void fallFromSky()
Causes the entity to fall from the sky. Takes into account drag coefficient from descriptor.
virtual double dragAccelerationFromSpeed(double curSpeed) const
Calculates acceleration of object given current speed.
Instances of DtAnalogOutputPort are input ports through which data producers can send real numbers...
Definition: analogIOPort.h:45
DtBooleanOutputPort * myFallingOutputPort
Ports and port groups.
Definition: baseParachuteActuator.h:158
DtParachuteActuatorDescriptor * myParachuteActuatorDescriptor
Definition: baseParachuteActuator.h:148
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Member to allow for access to platform specific data.
Definition: baseParachuteActuator.h:166
Contains class declarations for DtBooleanInputPort, DtBooleanOutputPort, and DtBooleanPortData.
Definition: boolIOPort.h:25
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
DtParachuteActuatorPSR * myProcessState
Definition: baseParachuteActuator.h:163
DtConstrainedAnalogInputPort * myLeftToggleInputPort
Ports and port groups.
Definition: baseParachuteActuator.h:153
DtAnalogOutputPort * myMaxTurnRateOutputPort
Ports and port groups.
Definition: baseParachuteActuator.h:157
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
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
double calcRoll(const DtVector &geocLoc, const DtTaitBryan &geocOri)
DtInputPortGroup is a data port group of a data consumer. It may contain any number of DtInputPorts a...
Definition: inputPortGroup.h:35
Contains class declarations for DtAnalogInputPort, DtAnalogOutputPort, and DtAnalogPortData.
Definition: analogIOPort.h:25
DtAnalogInputPort * myAglInputPort
Ports and port groups.
Definition: baseParachuteActuator.h:160
DtFallingFromSkyActuatorComponent provides a simple, kinematics-based model for air motion based on t...
Definition: fallingFromSkyActuatorComponent.h:34
virtual bool init() override
to get access to the entity&#39;s localStateRepository, which this component will update, and then connect to the controller&#39;s ports.
Definition: parachuteActuatorDescriptor.h:17
DtConstrainedAnalogInputPort * myRightToggleInputPort
Ports and port groups.
Definition: baseParachuteActuator.h:154
double calcPitch(const DtVector &geocLoc, const DtTaitBryan &geocOri)
class DtParachuteActuatorPSR:
Definition: parachuteActuatorPSR.h:26
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)