INOS
cinosmovepathinterpolatorblend.h
Go to the documentation of this file.
1 //******************************************************************************
26 //******************************************************************************
27 #ifndef INC_CINOSMOVEPATHINTERPOLATORBLEND_H
28 #define INC_CINOSMOVEPATHINTERPOLATORBLEND_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 // blend class definition
47 //------------------------------------------------------------------------------
48 //
50 
52  double m_dStart;
53  double m_dEnd;
54  double m_dFactor;
55 
57  TINOSMovePathVec m_dB1;
58  TINOSMovePathVec m_dM1;
59  TINOSMovePathVec m_dB2;
60  TINOSMovePathVec m_dM2;
61 
64 };
65 
66 //------------------------------------------------------------------------------
67 // class definition
68 //------------------------------------------------------------------------------
69 //
71 {
72  //--- user interface ---------------------------------------------------
73 
74  // public member functions
75  public :
76 
78  virtual void GetPosition(double adP, CINOSMovePathSegment*& opSegment,
79  TINOSMovePathVec& ovPos) override;
80 
82  virtual uint32 Prepare() override;
83 
84  //--- internals --------------------------------------------------------
85 
86  // constructor / destructor
87  public :
90  CINOSMovePathCurve* apCurve,
91  CINOSMovePath* apPath = NULL);
94  BlendCleanup();
95  };
96 
97  // protected member functions
98  protected :
100  virtual void Cleanup() override;
101 
102  // private member functions
103  private:
105  void BlendCleanup();
106 
107  // protected members
108  protected :
111  struct SINOSMovePathInterpolatorBlendSegment* m_pLstBlend;
112  struct SINOSMovePathInterpolatorBlendSegment* m_pActBlend;
113 
114  // dynamic
116 };
117 
118 //------------------------------------------------------------------------------
119 // end of file
120 //------------------------------------------------------------------------------
121 
122 #endif // INC_CINOSMOVEPATHINTERPOLATORBLEND_H
CINOSMovePathInterpolatorBlend
Definition: cinosmovepathinterpolatorblend.h:70
CINOSMovePathInterpolatorBlend::m_pFstBlend
struct SINOSMovePathInterpolatorBlendSegment * m_pFstBlend
blend chain
Definition: cinosmovepathinterpolatorblend.h:110
SINOSMovePathInterpolatorBlendSegment::m_pNext
SINOSMovePathInterpolatorBlendSegment * m_pNext
pointer to next blend
Definition: cinosmovepathinterpolatorblend.h:63
CINOSMovePathInterpolatorBlend::Cleanup
virtual void Cleanup() override
cleanup
CINOSMovePathInterpolator
Definition: cinosmovepathinterpolator.h:81
CINOSMovePathInterpolatorBlend::~CINOSMovePathInterpolatorBlend
virtual ~CINOSMovePathInterpolatorBlend()
destructor
Definition: cinosmovepathinterpolatorblend.h:93
CINOSMovePath
Definition: cinosmovepath.h:549
CINOSMovePathSegment
Definition: cinosmovepathsegment.h:44
CINOSMovePathCurve
Definition: cinosmovepathcurve.h:55
cinosmovepathinterpolator.h
The CINOSMovePathInterpolator class.
CINOSMovePathInterpolatorBlend::GetPosition
virtual void GetPosition(double adP, CINOSMovePathSegment *&opSegment, TINOSMovePathVec &ovPos) override
get position vector at 'adP'
SINOSMovePathInterpolatorBlendSegment::m_dB1
TINOSMovePathVec m_dB1
polynom vectors
Definition: cinosmovepathinterpolatorblend.h:57
CINOSMovePathInterpolatorBlend::CINOSMovePathInterpolatorBlend
CINOSMovePathInterpolatorBlend(CINOSMovePathCurve *apCurve, CINOSMovePath *apPath=NULL)
constructor
SINOSMovePathInterpolatorBlendSegment
Definition: cinosmovepathinterpolatorblend.h:49
CINOSMovePathInterpolatorBlend::Prepare
virtual uint32 Prepare() override
do precalculation
DECLARE_DYNAMIC
#define DECLARE_DYNAMIC(aClass)
Definition: cinospartitionmemory.h:328
SINOSMovePathInterpolatorBlendSegment::m_dStart
double m_dStart
start
Definition: cinosmovepathinterpolatorblend.h:52