85 Index num_vertices_degree_1 = 0;
88 for (
Index& vertex : vertices) {
91 ++num_vertices_degree_1;
92 }
else if (degree == 0) {
94 }
else if (degree > 2) {
98 if (num_vertices_degree_1 != 2) {
111 for (
Index& vertex : vertices) {
159 for (
Index& vertex : vertices) {
170 set<Edge> all_edges_explored =
172 for (
const Edge& edge_next_to_junction : edges) {
173 if (!all_edges_explored.count(edge_next_to_junction)) {
bool isSingle_() const noexcept
void ConnectBeads(const Index &bead1_id, const Index &bead2_id) final
Adds a new connection to the motif.
MotifType getType()
Gets the motif type, calculates it first if it is not yet known.
bool isMotifSimple()
Determines if the motif type is a simple type.
tools::ReducedGraph reduced_graph_
void UpdateOnBeadAddition_() final
std::vector< Index > junctions_
size_t BeadCount() const noexcept
returns the number of beads in the bead structure
virtual void ConnectBeads(const Index &bead1_id, const Index &bead2_id)
Create a connection between two beads in the structure.
bool isSingleStructure()
Determine if the bead structure consists of a single connected structure.
base class for all analysis tools