OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::Surface Class Reference

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

Collaboration diagram for Slic3r::Surface:

Public Member Functions

 Surface (SurfaceType _surface_type=stInternal)
 Surface (const Slic3r::Surface &rhs)
 Surface (SurfaceType _surface_type, const ExPolygon &_expolygon)
 Surface (const Surface &other, const ExPolygon &_expolygon)
 Surface (Surface &&rhs) noexcept
 Surface (SurfaceType _surface_type, const ExPolygon &&_expolygon)
 Surface (const Surface &other, const ExPolygon &&_expolygon)
Surface & operator= (const Surface &rhs)
Surface & operator= (Surface &&rhs) noexcept
double area () const
bool empty () const
void clear ()
bool is_top () const
bool is_bottom () const
bool is_bridge () const
bool is_internal_bridge () const
bool is_external () const
bool is_internal () const
bool is_solid () const
bool is_solid_infill () const

Public Attributes

SurfaceType surface_type
ExPolygon expolygon
double thickness
unsigned short thickness_layers
double bridge_angle
unsigned short extra_perimeters

Detailed Description

Constructor & Destructor Documentation

◆ Surface() [1/7]

Slic3r::Surface::Surface ( SurfaceType _surface_type = stInternal)
inline
53 : surface_type(_surface_type),
55 {};
SurfaceType surface_type
Definition Surface.hpp:45
unsigned short thickness_layers
Definition Surface.hpp:48
unsigned short extra_perimeters
Definition Surface.hpp:50
double bridge_angle
Definition Surface.hpp:49
double thickness
Definition Surface.hpp:47

References bridge_angle, extra_perimeters, Slic3r::stInternal, surface_type, thickness, and thickness_layers.

Referenced by Surface(), Surface(), Surface(), operator=(), and operator=().

Here is the caller graph for this function:

◆ Surface() [2/7]

Slic3r::Surface::Surface ( const Slic3r::Surface & rhs)
inline

◆ Surface() [3/7]

Slic3r::Surface::Surface ( SurfaceType _surface_type,
const ExPolygon & _expolygon )
inline

◆ Surface() [4/7]

Slic3r::Surface::Surface ( const Surface & other,
const ExPolygon & _expolygon )
inline
67 : surface_type(other.surface_type), expolygon(_expolygon),
68 thickness(other.thickness), thickness_layers(other.thickness_layers),
69 bridge_angle(other.bridge_angle), extra_perimeters(other.extra_perimeters)
70 {};

References Surface(), bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

Here is the call graph for this function:

◆ Surface() [5/7]

Slic3r::Surface::Surface ( Surface && rhs)
inlinenoexcept
72 : surface_type(rhs.surface_type), expolygon(std::move(rhs.expolygon)),
73 thickness(rhs.thickness), thickness_layers(rhs.thickness_layers),
74 bridge_angle(rhs.bridge_angle), extra_perimeters(rhs.extra_perimeters)
75 {};

References Surface().

Here is the call graph for this function:

◆ Surface() [6/7]

Slic3r::Surface::Surface ( SurfaceType _surface_type,
const ExPolygon && _expolygon )
inline
77 : surface_type(_surface_type), expolygon(std::move(_expolygon)),
79 {};

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

◆ Surface() [7/7]

Slic3r::Surface::Surface ( const Surface & other,
const ExPolygon && _expolygon )
inline
81 : surface_type(other.surface_type), expolygon(std::move(_expolygon)),
82 thickness(other.thickness), thickness_layers(other.thickness_layers),
83 bridge_angle(other.bridge_angle), extra_perimeters(other.extra_perimeters)
84 {};

References Surface(), bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

Here is the call graph for this function:

Member Function Documentation

◆ area()

double Slic3r::Surface::area ( ) const
inline
108{ return this->expolygon.area(); }

References Slic3r::ExPolygon::area().

Here is the call graph for this function:

◆ clear()

void Slic3r::Surface::clear ( )
inline
110{ expolygon.clear(); }

References expolygon.

◆ empty()

bool Slic3r::Surface::empty ( ) const
inline
109{ return expolygon.empty(); }

References expolygon.

◆ is_bottom()

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

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

Referenced by Slic3r::group_fills(), is_external(), and Slic3r::LayerRegion::prepare_fill_surfaces().

Here is the caller graph for this function:

◆ is_bridge()

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

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

Referenced by Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::group_fills(), and Slic3r::PerimeterGenerator::process_classic().

Here is the caller graph for this function:

◆ is_external()

