OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::Arachne::SkeletalTrapezoidationEdge Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp>

Collaboration diagram for Slic3r::Arachne::SkeletalTrapezoidationEdge:

Classes

struct  TransitionMiddle
struct  TransitionEnd

Public Types

enum class  EdgeType { NORMAL = 0 , EXTRA_VD = 1 , TRANSITION_END = 2 }

Public Member Functions

 SkeletalTrapezoidationEdge ()
 SkeletalTrapezoidationEdge (const EdgeType &type)
bool isCentral () const
void setIsCentral (bool b)
bool centralIsSet () const
bool hasTransitions (bool ignore_empty=false) const
void setTransitions (std::shared_ptr< std::list< TransitionMiddle > > storage)
std::shared_ptr< std::list< TransitionMiddle > > getTransitions ()
bool hasTransitionEnds (bool ignore_empty=false) const
void setTransitionEnds (std::shared_ptr< std::list< TransitionEnd > > storage)
std::shared_ptr< std::list< TransitionEnd > > getTransitionEnds ()
bool hasExtrusionJunctions (bool ignore_empty=false) const
void setExtrusionJunctions (std::shared_ptr< LineJunctions > storage)
std::shared_ptr< LineJunctions > getExtrusionJunctions ()

Public Attributes

EdgeType type

Private Types

enum class  Central { UNKNOWN = -1 , NO , YES }

Private Attributes

Central is_central
std::weak_ptr< std::list< TransitionMiddle > > transitions
 whether the edge is significant; whether the source segments have a sharp angle; -1 is unknown
std::weak_ptr< std::list< TransitionEnd > > transition_ends
std::weak_ptr< LineJunctions > extrusion_junctions

Detailed Description

Member Enumeration Documentation

◆ Central

Enumerator
UNKNOWN 
NO 
YES 
21{ UNKNOWN = -1, NO, YES };
@ UNKNOWN
Definition AMSDryControl.hpp:45

◆ EdgeType

Enumerator
NORMAL 
EXTRA_VD 
TRANSITION_END 
52 {
53 NORMAL = 0, // from voronoi diagram
54 EXTRA_VD = 1, // introduced to voronoi diagram in order to make the gMAT
55 TRANSITION_END = 2 // introduced to voronoi diagram in order to make the gMAT
56 };
@ NORMAL
Definition AmsMappingPopup.hpp:72

Constructor & Destructor Documentation

◆ SkeletalTrapezoidationEdge() [1/2]

Slic3r::Arachne::SkeletalTrapezoidationEdge::SkeletalTrapezoidationEdge ( )
inline
@ NORMAL
Definition SkeletalTrapezoidationEdge.hpp:53
SkeletalTrapezoidationEdge()
Definition SkeletalTrapezoidationEdge.hpp:59

References SkeletalTrapezoidationEdge().

Referenced by SkeletalTrapezoidationEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SkeletalTrapezoidationEdge() [2/2]

Slic3r::Arachne::SkeletalTrapezoidationEdge::SkeletalTrapezoidationEdge ( const EdgeType & type)
inline
EdgeType type
Definition SkeletalTrapezoidationEdge.hpp:57
Central is_central
Definition SkeletalTrapezoidationEdge.hpp:116
@ UNKNOWN
Definition SkeletalTrapezoidationEdge.hpp:21

References is_central, and type.

Member Function Documentation

◆ centralIsSet()

bool Slic3r::Arachne::SkeletalTrapezoidationEdge::centralIsSet ( ) const
inline
72 {
74 }

References is_central, and UNKNOWN.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionMids(), and Slic3r::Arachne::SkeletalTrapezoidation::updateIsCentral().

Here is the caller graph for this function:

◆ getExtrusionJunctions()

std::shared_ptr< LineJunctions > Slic3r::Arachne::SkeletalTrapezoidationEdge::getExtrusionJunctions ( )
inline
111 {
112 return extrusion_junctions.lock();
113 }
std::weak_ptr< LineJunctions > extrusion_junctions
Definition SkeletalTrapezoidationEdge.hpp:120

References extrusion_junctions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::connectJunctions().

Here is the caller graph for this function:

◆ getTransitionEnds()

std::shared_ptr< std::list< TransitionEnd > > Slic3r::Arachne::SkeletalTrapezoidationEdge::getTransitionEnds ( )
inline
98 {
99 return transition_ends.lock();
100 }
std::weak_ptr< std::list< TransitionEnd > > transition_ends
Definition SkeletalTrapezoidationEdge.hpp:119

References transition_ends.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::applyTransitions(), and Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionEnd().

