25 #ifndef DIALECT_COMMONTYPES_H 26 #define DIALECT_COMMONTYPES_H 60 typedef std::shared_ptr<ACALayout> ACALayout_SP;
61 typedef std::shared_ptr<Assignment> Assignment_SP;
62 typedef std::shared_ptr<ColaGraphRep> ColaGraphRep_SP;
63 typedef std::shared_ptr<Edge> Edge_SP;
64 typedef std::shared_ptr<ExpansionGoal> ExpansionGoal_SP;
65 typedef std::shared_ptr<Face> Face_SP;
66 typedef std::shared_ptr<FaceSet> FaceSet_SP;
67 typedef std::shared_ptr<GhostNode> GhostNode_SP;
68 typedef std::shared_ptr<Graph> Graph_SP;
69 typedef std::shared_ptr<LineSegment> LineSegment_SP;
70 typedef std::shared_ptr<Nbr> Nbr_SP;
71 typedef std::shared_ptr<Nexus> Nexus_SP;
72 typedef std::shared_ptr<Node> Node_SP;
73 typedef std::shared_ptr<ProjSeq> ProjSeq_SP;
74 typedef std::shared_ptr<Quad> Quad_SP;
75 typedef std::shared_ptr<SepPair> SepPair_SP;
76 typedef std::shared_ptr<Side> Side_SP;
77 typedef std::shared_ptr<Tree> Tree_SP;
78 typedef std::shared_ptr<TreePlacement> TreePlacement_SP;
81 typedef std::weak_ptr<Node> Node_WP;
84 typedef std::vector<Assignment_SP> Assignments;
85 typedef std::vector<Edge_SP>
Edges;
86 typedef std::vector<ExpansionGoal_SP> ExpansionGoals;
87 typedef std::vector<Face_SP> Faces;
88 typedef std::vector<Graph_SP> Graphs;
89 typedef std::vector<LineSegment_SP> LineSegments;
90 typedef std::vector<Nbr_SP> Nbrs;
91 typedef std::vector<Nexus_SP> Nexes;
92 typedef std::vector<Node_SP>
Nodes;
93 typedef std::vector<Quad_SP> Quads;
94 typedef std::vector<Side_SP> Sides;
95 typedef std::vector<Tree_SP> Trees;
96 typedef std::vector<TreePlacement_SP> TreePlacements;
99 typedef unsigned id_type;
101 typedef std::map<id_type, Node_SP> NodesById;
102 typedef std::map<id_type, Edge_SP> EdgesById;
103 typedef std::map<id_type, Face_SP> FacesById;
104 typedef std::map<id_type, Nexus_SP> NexesById;
106 typedef std::pair<id_type, id_type> IdPair;
107 typedef std::pair<id_type, Node_SP> IdNodePair;
108 typedef std::pair<id_type, Edge_SP> IdEdgePair;
110 typedef std::map<id_type, id_type> id_map;
128 template <
typename T>
129 struct SparseIdMatrix2d
131 typedef std::map<id_type, std::map<id_type, T>> type;
135 typedef std::pair<double, double> dimensions;
137 typedef std::function<Avoid::Point(Avoid::Point)> PlaneMap;
138 typedef std::function<void(Avoid::Point&)> InplacePlaneMap;
142 #endif // DIALECT_COMMONTYPES_H libdialect: A library for computing human-like orthogonal network (DiAlEcT) layouts.
Definition: cola.h:44
std::pair< unsigned, unsigned > Edge
Edges are simply a pair of indices to entries in the Node vector.
Definition: cola.h:68
Contains the interface for various geometry types and classes.
std::vector< Node * > Nodes
A vector of pointers to Node objects.
Definition: topology_graph.h:82
std::vector< Edge * > Edges
A vector of pointers to Edge objects.
Definition: topology_graph.h:533