bool Slic3r::Surface::is_external ( ) const
inline
117{ return this->is_top() || this->is_bottom(); }
bool is_top() const
Definition Surface.hpp:113
bool is_bottom() const
Definition Surface.hpp:114

References is_bottom(), and is_top().

Referenced by Slic3r::group_fills(), 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
118{ return ! this->is_external(); }
bool is_external() const
Definition Surface.hpp:117

References is_external().

Referenced by Slic3r::PrintObject::discover_horizontal_shells().

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

◆ is_internal_bridge()

bool Slic3r::Surface::is_internal_bridge ( ) const
inline
116{ return this->surface_type == stInternalBridge; }

References Slic3r::stInternalBridge.

Referenced by Slic3r::group_fills().

Here is the caller graph for this function:

◆ is_solid()

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

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

Referenced by Slic3r::PrintObject::clip_fill_surfaces(), and Slic3r::group_fills().

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

◆ is_solid_infill()

bool Slic3r::Surface::is_solid_infill ( ) const
inline
120{ return this->surface_type == stInternalSolid; }

References Slic3r::stInternalSolid.

Referenced by Slic3r::group_fills().

Here is the caller graph for this function:

◆ is_top()

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

References Slic3r::stTop.

Referenced by Slic3r::get_boundary(), Slic3r::group_fills(), is_external(), and Slic3r::LayerRegion::prepare_fill_surfaces().

Here is the caller graph for this function:

◆ operator=() [1/2]

Surface & Slic3r::Surface::operator= ( const Surface & rhs)
inline
87 {
88 surface_type = rhs.surface_type;
89 expolygon = rhs.expolygon;
90 thickness = rhs.thickness;
91 thickness_layers = rhs.thickness_layers;
92 bridge_angle = rhs.bridge_angle;
93 extra_perimeters = rhs.extra_perimeters;
94 return *this;
95 }

References Surface(), bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

Here is the call graph for this function:

◆ operator=() [2/2]

Surface & Slic3r::Surface::operator= ( Surface && rhs)
inlinenoexcept
98 {
99 surface_type = rhs.surface_type;
100 expolygon = std::move(rhs.expolygon);
101 thickness = rhs.thickness;
102 thickness_layers = rhs.thickness_layers;
103 bridge_angle = rhs.bridge_angle;
104 extra_perimeters = rhs.extra_perimeters;
105 return *this;
106 }

References Surface(), bridge_angle, expolygon, extra_perimeters, surface_type, thickness, and thickness_layers.

Here is the call graph for this function:

Member Data Documentation

◆ bridge_angle

◆ expolygon

ExPolygon Slic3r::Surface::expolygon

Referenced by Surface(), Surface(), Surface(), Surface(), Surface(), Slic3r::Fill::_infill_direction(), Slic3r::PrintObject::bridge_over_infill(), clear(), Slic3r::PrintObject::clip_fill_surfaces(), Slic3r::collect_region_slices_by_type(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::SVG::draw(), Slic3r::SVG::draw_outline(), empty(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::expolygon_of(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::expolygon_of(), Slic3r::LayerRegion::export_region_fill_surfaces_to_svg(), Slic3r::LayerRegion::export_region_slices_to_svg(), Slic3r::Fill::fill_surface(), Slic3r::FillSupportBase::fill_surface(), Slic3r::Fill::fill_surface_arachne(), Slic3r::FillRectilinear::fill_surface_by_lines(), Slic3r::FillRectilinear::fill_surface_by_multilines(), Slic3r::FillLockedZag::fill_surface_locked_zag(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::from_json(), Slic3r::TreeSupport3D::generate_support_infill_lines(), Slic3r::FillLightning::Generator::generateInitialInternalOverhangs(), Slic3r::FillLightning::Generator::generateTrees(), Slic3r::get_boundary(), Slic3r::get_extents(), Slic3r::group_fills(), Slic3r::Layer::make_ironing(), operator=(), operator=(), Slic3r::PerimeterGenerator::process_classic(), Slic3r::PerimeterGenerator::process_no_bridge(), Slic3r::PrintObject::remove_bridges_from_contacts(), Slic3r::SupportMaterialInternal::remove_bridges_from_contacts(), Slic3r::segmentation_by_painting(), Slic3r::SurfaceCollection::simplify(), Slic3r::to_json(), and Slic3r::to_polygons().

◆ extra_perimeters

◆ surface_type

◆ thickness

◆ thickness_layers


The documentation for this class was generated from the following file:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Surface.hpp