INOS
cinosmovepathinterpolatorclothoid.h
Go to the documentation of this file.
1 //******************************************************************************
26 //******************************************************************************
27 #ifndef INC_CINOSMOVEPATHINTERPOLATORCLOTHOID_H
28 #define INC_CINOSMOVEPATHINTERPOLATORCLOTHOID_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 
57  virtual void GetPosition(double adP, CINOSMovePathSegment*& opSegment,
58  TINOSMovePathVec& ovPos) override;
59 
61  virtual uint32 Prepare() override;
62 
64  virtual bool IsCurveContinuous(uint32 auLevel) override;
65  //--- internals --------------------------------------------------------
66 
67  // constructor / destructor
68  public :
71  CINOSMovePathCurve* apCurve,
72  CINOSMovePath* apPath = NULL);
75 
76 
78  double CalcAngleAndDirection(TINOSMovePathVec& vDir1,
79  TINOSMovePathVec& vDir2, bool& abCw);
81  double CalcRotationAngle(TINOSMovePathVec& vVector1,
82  TINOSMovePathVec& vVector2);
84  uint32 CalcIntersection(CINOSMovePathSegment* apSegment1,
85  CINOSMovePathSegment* apSegment2,
86  TINOSMovePathVec& vIntersection);
87 
88  // protected members
89  protected :
91  uint8 ind0 = 0;
92  uint8 ind1 = 1;
93 
94  // dynamic
95  DECLARE_DYNAMIC(CINOSMovePathInterpolatorClothoid);
96 };
97 
98 //------------------------------------------------------------------------------
99 // end of file
100 //------------------------------------------------------------------------------
101 
102 #endif // INC_CINOSMOVEPATHINTERPOLATORCLOTHOID_H
CINOSMovePathInterpolatorClothoid::CalcAngleAndDirection
double CalcAngleAndDirection(TINOSMovePathVec &vDir1, TINOSMovePathVec &vDir2, bool &abCw)
calc angle between segment1 and segment2 and direction
CINOSMovePathInterpolatorClothoid
Definition: cinosmovepathinterpolatorclothoid.h:49
CINOSMovePathInterpolatorClothoid::CalcRotationAngle
double CalcRotationAngle(TINOSMovePathVec &vVector1, TINOSMovePathVec &vVector2)
calc angle between vector1 and vector2
CINOSMovePathInterpolatorClothoid::~CINOSMovePathInterpolatorClothoid
virtual ~CINOSMovePathInterpolatorClothoid()
destructor
Definition: cinosmovepathinterpolatorclothoid.h:74
CINOSMovePathInterpolatorClothoid::IsCurveContinuous
virtual bool IsCurveContinuous(uint32 auLevel) override
check if curve continuous
CINOSMovePathInterpolator
Definition: cinosmovepathinterpolator.h:81
CINOSMovePathInterpolatorClothoid::GetPosition
virtual void GetPosition(double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) override
get position vector at 'adP'
CINOSMovePath
Definition: cinosmovepath.h:565
CINOSMovePathSegment
Definition: cinosmovepathsegment.h:44
CINOSMovePathCurve
Definition: cinosmovepathcurve.h:55
cinosmovepathinterpolator.h
The CINOSMovePathInterpolator class.
CINOSMovePathInterpolatorClothoid::CalcIntersection
uint32 CalcIntersection(CINOSMovePathSegment *apSegment1, CINOSMovePathSegment *apSegment2, TINOSMovePathVec &vIntersection)
calc intersection vector between linear segment1 and linear segment2
CINOSMovePathInterpolatorClothoid::ind0
uint8 ind0
axes indexes
Definition: cinosmovepathinterpolatorclothoid.h:91
CINOSMovePathInterpolatorClothoid::Prepare
virtual uint32 Prepare() override
do precalculation
CINOSMovePathInterpolatorClothoid::CINOSMovePathInterpolatorClothoid
CINOSMovePathInterpolatorClothoid(CINOSMovePathCurve *apCurve, CINOSMovePath *apPath=NULL)
constructor