6 #include <boost/container/map.hpp> 8 namespace frechet {
namespace reach {
53 bool contains(
int i)
const;
211 typedef boost::container::map<double,BoundsIndex>
Map;
234 void insert1(
double x,
Bias bias);
241 void insert2(
double x,
Bias bias);
254 const BoundsIndex* lookupLowerEqual(
double x)
const;
267 void createReverseMap(std::vector<Interval>& result)
const;
274 void remove(
double x);
279 void indexify(
int start);
303 std::vector<Interval> reversed[2];
307 typedef boost::shared_ptr<GraphModel>
ptr;
343 double x = reversed[
HORIZONTAL][hindex].lower();
358 lowerShiftedHorizontally(r.
lower),
359 lowerShiftedHorizontally(r.
upper));
379 bool upperBoundInclusive)
const;
394 int map_lower(
Pointer p)
const;
400 int map_upper(
Pointer p)
const;
416 int map_upper(
Orientation ori,
double x,
bool inclusive)
const;
433 return reversed[ori];
460 #endif // GRAPH_MODEL_H Bias
bias of a GraphModel boundary (how shall we explain this?)
std::vector< frechet::reach::Placement > Placements
a list of Placement objects
Bias operator|(Bias a, Bias b)
union operator
int _max_index
maximum node index
model the mapping of free-space intervals to nodes in a frechet::reach::Graph.
Bias bias
bias: inclusive to lower / upper interval
boundary is inclusive to adjacent upper interval
global definitions for all algorithms.
boost::shared_ptr< GraphModel > ptr
smart pointer to a GraphModel object
boundary interval in the reachability structure. Represents an interval on the boundary of the FreeSp...
BoundsIndex(int i, Bias b)
default constructor
boost::container::map< double, BoundsIndex > Map
maps free-space coordinates to graph nodes (identified by node index, with an optional bias to adjace...
int upper
upper index (exclusive)
int index
index of node in reachability graph
int lower
lower index (inclusive)
mapping within a GraphModel
GraphModel()
empty constructor
a range of node indices in a Reachability Graph
Orientation
Segment Orientation.
boundary is inclusive to adjacent lower interval
boundary is not inclusive to any interval
Bias & operator|=(Bias &a, Bias b)
union operator
placement of a diagonal point in free-space diagram When calculating valid placements in [buchin06]
manages a mapping between free-space intervals (continous, floating point) to reachability graph node...
Orientation ori
horizontal or vertical part of the reachability structure?
IndexRange shiftedHorizontally(const IndexRange &r) const
map a node range to its counterpart in the duplicated part of a double-free-space
Interval fs
Free-Space Interval.
int _dim
width or height of the free-space diagram
const std::vector< Interval > & reverseMap(Orientation ori) const
create a reverse map, mapping graph nodes to free-space interval
an interval of two double values.
boost::shared_ptr< FreeSpace > ptr
smart pointer to FreeSpace object
int lowerShiftedHorizontally(int hindex) const
map a node index to its counterpart in the duplicated part of a double-free-space
IndexRange gn
mapping to nodes of the reachability graph (see GraphModel)