VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
swingingPartActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2006 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
17 
18 class DtString;
19 class DtSimManager;
20 class DtBooleanInputPort;
21 class DtIntegerOutputPort;
22 class DtSimObjectBaseObjectStateRepository;
26 
39  public DtBindableLuaComponent<DtSwingingPartActuator>
40 {
41 
42 public:
43 
46  DtSwingingPartActuator(const DtString& name,
47  DtVrfObject* owner,
48  DtSimManager* simManager,
49  DtComponentDescriptor* desc = 0,
50  DtReaderWriterRegistry* parentRegistry = 0);
51 
53  virtual ~DtSwingingPartActuator();
54 
55  virtual bool init();
56 
58  virtual bool postAddComponentsInit();
59 
62  virtual const char* type() const;
63 
65  virtual void tick();
66 
70  static DtSimComponent * creator(const DtString& name,
71  DtVrfObject* owner,
72  DtSimManager* simManager,
73  DtComponentDescriptor* desc = 0,
74  DtReaderWriterRegistry* parentRegistry = 0);
75 
78  virtual void bindLuaFunctions(lua_State* L);
79  virtual void bindLuaGlobals(lua_State* L);
80 
81 public:
85  virtual void open();
86 
89  virtual void reset();
90 
92  virtual void close();
93 
95  virtual bool isOpened() const;
96 
98  virtual bool isClosed() const;
100 
101 protected:
102 
104  {
105  State_Closed = 0,
106  State_In_Transision = 1,
107  State_Open = 2
108  };
109 
111  virtual bool createPorts();
112 
118  virtual DtSwingingPartActuatorPSR* createPSR();
119 
121  virtual void setPositionAndRate(DtVector newPos, DtVector newRate);
122 
125  virtual bool angleWithinSlewArc(double angle, const DtSwingingPartActuatorAxisInfo& axisInfo);
126 
127  virtual DtPartState updateAxis(int axisNum, const DtSwingingPartActuatorAxisInfo& axisInfo, bool desiredOpen, DtVector& newPos, DtVector& newRate);
128 
129 private:
135  const DtSwingingPartActuator & operator=(const
136  DtSwingingPartActuator & orig);
137 
138 protected:
139 
142 
147 
155 
158 
160 
164 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)