halfsteps_pattern_generator.hh
Go to the documentation of this file.
00001 #ifndef HALFSTEPS_PATTERN_GENERATOR_HH
00002 # define HALFSTEPS_PATTERN_GENERATOR_HH
00003 # include <utility>
00004 # include <walk_interfaces/pattern-generator.hh>
00005 
00006 template <typename T>
00007 struct WithHalfStepsAdditionalData : public T
00008 {
00009   explicit WithHalfStepsAdditionalData()
00010     : T(),
00011       slideUp(0.),
00012       slideDown(0.),
00013       horizontalDistance(0.),
00014       stepHeight(0.)
00015   {}
00016 
00017   double slideUp;
00018   double slideDown;
00019   double horizontalDistance;
00020   double stepHeight;
00021 };
00022 
00023 class HalfStepsPatternGenerator;
00024 
00025 namespace walk
00026 {
00027   template <>
00028   struct PatternGeneratorTraits<HalfStepsPatternGenerator>
00029   {
00031     typedef WithHalfStepsAdditionalData<walk::StampedFootprint2d> Footprint;
00032     
00034     typedef DiscretizedTrajectory<StampedPosition3d> Trajectory3d;
00036     typedef DiscretizedTrajectory<StampedPosition2d> Trajectory2d;
00038     typedef DiscretizedTrajectory<StampedVector2d> TrajectoryV2d;
00040     typedef DiscretizedTrajectory<StampedVector3d> TrajectoryV3d;
00042     typedef DiscretizedTrajectory<StampedVectorNd> TrajectoryNd;
00043   };
00044 } // end of namespace walk.
00045 
00046 class HalfStepsPatternGenerator
00047   : public walk::PatternGenerator<HalfStepsPatternGenerator>
00048 {
00049 public:
00050   explicit HalfStepsPatternGenerator
00051   (const double& timeBeforeZmpShift,
00052    const double& timeAfterZmpShift,
00053    const double& step);
00054   explicit HalfStepsPatternGenerator(const HalfStepsPatternGenerator&);
00055   ~HalfStepsPatternGenerator();
00056 
00057   HalfStepsPatternGenerator& operator= (const HalfStepsPatternGenerator&);
00058 
00059 protected:
00060   virtual void computeTrajectories();
00061 
00062 private:
00063   double timeBeforeZmpShift_;
00064   double timeAfterZmpShift_;
00065   double step_;
00066 };
00067 
00068 #endif //! HALFSTEPS_PATTERN_GENERATOR_HH


halfsteps_pattern_generator
Author(s): Nicolas Perrin, Thomas Moulard/thomas.moulard@gmail.com
autogenerated on Sat Dec 28 2013 17:05:31