KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Grid2DCSpace Class Reference

A simple CSpace that lets you add geometric obstacles as blocked off grid cells. More...

#include <Grid2DCSpace.h>

Inheritance diagram for Grid2DCSpace:
BoxCSpace CartesianCSpace GeodesicCSpace CSpace GeodesicSpace

Public Member Functions

 Grid2DCSpace (int m, int n, const AABB2D &domain)
 
void WorldToGrid (const Vector2 &world, Vector2 &grid)
 
void GridToWorld (const Vector2 &grid, Vector2 &world)
 
void Add (const Triangle2D &tri, bool obstacle=true)
 
void Add (const AABB2D &bbox, bool obstacle=true)
 
void Add (const Circle2D &sphere, bool obstacle=true)
 
void Rasterize (CSpace *space)
 
void DrawGL ()
 
virtual void SampleNeighborhood (const Config &c, Real r, Config &x)
 
virtual EdgePlannerPtr PathChecker (const InterpolatorPtr &b)
 
virtual Real Distance (const Config &x, const Config &y)
 optionally overrideable (default uses euclidean space)
 
- Public Member Functions inherited from BoxCSpace
 BoxCSpace (Real xmin, Real xmax, int d=1)
 
 BoxCSpace (const Vector &bmin, const Vector &bmax)
 
void SetDomain (const Vector &bmin, const Vector &bmax)
 
void GetDomain (Vector &bmin, Vector &bmax)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b)
 
virtual void Sample (Config &x)
 
virtual bool ProjectFeasible (Config &x)
 
virtual void Properties (PropertyMap &)
 Returns properties of the space that might be useful for planners. More...
 
- Public Member Functions inherited from CartesianCSpace
 CartesianCSpace (int d)
 
virtual int NumDimensions ()
 
virtual void Interpolate (const Config &x, const Config &y, Real u, Config &out)
 
virtual void Midpoint (const Config &x, const Config &y, Config &out)
 
- Public Member Functions inherited from CSpace
void AddConstraint (const std::string &name, CSet *constraint)
 
void AddConstraint (const std::string &name, const std::shared_ptr< CSet > &constraint)
 
void AddConstraint (const std::string &name, CSet::CPredicate test)
 
void CopyConstraints (const CSpace *space, const std::string &prefix="")
 
virtual std::string VariableName (int i)
 
virtual int NumConstraints ()
 
virtual std::string ConstraintName (int i)
 
virtual std::shared_ptr< CSetConstraint (int i)
 
virtual bool IsFeasible (const Config &)
 
virtual bool IsFeasible (const Config &, int constraint)
 
virtual EdgePlannerPtr LocalPlanner (const Config &a, const Config &b)
 
virtual EdgePlannerPtr PathChecker (const Config &a, const Config &b, int constraint)
 
virtual Optimization::NonlinearProgramFeasibleNumeric ()
 If possible, give the feasible set as a nonlinear program.
 
virtual Real ObstacleDistance (const Config &a)
 for local planners using obstacle distance
 
virtual void CheckConstraints (const Config &, std::vector< bool > &satisfied)
 Returns a vector indicating which constraints are satisfied.
 
void GetFeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of feasible obstacles for the given configuration.
 
void GetInfeasibleNames (const Config &q, std::vector< std::string > &names)
 Gets a list of infeasible obstacles for the given configuration.
 
void PrintInfeasibleNames (const Config &q, std::ostream &out=std::cout, const char *prefix="", const char *suffix="\n")
 Prints out the list of infeasible obstacles for the given configuration.
 
- Public Member Functions inherited from GeodesicSpace
virtual int NumIntrinsicDimensions ()
 
virtual void InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx)
 
virtual void InterpolateDerivA (const Config &a, const Config &b, Real u, const Vector &da, Vector &dx)
 
virtual void InterpolateDerivB (const Config &a, const Config &b, Real u, const Vector &db, Vector &dx)
 
virtual void InterpolateDeriv2 (const Config &a, const Config &b, Real u, Vector &ddx)
 
virtual void Integrate (const Config &a, const Vector &da, Config &b)
 

Public Attributes

bool euclideanSpace
 
std::shared_ptr< Tabular2DSetoccupied
 
- Public Attributes inherited from BoxCSpace
Vector bmin
 The domain. NOTE: modifing these does not directly affect the constraints! Use SetDomain instead.
 
Vector bmax
 
- Public Attributes inherited from CartesianCSpace
int d
 
- Public Attributes inherited from CSpace
std::vector< std::string > constraintNames
 
std::vector< std::shared_ptr< CSet > > constraints
 

Detailed Description

A simple CSpace that lets you add geometric obstacles as blocked off grid cells.

Can use euclidean or Linf metric, configured by euclideanSpace.


The documentation for this class was generated from the following files: