Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #ifndef AXIAL_SYMMETRIC_PT_H
00020 #define AXIAL_SYMMETRIC_PT_H
00021 
00022 #include <descartes_trajectory/cart_trajectory_pt.h>
00023 
00024 namespace descartes_trajectory
00025 {
00031 class AxialSymmetricPt : public descartes_trajectory::CartTrajectoryPt
00032 {
00033 public:
00037   enum FreeAxis
00038   {
00039     X_AXIS,
00040     Y_AXIS,
00041     Z_AXIS
00042   };
00043 
00048   AxialSymmetricPt(const descartes_core::TimingConstraint& timing = descartes_core::TimingConstraint());
00049 
00065   AxialSymmetricPt(double x, double y, double z, double rx, double ry, double rz, double orient_increment,
00066                    FreeAxis axis, const descartes_core::TimingConstraint& timing = descartes_core::TimingConstraint());
00067 
00072   AxialSymmetricPt(const Eigen::Affine3d& pose, double orient_increment, FreeAxis axis,
00073                    const descartes_core::TimingConstraint& timing = descartes_core::TimingConstraint());
00074 
00075   virtual descartes_core::TrajectoryPtPtr copy() const
00076   {
00077     return descartes_core::TrajectoryPtPtr(new AxialSymmetricPt(*this));
00078   }
00079 };
00080 
00081 }  
00082 
00083 #endif  // AXIAL_SYMMETRIC_PT_H