#pragma once #include class AFX_EXT_CLASS CMotionInfo_Axis { public: CMotionInfo_Axis(int nIndex=0); virtual ~CMotionInfo_Axis(); // getter int GetIndex() const; double GetVelocity() const; double GetAccelTime() const; double GetDecelTime() const; double GetStartPos() const; double GetEndPos() const; int GetMoveDirection() const; double GetCurVelocity() const; double GetCurAccelTime() const; double GetCurDecelTime() const; double GetCurFixTime() const; double GetCurTotalTime() const; double GetCurAccelDist() const; double GetCurDecelDist() const; double GetCurFixDist() const; double GetCurTotalDist() const; // setter void SetVelocity(double dVelocity); void SetAccelTime(double dAccelTime); void SetDecelTime(double dDecelTime); void SetStartPos(double dStartPos); void SetEndPos(double dEndPos); void SetData(double dVelocity, double dAccelTime, double dDecelTime, double dStartPos, double dEndPos); // calculate int CalculateMotion(double dTime, double& dPos, double& dVelocity, BOOL& bEnd); protected: int CalculateValue(); protected: int m_nIndex; double m_dVelocity; // mm/sec double m_dAccelTime; // sec double m_dDecelTime; // sec double m_dStartPos; // mm double m_dEndPos; // mm int m_nMoveDirection; // 0 is not calculated double m_dCurVelocity; double m_dCurAccelTime; double m_dCurDecelTime; double m_dCurTotalTime; double m_dCurFixTime; double m_dCurAccelDist; double m_dCurDecelDist; double m_dCurFixDist; double m_dCurTotalDist; }; typedef std::vector VectorMotionInfo_Axis; typedef std::vector::iterator VectorMotionInfo_AxisIt; typedef std::vector::const_iterator constVectorMotionInfo_AxisIt;