VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vtolRotorActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
16 
17 namespace makVrf
18 {
19  class DtArticulatedPartStateRepository;
20 }
21 
22 class DtString;
24 class DtSimObjectBaseObjectStateRepository;
28 
41 {
42 
43 public:
44 
47  DtVtolRotorActuator(const DtString& name,
48  DtLocalObject* owner,
49  DtSimulationServices* simManager,
50  DtComponentDescriptor* desc = 0,
51  DtReaderWriterRegistry* parentRegistry = 0);
52 
54  virtual ~DtVtolRotorActuator() override;
55 
56  virtual bool init() override;
57 
59  virtual bool postAddComponentsInit() override;
60 
63  virtual const char* type() const override;
64 
66  virtual void tick() override;
67 
68  virtual double desiredAngle(double forwardSpeed);
69 
70 
72 
73 
77  static DtSimComponent * creator(const DtString& name,
78  DtLocalObject* owner,
79  DtSimulationServices* simManager,
80  DtComponentDescriptor* desc = 0,
81  DtReaderWriterRegistry* parentRegistry = 0);
82 protected:
83 
85  {
86  State_Open = 0,
87  State_In_Transision = 1,
88  State_Closed = 2
89  };
90 
96  virtual DtSwingingPartActuatorPSR* createPSR();
97 
98  virtual void setPositionAndRate(DtVector newPos, DtVector newRate);
99 
100  virtual bool angleWithinSlewArc(double angle, double desiredAngle, bool direction);
101 
102  virtual void updateAxis(int axisNum, const DtSwingingPartActuatorAxisInfo& axisInfo, bool direction, DtVector& newPos, DtVector& newRate, double desiredAngle);
103 
104  virtual const DtSwingingPartActuatorAxisInfo& yAxisInfo() const;
105 
106 private:
112  const DtVtolRotorActuator & operator=(const
113  DtVtolRotorActuator & orig);
114 
115 protected:
116 
117  //TODO: ADD PSR FOR ART PARTS
119 
121 
122  DtReal myHoverAngle;
123 
125 
127 
129 
132 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:126
DtVtolRotorActuatorDescriptor; descriptor for the DtVtolRotorActuatorComponent component.
Definition: vtolRotorActuatorDescriptor.h:25
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:27
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
Definition: swingingPartActuatorPSR.h:21
DtVtolRotorActuator is a simple actuator which controls the movement of an articulated part as it swi...
Definition: vtolRotorActuator.h:40
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
DtReal myHoverAngle
Definition: vtolRotorActuator.h:122
End User Description: DtActuator is the base class for all actuator model components. Developer Description: The DtActuator base class caches a pointer to the entity's radio for convenience. Derived classes may have articulated parts that are configured from the DtActuatorComponentDescriptor's DtSimArtPartDescriptorList. For each articulated part in the list a DtArticulatedPartStateRepository will be created to store the data for the part such as it's location, rotation and so forth. These are created in the entity's DtVrfObjectStateRepository createParts() function. This call creates all the attached parts for all the actuators. These articulated state repositories are managed by the DtAttachmentManager. They are cached by their partType which is the DIS Enumeration describing the part from the disEnums.h file and was specified in the actuator's DtActuatorComponentDescriptor as descriped above. The partType is used as the category of the DtEntityType used to look up articulated parts in the DtAttachementManager. When an actuator needs access to a particular articulated part it looks it up by the part's object type.
Definition: actuatorComponent.h:47
DtReal myMaxSpeedAngle
Definition: vtolRotorActuator.h:124
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Member to allow for access to platform specific data.
Definition: vtolRotorActuator.h:131
DtReal myMaxForwardSpeed
Definition: vtolRotorActuator.h:126
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
virtual bool init() override
Overridden to cache a pointer to the entity's radio in this class.
DtPartState
Definition: vtolRotorActuator.h:84
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
makVrf::DtArticulatedPartStateRepository * myArtPartStateRep
Definition: vtolRotorActuator.h:118
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
The DtArticulatedPartStateRepository class is used to represent articulated parts for an entity...
Definition: articulatedPartStateRepository.h:40
Information for a particular axis of swinging.
Definition: swingingPartActuatorDescriptor.h:22
const DtVtolRotorActuatorDescriptor * myDescriptor
Definition: vtolRotorActuator.h:120
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
A locally simulated VRF object.
Definition: localObject.h:98
DtSwingingPartActuatorPSR * myProcessState
Definition: vtolRotorActuator.h:128

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)