VR-Forces 4.7 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:
86  virtual void open();
87  virtual void openWithRate(double rate);
88 
91  virtual void reset();
92 
95  virtual void close();
96  virtual void closeWithRate(double rate);
97 
99  virtual bool isOpened() const;
100 
102  virtual bool isClosed() const;
104 
105 protected:
106 
108  {
109  State_Closed = 0,
110  State_In_Transision = 1,
111  State_Open = 2
112  };
113 
115  virtual bool createPorts();
116 
122  virtual DtSwingingPartActuatorPSR* createPSR();
123 
125  virtual void setPositionAndRate(DtVector newPos, DtVector newRate);
126 
129  virtual bool angleWithinSlewArc(double angle, const DtSwingingPartActuatorAxisInfo& axisInfo);
130 
131  virtual DtPartState updateAxis(int axisNum, const DtSwingingPartActuatorAxisInfo& axisInfo, bool desiredOpen, DtVector& newPos, DtVector& newRate);
132 
133 private:
139  const DtSwingingPartActuator & operator=(const
140  DtSwingingPartActuator & orig);
141 
142 protected:
143 
146 
151 
159 
162 
164 
168 };

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)