Definitions.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // Created by wrede on 25.04.16.
  3. //
  4. #ifndef GBMOT_DEFINITIONS_H
  5. #define GBMOT_DEFINITIONS_H
  6. #include <boost/graph/properties.hpp>
  7. #include <boost/graph/graph_traits.hpp>
  8. #include <boost/graph/adjacency_list.hpp>
  9. #include "../core/ObjectData.h"
  10. #include "../core/Tracklet.h"
  11. namespace algo
  12. {
  13. //TODO read minimal example
  14. //TODO check types (move to core)
  15. typedef boost::property<boost::edge_weight_t, double> EdgeProp;
  16. typedef boost::property<boost::vertex_name_t, core::ObjectData>
  17. VertexProp;
  18. typedef boost::adjacency_list<
  19. boost::listS, boost::vecS, boost::directedS,
  20. VertexProp, EdgeProp>
  21. DirectedGraph;
  22. typedef boost::graph_traits<DirectedGraph>::vertex_descriptor Vertex;
  23. typedef boost::property_map<DirectedGraph, boost::vertex_index_t>::type
  24. VertexIndexMap;
  25. typedef boost::property_map<DirectedGraph, boost::vertex_name_t >::type
  26. VertexValueMap;
  27. typedef boost::iterator_property_map<Vertex*, VertexIndexMap, Vertex, Vertex&>
  28. PredecessorMap;
  29. typedef boost::iterator_property_map<double*, VertexIndexMap, double, double&>
  30. DistanceMap;
  31. };
  32. #endif //GBMOT_DEFINITIONS_H