00001 00002 // 00003 // Title : PathBlend.h 00004 // Project : OSCAR 2.0 00005 // Created : 8/04/04 00006 // Author : Peter S. March 00007 // Platforms : All 00026 // Access : Company Confidential 00027 // Purpose : 00028 // 00029 //---------------------------------------------------------------------------- 00030 // 00031 // Classes: 00032 // <none> 00033 // 00034 // Global Functions: 00035 // <none> 00036 // 00037 // Global Variables: 00038 // <none> 00039 // 00040 //---------------------------------------------------------------------------- 00041 // 00042 // $Revisions$ 00043 // 00044 // 00045 // 00047 #ifndef OSCARPathBlend_hpp 00048 #define OSCARPathBlend_hpp 00049 00050 #if _MSC_VER >= 1000 00051 #pragma once 00052 #endif // _MSC_VER >= 1000 00053 00054 00055 #include <vector> 00056 #include "Math/HandPose.h" 00057 #include "Math/Matrix.h" 00058 #include "MotionPlanning/MotionPlanErrors.h" 00059 #include "Math/Quaternion.h" 00060 00062 namespace OSCAR { 00063 00075 class PathBlend : public virtual Base 00076 { 00077 public: 00090 PathBlend(double Velocity, double SampleTime, double BreakPoint=0.8, OSCARError& err = DUMMY_ERROR(noError)); 00091 00092 00100 PathBlend(const PathBlend& rhs); 00101 00109 PathBlend& operator=(const PathBlend& rhs); 00110 00118 bool SetViaPoints(const std::vector<HandPose>& viaPt); 00119 00127 bool AddViaPoint(const HandPose& viaPt); 00128 00138 bool InsertViaPoint(const HandPose& viaPt, unsigned int index); 00139 00145 bool DeleteViaPoint(unsigned int index); 00146 00151 bool ClearViaPoints(); 00152 00158 bool GetViaPoints(std::vector<HandPose> &viaPoints); 00159 00164 bool GenerateTrajectory(); 00165 00171 bool GetTrajectory(std::vector<HandPose>& Trajectory); 00172 00173 virtual ~PathBlend(){} 00174 00175 protected: 00176 void initialize(); 00177 00178 double velocity; 00179 double sampleTime; 00180 double breakPoint; 00181 std::vector<HandPose> viaPoints; 00182 std::vector<HandPose> trajectory; 00183 std::vector<double> timeVec; 00184 std::vector<Quaternion> quatVec; 00185 }; 00186 00187 } 00188 00189 #endif 00190
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |