Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::Surface Class Reference

#include <src/libslic3r/Surface.hpp>

+ Collaboration diagram for Slic3r::Surface:

Public Member Functions

 Surface (const Slic3r::Surface &rhs)
 
 Surface (SurfaceType surface_type, const ExPolygon &expolygon)
 
 Surface (const Surface &templ, const ExPolygon &expolygon)
 
 Surface (Surface &&rhs)
 
 Surface (SurfaceType surface_type, ExPolygon &&expolygon)
 
 Surface (const Surface &templ, ExPolygon &&expolygon)
 
Surfaceoperator= (const Surface &rhs)
 
Surfaceoperator= (Surface &&rhs)
 
double area () const
 
bool empty () const
 
void clear ()
 
bool is_top () const
 
bool is_bottom () const
 
bool is_bridge () const
 
bool is_external () const
 
bool is_internal () const
 
bool is_solid () const
 

Public Attributes

SurfaceType surface_type
 
ExPolygon expolygon
 
double thickness { -1 }
 
unsigned short thickness_layers { 1 }
 
double bridge_angle { -1. }
 
unsigned short extra_perimeters { 0 }
 

Detailed Description

Constructor & Destructor Documentation

◆ Surface() [1/6]

Slic3r::Surface::Surface ( const Slic3r::Surface rhs)
inline
41 :
SurfaceType surface_type
Definition Surface.hpp:34
unsigned short thickness_layers
Definition Surface.hpp:37
unsigned short extra_perimeters
Definition Surface.hpp:39
double bridge_angle
Definition Surface.hpp:38
ExPolygon expolygon
Definition Surface.hpp:35
double thickness
Definition Surface.hpp:36

◆ Surface() [2/6]

Slic3r::Surface::Surface ( SurfaceType  surface_type,
const ExPolygon expolygon 
)
inline

◆ Surface() [3/6]

Slic3r::Surface::Surface ( const Surface templ,
const ExPolygon expolygon 
)
inline
47 :
48 surface_type(templ.surface_type), expolygon(expolygon),
49 thickness(templ.thickness), thickness_layers(templ.thickness_layers),
50 bridge_angle(templ.bridge_angle), extra_perimeters(templ.extra_perimeters) {}

◆ Surface() [4/6]

Slic3r::Surface::Surface ( Surface &&  rhs)
inline
51 :
52 surface_type(rhs.surface_type), expolygon(std::move(rhs.expolygon)),
53 thickness(rhs.thickness), thickness_layers(rhs.thickness_layers),
54 bridge_angle(rhs.bridge_angle), extra_perimeters(rhs.extra_perimeters) {}

◆ Surface() [5/6]

Slic3r::Surface::Surface ( SurfaceType  surface_type,
ExPolygon &&  expolygon 
)
inline
55 :

◆ Surface() [6/6]

Slic3r::Surface::Surface ( const Surface templ,
ExPolygon &&  expolygon 
)
inline
57 :
58 surface_type(templ.surface_type), expolygon(std::move(expolygon)),
59 thickness(templ.thickness), thickness_layers(templ.thickness_layers),
60 bridge_angle(templ.bridge_angle), extra_perimeters(templ.extra_perimeters) {}

Member Function Documentation

◆ area()

double Slic3r::Surface::area ( ) const
inline
84{ return this->expolygon.area(); }
double area() const
Definition ExPolygon.cpp:52

References Slic3r::ExPolygon::area().

+ Here is the call graph for this function:

◆ clear()

void Slic3r::Surface::clear ( )
inline
86{ expolygon.clear(); }
void clear()
Definition ExPolygon.hpp:38

References Slic3r::ExPolygon::clear(), and expolygon.

+ Here is the call graph for this function:

◆ empty()

bool Slic3r::Surface::empty ( ) const
inline
85{ return expolygon.empty(); }
bool empty() const
Definition ExPolygon.hpp:46

References Slic3r::ExPolygon::empty(), and expolygon.

+ Here is the call graph for this function:

◆ is_bottom()

bool Slic3r::Surface::is_bottom ( ) const
inline
90{ return this->surface_type == stBottom || this->surface_type == stBottomBridge; }
@ stBottomBridge
Definition Surface.hpp:15
@ stBottom
Definition Surface.hpp:13

References Slic3r::stBottom, and Slic3r::stBottomBridge.

Referenced by is_external().

+ Here is the caller graph for this function:

◆ is_bridge()

bool Slic3r::Surface::is_bridge ( ) const
inline
91{ return this->surface_type == stBottomBridge || this->surface_type == stInternalBridge; }
@ stInternalBridge
Definition Surface.hpp:21

References Slic3r::stBottomBridge, and Slic3r::stInternalBridge.

◆ is_external()

bool Slic3r::Surface::is_external ( ) const
inline
92{ return this->is_top() || this->is_bottom(); }
bool is_top() const
Definition Surface.hpp:89
bool is_bottom() const
Definition Surface.hpp:90

References is_bottom(), and is_top().

Referenced by is_internal(), and is_solid().

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

◆ is_internal()

bool Slic3r::Surface::is_internal ( ) const
inline
93{ return ! this->is_external(); }
bool is_external() const
Definition Surface.hpp:92

References is_external().

+ Here is the call graph for this function:

◆ is_solid()

bool Slic3r::Surface::is_solid ( ) const
inline
94{ return this->is_external() || this->surface_type == stInternalSolid || this->surface_type == stInternalBridge; }
@ stInternalSolid
Definition Surface.hpp:19

References is_external(), Slic3r::stInternalBridge, and Slic3r::stInternalSolid.

+ Here is the call graph for this function:

◆ is_top()

bool Slic3r::Surface::is_top ( ) const
inline
89{ return this->surface_type == stTop; }
@ stTop
Definition Surface.hpp:11

References Slic3r::stTop.

Referenced by is_external().

+ Here is the caller graph for this function:

◆ operator=() [1/2]

Surface & Slic3r::Surface::operator= ( const Surface rhs)
inline
63 {
64 surface_type = rhs.surface_type;
65 expolygon = rhs.expolygon;
66 thickness = rhs.thickness;
67 thickness_layers = rhs.thickness_layers;
68 bridge_angle = rhs.bridge_angle;
69 extra_perimeters = rhs.extra_perimeters;
70 return *this;
71 }

References bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

◆ operator=() [2/2]

Surface & Slic3r::Surface::operator= ( Surface &&  rhs)
inline
74 {
75 surface_type = rhs.surface_type;
76 expolygon = std::move(rhs.expolygon);
77 thickness = rhs.thickness;
78 thickness_layers = rhs.thickness_layers;
79 bridge_angle = rhs.bridge_angle;
80 extra_perimeters = rhs.extra_perimeters;
81 return *this;
82 }

References bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

Member Data Documentation

◆ bridge_angle

◆ expolygon

◆ extra_perimeters

◆ surface_type

SurfaceType Slic3r::Surface::surface_type

◆ thickness

◆ thickness_layers


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