#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Arachne/SkeletalTrapezoidationGraph.hpp>
Public Member Functions | |
| STHalfEdge (SkeletalTrapezoidationEdge data) | |
| bool | canGoUp (bool strict=false) const |
| bool | isUpward () const |
| std::optional< coord_t > | distToGoUp () const |
| STHalfEdge * | getNextUnconnected () |
| bool | operator== (const edge_t &other) |
Public Attributes | |
| SkeletalTrapezoidationEdge | data |
| edge_t * | twin |
| edge_t * | next |
| edge_t * | prev |
| node_t * | from |
| node_t * | to |
Private Types | |
| using | edge_t = STHalfEdge |
| using | node_t = STHalfEdgeNode |
|
private |
|
private |
| Slic3r::Arachne::STHalfEdge::STHalfEdge | ( | SkeletalTrapezoidationEdge | data | ) |
References Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::HalfEdge(), and Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::data.
Referenced by getNextUnconnected().
| bool Slic3r::Arachne::STHalfEdge::canGoUp | ( | bool | strict = false | ) | const |
Check (recursively) whether there is any upward edge from the distance_to_boundary of the from of the
| edge | |
| strict | Whether equidistant edges can count as a local maximum |
References Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::from, Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::next, Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::to, and Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::twin.
Referenced by Slic3r::Arachne::STHalfEdgeNode::isLocalMaximum().
| std::optional< coord_t > Slic3r::Arachne::STHalfEdge::distToGoUp | ( | ) | const |
Calculate the traversed distance until we meet an upward edge. Useful for calling on edges between equidistant points.
If we can go up then the distance includes the length of the
| edge |
References Slic3r::cast(), Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::from, Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::next, Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::to, and Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::twin.
Referenced by isUpward().
| STHalfEdge * Slic3r::Arachne::STHalfEdge::getNextUnconnected | ( | ) |
References STHalfEdge(), Slic3r::Arachne::HalfEdge< node_data_t, edge_data_t, derived_node_t, derived_edge_t >::next, and Slic3r::Arachne::HalfEdge< node_data_t, edge_data_t, derived_node_t, derived_edge_t >::twin.
Referenced by Slic3r::Arachne::SkeletalTrapezoidation::connectJunctions().
| bool Slic3r::Arachne::STHalfEdge::isUpward | ( | ) | const |
Check whether the edge goes from a lower to a higher distance_to_boundary. Effectively deals with equidistant edges by looking beyond this edge.
References distToGoUp(), Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::from, Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::to, and Slic3r::Arachne::HalfEdge< SkeletalTrapezoidationJoint, SkeletalTrapezoidationEdge, STHalfEdgeNode, STHalfEdge >::twin.
Referenced by Slic3r::Arachne::SkeletalTrapezoidation::generateSegments(), and Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionEnd().
|
inlineinherited |
|
inherited |
Referenced by Slic3r::Arachne::STHalfEdge::STHalfEdge().
|
inherited |
|
inherited |
Referenced by Slic3r::Arachne::STHalfEdge::canGoUp(), and Slic3r::Arachne::STHalfEdge::distToGoUp().
|
inherited |
|
inherited |