SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
ReviewHistory/include/akCore/akTrajectoryModel.h
»õ ÆÄÀÏ
@@ -0,0 +1,66 @@
#pragma once
#include "akCoreLinker.h"
#include "akStruct.h"
#include "akDE.h"
#include <vector>
namespace akCore
{
   struct _Waypoint
   {
      double x;
      double y;
      double z;
      double speed;
   };
   class AKCORE_DLLSPEC CakTrajcetoryModel
   {
   public:
      CakTrajcetoryModel(void);
      ~CakTrajcetoryModel(void);
   public:
      virtual int calculate(float dTime); //더이상 ê³„ì‚°í•  ê²½ë¡œì ì´ ì—†ì„ ê²½ìš° 2를 ë°˜í™˜
      void setCurrentByWaypoint(int nWaypointIndex); //현재값을 ê²½ë¡œì  ê¸°ì¤€ìœ¼ë¡œ ì…‹íŒ…
   public:
      //현재 ê°’
      akVector3d m_position; //위치
      akVector3d m_rotate; //자세
      double m_velocity; //속도
      double m_acc;   //가속도
      akVector3d m_rotateAcc; //각속도
      //부여 ë°›ì€ ëª…ë ¹ ì„¤ì •
      akVector3d m_TaskPosition;
      double m_TaskVelocity;
      double m_TaskAcc;
      //객체 ì •ë³´ ê´€ë¦¬
      double mass; //무게
      double maxSpeed; //최대 ì†ë„
      double minSpeed; //최저 ì†ë„
      double maxAcceleration; //가속도
      double maxDeceleration; //감속도
      akVector3d m_rotateVelRate;
      //경로점 ê´€ë¦¬
   public:
      int m_nWaypointType; //0 ë§ˆì§€ë§‰ ê²½ë¡œì ì´ë©´ ëë‚¸ë‹¤, 1경로점 ìˆœíšŒ, 2경로점 ì™•ë³µ
      int m_nWaypointSet; //현재 ì„¤ì •된 ê²½ë¡œì 
      std::vector<_Waypoint> m_vecWaypoint;
   protected:
      void getAngle3d(double x1, double y1, double z1, double x2, double y2, double z2, double* heading, double* pitch);
      double getHeading(double x , double y);
   protected:
      CakDE m_movementmodel;
   };
}