INOS
cinosmovepathtrajectorysegment.h
Go to the documentation of this file.
1 //******************************************************************************
26 //******************************************************************************
27 #ifndef INC_CINOSMOVEPATHTRAJECTORYSEGMENT_H
28 #define INC_CINOSMOVEPATHTRAJECTORYSEGMENT_H
29 //------------------------------------------------------------------------------
30 // defines
31 //------------------------------------------------------------------------------
32 //
33 //------------------------------------------------------------------------------
34 // includes
35 //------------------------------------------------------------------------------
36 //
37 // system
38 #include <inos.h>
40 //
41 // C++
42 //
43 // project
44 //
45 //------------------------------------------------------------------------------
46 // class definition
47 //------------------------------------------------------------------------------
48 //
50 {
51  //--- user interface ---------------------------------------------------
52 
53  // public member functions
54  public :
55 
62  virtual uint32 GetMoveTime(double& adMoveTime, double adDelta = 0.0) override;
63 
65  virtual uint32 Stop() override
66  { return 0; };
68  virtual uint32 Break() override
69  { return 0; };
71  virtual uint32 Continue() override
72  { return 0; };
73 
74  //--- internals --------------------------------------------------------
75 
76  // constructor / destructor
77  public :
82 
84  virtual uint32 PrepareAppend() override;
85 
87  virtual uint32 Append() override;
88 
90  virtual uint32 Prepare() override;
91 
92 
93  virtual uint32 iPrepare()override;
95  virtual bool GenData(CINOSMovePathSegment*& opSegment, double& adP,
96  TINOSMovePathVec& vPos) override;
97 
99  double CheckFollow(CINOSMovePathInterpolatorSegment* apSegment,
100  double adV, double adVmax);
101 
102  // protected members
103  protected :
105  CINOSMovePathInterpolatorSegment* m_pRunSegment = nullptr;
106 
108  CINOSMovePathInterpolatorSegment* m_pLastRunSegment = nullptr;
110  double m_dMoveTime = 0.0;
111 
112  CINOSMovePathInterpolator* m_pInterpolator = nullptr;
113  // dynamic
114  DECLARE_DYNAMIC(CINOSMovePathTrajectorySegment);
115 };
116 
117 //------------------------------------------------------------------------------
118 // end of file
119 //------------------------------------------------------------------------------
120 
121 #endif // INC_CINOSMOVEPATHTRAJECTORYSEGMENT_H
CINOSMovePathTrajectorySegment::~CINOSMovePathTrajectorySegment
virtual ~CINOSMovePathTrajectorySegment()
destructor
CINOSMovePathTrajectorySegment::PrepareAppend
virtual uint32 PrepareAppend() override
prepare trajectory of curve to append
CINOSMovePathTrajectorySegment::m_pRunSegment
CINOSMovePathInterpolatorSegment * m_pRunSegment
current run index
Definition: cinosmovepathtrajectorysegment.h:105
CINOSMovePathTrajectorySegment
Definition: cinosmovepathtrajectorysegment.h:49
CINOSMovePathTrajectorySegment::Stop
virtual uint32 Stop() override
stop move path
Definition: cinosmovepathtrajectorysegment.h:65
CINOSMovePathTrajectorySegment::Break
virtual uint32 Break() override
break move path
Definition: cinosmovepathtrajectorysegment.h:68
CINOSMovePathTrajectorySegment::m_pLastRunSegment
CINOSMovePathInterpolatorSegment * m_pLastRunSegment
max run index
Definition: cinosmovepathtrajectorysegment.h:108
CINOSMovePathTrajectorySegment::Prepare
virtual uint32 Prepare() override
prepare trajectory
CINOSMovePathTrajectorySegment::Continue
virtual uint32 Continue() override
continue move path
Definition: cinosmovepathtrajectorysegment.h:71
CINOSMovePathInterpolator
Definition: cinosmovepathinterpolator.h:81
CINOSMovePath
Definition: cinosmovepath.h:549
CINOSMovePathTrajectorySegment::CINOSMovePathTrajectorySegment
CINOSMovePathTrajectorySegment(CINOSMovePath *apPath=NULL)
constructor
CINOSMovePathSegment
Definition: cinosmovepathsegment.h:44
CINOSMovePathTrajectorySegment::GetMoveTime
virtual uint32 GetMoveTime(double &adMoveTime, double adDelta=0.0) override
Return time [sec] the path needs until End - Delta.
CINOSMovePathTrajectorySegment::m_dMoveTime
double m_dMoveTime
calculated movetime
Definition: cinosmovepathtrajectorysegment.h:110
CINOSMovePathTrajectorySegment::Append
virtual uint32 Append() override
append curve to trajectory
CINOSMovePathTrajectory
Definition: cinosmovepathtrajectory.h:80
CINOSMovePathTrajectorySegment::CheckFollow
double CheckFollow(CINOSMovePathInterpolatorSegment *apSegment, double adV, double adVmax)
check following axis velocity
cinosmovepathtrajectory.h
The CINOSMovePathTrajectors class.
CINOSMovePathTrajectorySegment::iPrepare
virtual uint32 iPrepare() override
prepare run
CINOSMovePathTrajectorySegment::GenData
virtual bool GenData(CINOSMovePathSegment *&opSegment, double &adP, TINOSMovePathVec &vPos) override
generate data