INOS
cinosmovepathpartlinearbay.h
Go to the documentation of this file.
1//******************************************************************************
26//******************************************************************************
27#ifndef INC_CINOSMOVEPATHPARTLINEARBAY_H
28#define INC_CINOSMOVEPATHPARTLINEARBAY_H
29//------------------------------------------------------------------------------
30// includes
31//------------------------------------------------------------------------------
32//
33// system
34#include <inos.h>
35//
36// C++
37#include <math.h>
38//
39// project
40//
41//------------------------------------------------------------------------------
42// class definition
43//------------------------------------------------------------------------------
44//
46{
47 //--- user interface ---------------------------------------------------
48
49 // public member functions
50 public :
51
54 {
55 // axis R is our main one
56 return m_uIndexR;
57 }
58
60 virtual uint32 GetInvolved()
61 {
62 return (1<<m_uIndexR)|(1<<m_uIndexX);
63 }
64
66 virtual double Prepare(uint32 auIncremental, double* apPosition);
67
69 virtual void GetPosition(double adP, double* apPosition);
71 virtual void GetDerivative(uint32 auLevel, double adP, double* apDerivative);
73 virtual void GetD2max(double* apD2max);
75 virtual void GetD3max(double* apD3max);
76
77 //--- internals --------------------------------------------------------
78
79 friend class CINOSMovePath;
80
81 // constructor / destructor
82 protected :
85 double adValueR, double adValueX, double adGripperLength);
88
90 double rad(double a)
91 {
92 return a*M_PI/180.0;
93 }
94
96 double deg(double a)
97 {
98 return a*180.0/M_PI;
99 }
100
101 // protected members
102 protected :
107
109 double m_dLength;
111 double m_dPosR0;
113 double m_dOfsX0;
114
116 double m_dValueR;
118 double m_dValueX;
123
124 // dynamic object handling
126};
127
128//------------------------------------------------------------------------------
129// end of file
130//------------------------------------------------------------------------------
131
132#endif // INC_CINOSMOVEPATHPARTBAYLINEAR_H
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition cinosmcmodule.h:1900
Definition cinosmovepathpartlinearbay.h:46
double m_dOfsX0
X0 offset.
Definition cinosmovepathpartlinearbay.h:113
virtual void GetD3max(double *apD3max)
get max 3. derivative of part
double m_dValueX
requested X value
Definition cinosmovepathpartlinearbay.h:118
double m_dPosR0
R0.
Definition cinosmovepathpartlinearbay.h:111
virtual void GetDerivative(uint32 auLevel, double adP, double *apDerivative)
get auLevel derivative at P
virtual void GetPosition(double adP, double *apPosition)
get position at P
CINOSMovePathPartLinearBay(uint8 auIndexR, uint8 auIndexX, double adValueR, double adValueX, double adGripperLength)
constructor
uint8 m_uIndexR
index axis R
Definition cinosmovepathpartlinearbay.h:104
double m_dLength
part length
Definition cinosmovepathpartlinearbay.h:109
virtual uint8 GetMainAxisIndex()
get main axis index (relevant for abs/inc/nlg)
Definition cinosmovepathpartlinearbay.h:53
double m_dGripperLength
gripper length
Definition cinosmovepathpartlinearbay.h:120
double m_dGripperLength_1
1 / gripper length
Definition cinosmovepathpartlinearbay.h:122
virtual uint32 GetInvolved()
get mask of involved axes
Definition cinosmovepathpartlinearbay.h:60
virtual void GetD2max(double *apD2max)
get max 2. derivative of part
double m_dValueR
requested R value
Definition cinosmovepathpartlinearbay.h:116
virtual double Prepare(uint32 auIncremental, double *apPosition)
prepare part
virtual ~CINOSMovePathPartLinearBay()
destructor
double deg(double a)
convert rad -> deg
Definition cinosmovepathpartlinearbay.h:96
uint8 m_uIndexX
index axis X
Definition cinosmovepathpartlinearbay.h:106
double rad(double a)
convert deg -> rad
Definition cinosmovepathpartlinearbay.h:90
Definition cinosmovepathpart.h:45
Definition cinosmovepath.h:566