Hello,
I have defined a directed graph type, and a path type (each variable of type "path" is a sequence (vector) of vertices in the graph such that every two consecutive ones are connected by an edge). Each path is parameterized by arc length.
What I'd like to do is tabulate the function that, for each pair (vertex, path) tells the arc length coordinate of the vertex. I don't want to make it a function: a pair (vertex, path) is likely to come up more than once, and I want to avoid repeating the computation of the arc length coordinate. Just compute it once and store it in a property map.
The code for the above definitions is below (P.S.). Any help greatly appreciated.
Thanks,
Alex
P.S.
typedef boost::numeric::ublas::vector<double> EuclideanVector_t;
typedef std::size_t VertexIndex_t;
// Information needed about a vertex: name and physical position
struct VertexProperties {
VertexIndex_t VertexIndex;
std::string VertexName;
EuclideanVector_t VertexPhysicalPosition;
};
struct EdgeProperties {
double EdgeEuclideanLength;
EuclideanVector_t EdgeUnitDirector;
};
// graph type (vertices are points in a Euclidean space, edges are rectilinear segments)
typedef boost::adjacency_list