INOS
cinostrapezeramp.h
Go to the documentation of this file.
1 //******************************************************************************
27 //******************************************************************************
28 
29 #ifndef INC_CINOSTRAPEZERAMP_H
30 #define INC_CINOSTRAPEZERAMP_H
31 //
32 //******************************************************************************
33 //
34 //------------------------------------------------------------------------------
35 // defines
36 //------------------------------------------------------------------------------
37 //
38 #define DF_INOS_TRAPEZE_RAMP_DBT "INOS-TRAPEZE-RAMP" // db table name
39 #define DF_INOS_TRAPEZE_RAMP_NAME "CINOSTrapezeRamp" // ramp name
40 //
41 //------------------------------------------------------------------------------
42 // includes
43 //------------------------------------------------------------------------------
44 //
45 // system
46 #include <cinosbaseramp.h>
47 //
48 // C++
49 //
50 // project
51 //
52 //------------------------------------------------------------------------------
53 //--- structures ---------------------------------------------------------------
54 //------------------------------------------------------------------------------
55 //
58 {
59  //declare constructor to suppress compiler warning
60  //delete it if SINOSTrapezeRamp has one ore more member variable
62 };
63 
64 //------------------------------------------------------------------------------
65 // class definition
66 //------------------------------------------------------------------------------
67 //
70 {
71  //--- user interface ---------------------------------------------------
72 
73  public:
74 
76  explicit CINOSTrapezeRamp(SINOSTrapezeRamp* apDesc = 0);
78  virtual ~CINOSTrapezeRamp();
80  static uint32 GetVersion();
81 
82  // miscellaneous functions
83  virtual void GetCmdRealJerk(real64& arJerk, uint32 auNumber = 0) override;
84  //; get commanded real jerk
85  virtual bool StopLive(real64 arSlowMotion = 1.0, SINOSRampParam* apParam = 0) override;
87  virtual CINOSBaseRamp* Clone() override;
88  #ifndef INOS_RAMP_DLL
89  virtual CINCOObject* GetRegister(const char* apName = "Ramp") override;
92  virtual CINCOObject* GetParamSetRegister(CINOSBaseRampParamSet* apSet) override;
93  #endif
94 
95  //--- internals --------------------------------------------------------
96 
97  // protected member functions
98  protected:
101  virtual ECalcMoveResult CalcMove(real64 arSlen, SINOSRampParam* apParam, CINOSRampSegTra*& apSegAcc,
102  CINOSRampSegCns*& apSegCns, CINOSRampSegTra*& apSegDec, real64 arVbgn = REAL64(0.0),
103  real64 arVend = REAL64(0.0), real64 arAbgn = REAL64(0.0),
104  real64 arAend = REAL64(0.0), real64 arDuration = REAL64(-1.0)) override;
106  CINOSRampSegTra* CalcSegTra(
107  real64 arVb, // starting velocity
108  real64 arAb, // starting acceleration
109  real64 arVe, // ending velocity
110  SINOSRampParam* apParam, // requested parameters
111  CINOSRampSegTra* apResult=0, // result
112  real64 arJb=REAL64(-1.0), // requested begin jerk
113  real64 arJe=REAL64(-1.0), // requested end jerk
114  ECalcSegTraType aeType = eClcSegTraCompatible
115  ) override;
117  real64 CalcVmax(real64 adS, SINOSRampParam* apParam);
118 
119  // protected members
120  protected:
121 
122  // allow dynamic object handling (new/delete)
123  DECLARE_DYNAMIC(CINOSTrapezeRamp);
124 };
125 //
126 //------------------------------------------------------------------------------
127 // end of file
128 //------------------------------------------------------------------------------
129 
130 #endif // INC_CINOSTRAPEZERAMP_H
SINOSBaseRamp
Descriptor structure used to configure a ramp. It is usually defined in a corresponding xxx....
Definition: cinosbaseramp.h:210
CINOSTrapezeRamp::CalcVmax
real64 CalcVmax(real64 adS, SINOSRampParam *apParam)
calc max. allowed V for S
SINOSTrapezeRamp
structure of INOS-TRAPEZE-RAMP database table
Definition: cinostrapezeramp.h:57
cinosbaseramp.h
Short comment.
CINOSTrapezeRamp::CalcSegTra
CINOSRampSegTra * CalcSegTra(real64 arVb, real64 arAb, real64 arVe, SINOSRampParam *apParam, CINOSRampSegTra *apResult=0, real64 arJb=REAL64(-1.0), real64 arJe=REAL64(-1.0), ECalcSegTraType aeType=eClcSegTraCompatible) override
calc transition segment
CINOSBaseRamp
Definition: cinosbaseramp.h:751
CINOSTrapezeRamp::GetParamSetRegister
virtual CINCOObject * GetParamSetRegister(CINOSBaseRampParamSet *apSet) override
create registration for apSet and return pointer to it
CINOSTrapezeRamp::~CINOSTrapezeRamp
virtual ~CINOSTrapezeRamp()
destructor
CINOSTrapezeRamp::CalcMove
virtual ECalcMoveResult CalcMove(real64 arSlen, SINOSRampParam *apParam, CINOSRampSegTra *&apSegAcc, CINOSRampSegCns *&apSegCns, CINOSRampSegTra *&apSegDec, real64 arVbgn=REAL64(0.0), real64 arVend=REAL64(0.0), real64 arAbgn=REAL64(0.0), real64 arAend=REAL64(0.0), real64 arDuration=REAL64(-1.0)) override
CINOSBaseRampParamSet
Definition: cinosbaseramp.h:696
CINOSTrapezeRamp::Clone
virtual CINOSBaseRamp * Clone() override
clone myself and return pointer to it
CINOSTrapezeRamp::CINOSTrapezeRamp
CINOSTrapezeRamp(SINOSTrapezeRamp *apDesc=0)
constructor
CINOSTrapezeRamp
definition of the CINOSTrapezeRamp class
Definition: cinostrapezeramp.h:69
CINOSTrapezeRamp::GetRegister
virtual CINCOObject * GetRegister(const char *apName="Ramp") override
return pointer to my inco object
CINOSTrapezeRamp::GetVersion
static uint32 GetVersion()
get ramp generator version
SINOSRampParam
ramp parameters
Definition: cinosbaseramp.h:502