se2ez
projection.h
Go to the documentation of this file.
1 /* Author: Zachary Kingston */
2 
3 #ifndef SE2EZ_PLAN_PROJECTION_
4 #define SE2EZ_PLAN_PROJECTION_
5 
6 #include <ompl/base/ProjectionEvaluator.h>
7 
9 
10 namespace se2ez
11 {
12  /** \cond IGNORE */
13  SE2EZ_CLASS_FORWARD(Robot)
14  /** \endcond */
15 
16  namespace plan
17  {
18  /** \cond IGNORE */
19  SE2EZ_CLASS_FORWARD(StateSpace)
20  /** \endcond */
21 
22  /** \cond IGNORE */
23  SE2EZ_CLASS_FORWARD(R2Projection)
24  SE2EZ_CLASS_FORWARD(SE2Projection)
25  /** \endcond */
26 
27  class Projection : public ompl::base::ProjectionEvaluator
28  {
29  protected:
30  Projection(const plan::StateSpace *ss, const std::string &frame);
31  Eigen::Isometry2d getPose(const ompl::base::State *state) const;
32 
33  void defaultCellSizes() override;
34 
37  };
38 
39  class R2Projection : public Projection
40  {
41  public:
42  R2Projection(const plan::StateSpace *ss, const std::string &frame);
43 
44  unsigned int getDimension() const override;
45  void project(const ompl::base::State *state,
46  Eigen::Ref<Eigen::VectorXd> projection) const override;
47  };
48 
49  class SE2Projection : public Projection
50  {
51  public:
52  SE2Projection(const plan::StateSpace *ss, const std::string &frame);
53 
54  unsigned int getDimension() const override;
55  void project(const ompl::base::State *state,
56  Eigen::Ref<Eigen::VectorXd> projection) const override;
57  };
58  } // namespace plan
59 } // namespace se2ez
60 
61 #endif
const std::string frame_
Definition: projection.h:36
R2Projection(const plan::StateSpace *ss, const std::string &frame)
Definition: projection.cpp:31
const RobotPtr robot_
Definition: projection.h:35
Definition: goals.h:10
A shared pointer wrapper for se2ez::Robot.
Main namespace.
Definition: collision.h:11
void project(const ompl::base::State *state, Eigen::Ref< Eigen::VectorXd > projection) const override
Definition: projection.cpp:40
#define SE2EZ_CLASS_FORWARD(C)
Definition: class_forward.h:9
unsigned int getDimension() const override
Definition: projection.cpp:35