Here is the caller graph for this function:

◆ getTransitions()

std::shared_ptr< std::list< TransitionMiddle > > Slic3r::Arachne::SkeletalTrapezoidationEdge::getTransitions ( )
inline
85 {
86 return transitions.lock();
87 }
std::weak_ptr< std::list< TransitionMiddle > > transitions
whether the edge is significant; whether the source segments have a sharp angle; -1 is unknown
Definition SkeletalTrapezoidationEdge.hpp:118

References transitions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::dissolveNearbyTransitions(), Slic3r::Arachne::SkeletalTrapezoidation::filterTransitionMids(), Slic3r::Arachne::SkeletalTrapezoidation::generateAllTransitionEnds(), Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionMids(), and Slic3r::Arachne::SkeletalTrapezoidation::isGoingDown().

Here is the caller graph for this function:

◆ hasExtrusionJunctions()

bool Slic3r::Arachne::SkeletalTrapezoidationEdge::hasExtrusionJunctions ( bool ignore_empty = false) const
inline
103 {
104 return extrusion_junctions.use_count() > 0 && (ignore_empty || ! extrusion_junctions.lock()->empty());
105 }
bool empty(const BoundingBoxBase< PointType, PointsType > &bb)
Definition BoundingBox.hpp:273

References Slic3r::empty(), and extrusion_junctions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::connectJunctions().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasTransitionEnds()

bool Slic3r::Arachne::SkeletalTrapezoidationEdge::hasTransitionEnds ( bool ignore_empty = false) const
inline
90 {
91 return transition_ends.use_count() > 0 && (ignore_empty || ! transition_ends.lock()->empty());
92 }

References Slic3r::empty(), and transition_ends.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::applyTransitions(), and Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionEnd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasTransitions()

bool Slic3r::Arachne::SkeletalTrapezoidationEdge::hasTransitions ( bool ignore_empty = false) const
inline
77 {
78 return transitions.use_count() > 0 && (ignore_empty || ! transitions.lock()->empty());
79 }

References Slic3r::empty(), and transitions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::dissolveNearbyTransitions(), Slic3r::Arachne::SkeletalTrapezoidation::filterTransitionMids(), Slic3r::Arachne::SkeletalTrapezoidation::generateAllTransitionEnds(), Slic3r::Arachne::SkeletalTrapezoidation::generateTransitioningRibs(), Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionMids(), and Slic3r::Arachne::SkeletalTrapezoidation::isGoingDown().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCentral()

◆ setExtrusionJunctions()

void Slic3r::Arachne::SkeletalTrapezoidationEdge::setExtrusionJunctions ( std::shared_ptr< LineJunctions > storage)
inline
107 {
108 extrusion_junctions = storage;
109 }

References extrusion_junctions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::connectJunctions(), and Slic3r::Arachne::SkeletalTrapezoidation::generateJunctions().

Here is the caller graph for this function:

◆ setIsCentral()

void Slic3r::Arachne::SkeletalTrapezoidationEdge::setIsCentral ( bool b)
inline

◆ setTransitionEnds()

void Slic3r::Arachne::SkeletalTrapezoidationEdge::setTransitionEnds ( std::shared_ptr< std::list< TransitionEnd > > storage)
inline
94 {
95 transition_ends = storage;
96 }

References transition_ends.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::applyTransitions(), and Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionEnd().

Here is the caller graph for this function:

◆ setTransitions()

void Slic3r::Arachne::SkeletalTrapezoidationEdge::setTransitions ( std::shared_ptr< std::list< TransitionMiddle > > storage)
inline
81 {
82 transitions = storage;
83 }

References transitions.

Referenced by Slic3r::Arachne::SkeletalTrapezoidation::generateTransitionMids().

Here is the caller graph for this function:

Member Data Documentation

◆ extrusion_junctions

std::weak_ptr<LineJunctions> Slic3r::Arachne::SkeletalTrapezoidationEdge::extrusion_junctions
private

◆ is_central

Central Slic3r::Arachne::SkeletalTrapezoidationEdge::is_central
private

◆ transition_ends

std::weak_ptr<std::list<TransitionEnd> > Slic3r::Arachne::SkeletalTrapezoidationEdge::transition_ends
private

◆ transitions

std::weak_ptr<std::list<TransitionMiddle> > Slic3r::Arachne::SkeletalTrapezoidationEdge::transitions
private

whether the edge is significant; whether the source segments have a sharp angle; -1 is unknown

Referenced by getTransitions(), hasTransitions(), and setTransitions().

◆ type


The documentation for this class was generated from the following file: