Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

PathBlend.h

Go to the documentation of this file.
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