Class graph::NodeWithFaces
This node class extends the regular Node class. The key differences are that NodeWithFaces objects maintain a list of face IDs to which the node belongs and sorts its edge IDS according to the faces to which the corresponding edges belong. No validation on such edges belonging to the faces is handled here. Though NodeWithFaces inherits edge_ids_ from Node, it goes unused.
Inherited Members
Constructors
NodeWithFaces()
Create a node participating in a given set of edges.
Declaration
graph::NodeWithFaces::NodeWithFaces(const std::vector<size_t>&edge_ids={})
Methods
edge_ids()
Return the list of edge IDs this node participates in, in the first face.
The default edge list corresponds to the 0th face, which is typically the catch-all Combination face for non-SLC terms.
Declaration
const std::vector<size_t>&graph::NodeWithFaces::edge_ids() const override
edge_ids()
Return the list of edge IDs this node participates in for a particular face.
Declaration
const std::vector<size_t>&graph::NodeWithFaces::edge_ids(int face_id) const
edge_ids_by_face()
Return the list of edge ID lists (by face) this node participates in.
Declaration
const std::vector<std::vector<size_t>>&graph::NodeWithFaces::edge_ids_by_face() const
face_ids()
Return the list of face IDs this node participates in.
Declaration
const std::vector<int>&graph::NodeWithFaces::face_ids() const
sort_edge_ids()
Ensure edge IDs are in ascending order.
Declaration
void graph::NodeWithFaces::sort_edge_ids() override
add_edge_id()
Add an edge to this node at a particular face.
Declaration
void graph::NodeWithFaces::add_edge_id(size_t edge_id) override
add_edge_id()
Declaration
void graph::NodeWithFaces::add_edge_id(size_t edge_id, int face_id)
sort_face_ids()
Ensure face IDs are in ascending order.
Declaration
void graph::NodeWithFaces::sort_face_ids()
add_face_id()
Add a face to this node.
Declaration
void graph::NodeWithFaces::add_face_id(int face_id)
contains_face_id()
Search vector of face IDs for a particular ID.
Declaration
bool graph::NodeWithFaces::contains_face_id(int face_id)
edges_count()
Declaration
size_t graph::NodeWithFaces::edges_count() const
faces_count()
Declaration
size_t graph::NodeWithFaces::faces_count() const
memory_estimate()
Declaration
static size_t graph::NodeWithFaces::memory_estimate(size_t num_edges)