OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::BoundingBoxBase< PointType, APointsType > Class Template Reference

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

Inheritance diagram for Slic3r::BoundingBoxBase< PointType, APointsType >:

Public Types

using PointsType = APointsType

Public Member Functions

 BoundingBoxBase ()
 BoundingBoxBase (const PointType &pmin, const PointType &pmax)
 BoundingBoxBase (const PointType &p1, const PointType &p2, const PointType &p3)
template<class It, class = IteratorOnly<It>>
 BoundingBoxBase (It from, It to)
 BoundingBoxBase (const PointsType &points)
void reset ()
void merge (const PointType &point)
void merge (const PointsType &points)
void merge (const BoundingBoxBase< PointType, PointsType > &bb)
void scale (double factor)
PointType size () const
double radius () const
double area () const
void translate (coordf_t x, coordf_t y)
void translate (const PointType &v)
void offset (coordf_t delta)
BoundingBoxBase< PointType, PointsType > inflated (coordf_t delta) const throw ()
PointType center () const
bool contains (const PointType &point) const
bool contains (const BoundingBoxBase< PointType, PointsType > &other) const
bool overlap (const BoundingBoxBase< PointType, PointsType > &other) const
PointType operator[] (size_t idx) const
bool operator== (const BoundingBoxBase< PointType, PointsType > &rhs)
bool operator!= (const BoundingBoxBase< PointType, PointsType > &rhs)

Public Attributes

PointType min
PointType max
bool defined

Static Private Member Functions

template<bool IncludeBoundary = false, class BoundingBoxType, class It, class = IteratorOnly<It>>
static void construct (BoundingBoxType &out, It from, It to)

Friends

std::ostream & operator<< (std::ostream &os, const BoundingBoxBase &bbox)
BoundingBox get_extents (const Points &pts)
BoundingBox get_extents (const Points &pts)

Detailed Description

template<typename PointType, typename APointsType = std::vector<PointType>>
class Slic3r::BoundingBoxBase< PointType, APointsType >

Member Typedef Documentation

◆ PointsType

template<typename PointType, typename APointsType = std::vector<PointType>>
using Slic3r::BoundingBoxBase< PointType, APointsType >::PointsType = APointsType

Constructor & Destructor Documentation

◆ BoundingBoxBase() [1/5]

template<typename PointType, typename APointsType = std::vector<PointType>>
Slic3r::BoundingBoxBase< PointType, APointsType >::BoundingBoxBase ( )
inline
Definition BoundingBox.hpp:17
PointType max
Definition BoundingBox.hpp:21
bool defined
Definition BoundingBox.hpp:22
PointType min
Definition BoundingBox.hpp:20

References defined, max, and min.

Referenced by BoundingBoxBase(), BoundingBoxBase(), contains(), inflated(), merge(), merge(), operator!=(), operator<<, operator==(), and overlap().

Here is the caller graph for this function:

◆ BoundingBoxBase() [2/5]

template<typename PointType, typename APointsType = std::vector<PointType>>
Slic3r::BoundingBoxBase< PointType, APointsType >::BoundingBoxBase ( const PointType & pmin,
const PointType & pmax )
inline
25 :
26 min(pmin), max(pmax), defined(pmin.x() < pmax.x() && pmin.y() < pmax.y()) {}

References defined, max, and min.

◆ BoundingBoxBase() [3/5]

template<typename PointType, typename APointsType = std::vector<PointType>>
Slic3r::BoundingBoxBase< PointType, APointsType >::BoundingBoxBase ( const PointType & p1,
const PointType & p2,
const PointType & p3 )
inline
27 :
28 min(p1), max(p1), defined(false) { merge(p2); merge(p3); }
void merge(const PointType &point)
Definition BoundingBox.cpp:75

References defined, max, merge(), and min.

Here is the call graph for this function:

◆ BoundingBoxBase() [4/5]

template<typename PointType, typename APointsType = std::vector<PointType>>
template<class It, class = IteratorOnly<It>>
Slic3r::BoundingBoxBase< PointType, APointsType >::BoundingBoxBase ( It from,
It to )
inline
32 { construct(*this, from, to); }
static void construct(BoundingBoxType &out, It from, It to)
Definition BoundingBox.hpp:99
BoundingBoxBase()
Definition BoundingBox.hpp:24

References BoundingBoxBase(), and construct().

Here is the call graph for this function:

◆ BoundingBoxBase() [5/5]

template<typename PointType, typename APointsType = std::vector<PointType>>
Slic3r::BoundingBoxBase< PointType, APointsType >::BoundingBoxBase ( const PointsType & points)
inline
35 : BoundingBoxBase(points.begin(), points.end())
36 {}

References BoundingBoxBase().

Here is the call graph for this function:

Member Function Documentation

◆ area()

template<typename PointType, typename APointsType = std::vector<PointType>>
double Slic3r::BoundingBoxBase< PointType, APointsType >::area ( ) const
inline
45{ return double(this->max(0) - this->min(0)) * (this->max(1) - this->min(1)); } // BBS

References max, and min.

◆ center()

◆ construct()

template<typename PointType, typename APointsType = std::vector<PointType>>
template<bool IncludeBoundary = false, class BoundingBoxType, class It, class = IteratorOnly<It>>
template void Slic3r::BoundingBoxBase< PointType, APointsType >::construct< 1, BoundingBox, Points::const_iterator > ( BoundingBoxType & out,
It from,
It to )
inlinestaticprivate
100 {
101 if (from != to) {
102 auto it = from;
104 out.max = out.min;
105 for (++ it; it != to; ++ it) {
106 auto vec = it->template cast<typename PointType::Scalar>();
107 out.min = out.min.cwiseMin(vec);
108 out.max = out.max.cwiseMax(vec);
109 }
110 out.defined = IncludeBoundary || (out.min.x() < out.max.x() && out.min.y() < out.max.y());
111 }
112 }
auto cast(const BoundingBoxBase< Tin > &b)
Definition BoundingBox.hpp:299

References Slic3r::cast().

Referenced by BoundingBoxBase().

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

◆ contains() [1/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
bool Slic3r::BoundingBoxBase< PointType, APointsType >::contains ( const BoundingBoxBase< PointType, PointsType > & other) const
inline
55 {
56 return contains(other.min) && contains(other.max);
57 }
bool contains(const PointType &point) const
Definition BoundingBox.hpp:51

References BoundingBoxBase(), contains(), max, and min.

Here is the call graph for this function:

◆ contains() [2/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
bool Slic3r::BoundingBoxBase< PointType, APointsType >::contains ( const PointType & point) const
inline

◆ inflated()

template<typename PointType, typename APointsType = std::vector<PointType>>
BoundingBoxBase< PointType, PointsType > Slic3r::BoundingBoxBase< PointType, APointsType >::inflated ( coordf_t delta) const
throw ( )
inline
void offset(coordf_t delta)
Definition BoundingBox.cpp:209

References BoundingBoxBase(), and offset().

Referenced by Slic3r::ModelInstance::calc_print_volume_state().

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

◆ merge() [1/3]

template<class PointType, typename APointsType>
void Slic3r::BoundingBoxBase< PointType, APointsType >::merge ( const BoundingBoxBase< PointType, PointsType > & bb)
100{
101 assert(bb.defined || bb.min.x() >= bb.max.x() || bb.min.y() >= bb.max.y());
102 if (bb.defined) {
103 if (this->defined) {
104 this->min = this->min.cwiseMin(bb.min);
105 this->max = this->max.cwiseMax(bb.max);
106 } else {
107 this->min = bb.min;
108 this->max = bb.max;
109 this->defined = true;
110 }
111 }
112}

References BoundingBoxBase(), defined, max, and min.

Here is the call graph for this function:

◆ merge() [2/3]

template<class PointType, typename APointsType>
void Slic3r::BoundingBoxBase< PointType, APointsType >::merge ( const PointsType & points)
92{
94}

References BoundingBoxBase(), and merge().

Here is the call graph for this function:

◆ merge() [3/3]

template<class PointType, typename APointsType>
void Slic3r::BoundingBoxBase< PointType, APointsType >::merge ( const PointType & point)
76{
77 if (this->defined) {
78 this->min = this->min.cwiseMin(point);
79 this->max = this->max.cwiseMax(point);
80 } else {
81 this->min = point;
82 this->max = point;
83 this->defined = true;
84 }
85}

References defined, max, and min.

Referenced by BoundingBoxBase(), Slic3r::NearestPoints< K >::NearestPoints(), Slic3r::GCode::_do_export(), Slic3r::MultiPoint3::_douglas_peucker(), Slic3r::MultiPoint::_douglas_peucker(), Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillCrossHatch::_fill_surface_single(), Slic3r::FillGyroid::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), anonymous_namespace{Emboss.cpp}::align_shape(), Slic3r::Voronoi::annotate_inside_outside(), Slic3r::Geometry::arrange(), Slic3r::configBrimWidthByVolumeGroups(), Slic3r::connect_brim_lines(), Slic3r::ExPolygon::contains(), Slic3r::contour_distance(), Slic3r::contour_distance2(), Slic3r::detect_bridge_directions(), Slic3r::TreeSupport::detect_overhangs(), Slic3r::ArcFitter::do_arc_fitting(), Slic3r::Algorithm::do_split_line(), Slic3r::draw_two_overhangs_to_svg(), Slic3r::dump_voronoi_to_svg(), Slic3r::SVG::export_expolygons(), Slic3r::Layer::export_region_fill_surfaces_to_svg(), Slic3r::LayerRegion::export_region_fill_surfaces_to_svg(), Slic3r::Layer::export_region_slices_to_svg(), Slic3r::LayerRegion::export_region_slices_to_svg(), Slic3r::export_to_svg(), Slic3r::SurfaceCollection::export_to_svg(), Slic3r::Fill::extended_object_bounding_box(), Slic3r::SupportGridPattern::extract_support(), Slic3r::extrusion_polyline_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::fill_expolygon_generate_paths(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::GUI::Plater::priv::generate_first_layer_bbox(), Slic3r::FillLightning::Generator::generateTrees(), Slic3r::FillLightning::Generator::generateTreesforSupport(), Slic3r::PrintObject::get_certain_layers(), Slic3r::FillLightning::Node::get_extents, Slic3r::FillLightning::Node::get_extents, Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents(), Slic3r::get_extents_rotated(), Slic3r::get_extents_rotated(), Slic3r::PrintObject::get_first_layer_bbox(), Slic3r::get_print_object_extrusions_extents(), Slic3r::get_wipe_tower_extrusions_extents(), Slic3r::get_wipe_tower_priming_extrusions_extents(), Slic3r::init_boundary(), Slic3r::FillLightning::DistanceField::UnsupportedPointsGrid::initialize(), Slic3r::intersecting_edges(), Slic3r::anonymous_namespace{ExclusionVolumePathCheck.cpp}::line_bbox(), Slic3r::line_rounded_thick_segment_collision(), Slic3r::make_adaptive_infill_shells(), Slic3r::make_adaptive_tpms(), Slic3r::make_brim(), Slic3r::make_loops(), Slic3r::makeZigZag(), Slic3r::mark_boundary_segments_touching_infill(), merge(), Slic3r::Algorithm::merge_expansions_into_expolygons(), Slic3r::TreeSupport3D::merge_influence_areas_two_elements(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::Voronoi::offset(), Slic3r::ExPolygon::overlaps(), anonymous_namespace{OrcaSlicer_profile_validator.cpp}::place_wipe_tower(), Slic3r::GUI::ArrangeJob::prepare(), Slic3r::PrintObject::prepare_adaptive_infill_fields(), Slic3r::PerimeterGenerator::process_classic(), Slic3r::CLI::run(), Slic3r::segmentation_by_painting(), Slic3r::set_mass_locator(), Slic3r::slice_mesh(), Slic3r::Arachne::WallToolPaths::stitchToolPaths(), Slic3r::GUI::anonymous_namespace{DesignSketchTool.cpp}::text_strokes(), Slic3r::ClipperUtils::tile_expolygons(), Slic3r::PrintObjectSupportMaterial::top_contact_layers(), Slic3r::traverse_extrusions(), and Slic3r::tsp_remove_crossings().

◆ offset()

template<class PointType, typename APointsType>
template void Slic3r::BoundingBoxBase< PointType, APointsType >::offset ( coordf_t delta)
210{
212 this->min -= v;
213 this->max += v;
214}

References max, and min.

Referenced by Slic3r::SupportGridPattern::SupportGridPattern(), Slic3r::GCode::_do_export(), Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillGyroid::_fill_surface_single(), Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), Slic3r::FillTpmsFK::_fill_surface_single(), Slic3r::MMU_Graph::append_voronoi_vertices(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::belt_brim_clip_leading_edge(), Slic3r::build_graph(), Slic3r::GCodeProcessor::check_multi_extruder_gcode_valid(), Slic3r::compacted_wipe_tower_clearance(), Slic3r::compacted_wipe_tower_zone(), Slic3r::ExclusionVolumePathChecker::configure(), Slic3r::detect_bridge_directions(), Slic3r::Algorithm::do_split_line(), Slic3r::elephant_foot_compensation(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::generate_extra_perimeters_over_overhangs(), Slic3r::WipeTowerIntegration::generate_path_to_wipe_tower(), Slic3r::GUI::GLCanvas3D::get_wipe_tower_info(), Slic3r::BoundingBox::inflated(), inflated(), Slic3r::ExclusionVolumeTravelAvoidance::init(), Slic3r::init_boundary(), Slic3r::init_boundary(), Slic3r::AvoidCrossingPerimeters::init_layer(), Slic3r::inner_offset(), Slic3r::intersecting_edges(), Slic3r::anonymous_namespace{ExclusionVolumePathCheck.cpp}::line_bbox(), Slic3r::make_adaptive_infill_shells(), Slic3r::make_adaptive_tpms(), Slic3r::make_belt_brim(), Slic3r::Layer::make_fills(), Slic3r::GCode::needs_retraction(), Slic3r::GUI::FillBedJob::process(), Slic3r::segmentation_by_painting(), Slic3r::separated_body_at(), Slic3r::GCode::set_object_info(), Slic3r::slice_region_by_vertical_lines(), Slic3r::PerimeterGenerator::split_top_surfaces(), Slic3r::RetractWhenCrossingPerimeters::travel_inside_internal_regions(), Slic3r::WipeTowerIntegration::travel_to_tower_gap(), Slic3r::traverse_extrusions(), and Slic3r::traverse_loops().

Here is the caller graph for this function:

◆ operator!=()

template<typename PointType, typename APointsType = std::vector<PointType>>
bool Slic3r::BoundingBoxBase< PointType, APointsType >::operator!= ( const BoundingBoxBase< PointType, PointsType > & rhs)
inline
83{ return ! (*this == rhs); }

References BoundingBoxBase().

Here is the call graph for this function:

◆ operator==()

template<typename PointType, typename APointsType = std::vector<PointType>>
bool Slic3r::BoundingBoxBase< PointType, APointsType >::operator== ( const BoundingBoxBase< PointType, PointsType > & rhs)
inline
82{ return this->min == rhs.min && this->max == rhs.max; }

References BoundingBoxBase(), max, and min.

Here is the call graph for this function:

◆ operator[]()

template<typename PointType, typename APointsType = std::vector<PointType>>
PointType Slic3r::BoundingBoxBase< PointType, APointsType >::operator[] ( size_t idx) const
inline
62 {
63 switch (idx) {
64 case 0:
65 return min;
66 break;
67 case 1:
68 return PointType(max(0), min(1));
69 break;
70 case 2:
71 return max;
72 break;
73 case 3:
74 return PointType(min(0), max(1));
75 break;
76 default:
77 return PointType();
78 break;
79 }
80 return PointType();
81 }

References max, and min.

◆ overlap()

template<typename PointType, typename APointsType = std::vector<PointType>>
bool Slic3r::BoundingBoxBase< PointType, APointsType >::overlap ( const BoundingBoxBase< PointType, PointsType > & other) const
inline
58 {
59 return ! (this->max.x() < other.min.x() || this->min.x() > other.max.x() ||
60 this->max.y() < other.min.y() || this->min.y() > other.max.y());
61 }

References BoundingBoxBase(), max, and min.

Referenced by Slic3r::GCode::_do_export(), Slic3r::belt_brim_obstacles(), Slic3r::ExPolygon::contains(), Slic3r::TreeSupport::detect_overhangs(), Slic3r::PreciseSeam::extract_perimeter_segments(), Slic3r::get_grouped_bridges(), Slic3r::GCode::needs_retraction(), Slic3r::sla::SupportPointGenerator::Structure::overlap_area(), Slic3r::sla::SupportPointGenerator::Structure::overlaps(), Slic3r::anonymous_namespace{ExclusionVolumePathCheck.cpp}::overlaps_collinear_boundary(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), and Slic3r::GUI::GLCanvas3D::update_sequential_clearance().

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

◆ radius()

template<class PointType, typename APointsType>
template double Slic3r::BoundingBoxBase< PointType, APointsType >::radius ( ) const
195{
196 assert(this->defined);
197 return 0.5 * (this->max - this->min).template cast<double>().norm();
198}

References Slic3r::cast(), defined, max, and min.

Referenced by Slic3r::init_boundary().

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

◆ reset()

template<typename PointType, typename APointsType = std::vector<PointType>>
void Slic3r::BoundingBoxBase< PointType, APointsType >::reset ( )
inline
38{ this->defined = false; this->min = PointType::Zero(); this->max = PointType::Zero(); }

◆ scale()

template<class PointType, typename APointsType>
template void Slic3r::BoundingBoxBase< PointType, APointsType >::scale ( double factor)
66{
67 this->min *= factor;
68 this->max *= factor;
69}

References max, and min.

Referenced by Slic3r::CalibPressureAdvance::delta_scale_bed_ext(), Slic3r::GUI::CreateFontImageJob::process(), Slic3r::GUI::Emboss::CreateFontStyleImagesJob::process(), and Slic3r::BoundingBox::scaled().

Here is the caller graph for this function:

◆ size()

template<class PointType, typename APointsType>
template Vec2d Slic3r::BoundingBoxBase< PointType, APointsType >::size ( ) const
179{
180 return this->max - this->min;
181}

References max, and min.

Referenced by Slic3r::BuildVolume::BuildVolume(), Slic3r::NearestPoints< K >::NearestPoints(), Slic3r::WipeTower::WipeTower(), Slic3r::WipeTower2::WipeTower2(), Slic3r::GCode::_do_export(), Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillCrossHatch::_fill_surface_single(), Slic3r::FillLine::_fill_surface_single(), Slic3r::FillSpiralInset::_fill_surface_single(), Slic3r::FillSpiralInset::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), Slic3r::Voronoi::annotate_inside_outside(), Slic3r::Geometry::arrange(), Slic3r::build_graph(), Slic3r::GUI::Bed_2D::calculate_grid_step(), Slic3r::clip_finite_voronoi_edge(), Slic3r::configBrimWidthByVolumeGroups(), anonymous_namespace{Emboss.cpp}::create_bounding_rect(), anonymous_namespace{EmbossJob.cpp}::create_mesh_per_glyph(), Slic3r::detect_overhangs(), Slic3r::SVG::draw_grid(), Slic3r::dump_voronoi_to_svg(), Slic3r::elephant_foot_compensation(), Slic3r::estimated_wipe_tower_footprint(), Slic3r::FillRectilinear::fill_surface_by_lines(), Slic3r::FillConcentricInternal::fill_surface_extrusion(), Slic3r::CalibPressureAdvanceLine::generate_test(), anonymous_namespace{Emboss.cpp}::get_align_x_offset(), Slic3r::GUI::GLCanvas3D::get_size_proportional_to_max_bed_size(), Slic3r::GUI::GLCanvas3D::get_wipe_tower_info(), Slic3r::GUI::PartPlate::icon_scale_factor(), anonymous_namespace{GLGizmoSVG.cpp}::init_texture(), Slic3r::inner_offset(), Slic3r::GUI::Plater::priv::load_model_objects(), Slic3r::WipeTower::move_box_inside_polygon(), Slic3r::Voronoi::offset(), Slic3r::outer_inner_brim_area(), anonymous_namespace{OrcaSlicer_profile_validator.cpp}::place_wipe_tower(), Slic3r::CalibPressureAdvanceLine::print_extents(), Slic3r::GUI::CreateFontImageJob::process(), Slic3r::GUI::FillBedJob::process(), Slic3r::Arachne::WallToolPaths::removeSmallLines(), Slic3r::CLI::run(), priv::select_patches(), Slic3r::GUI::Plater::priv::set_bed_shape(), Slic3r::GUI::anonymous_namespace{DesignSketchTool.cpp}::text_strokes(), Slic3r::ClipperUtils::tile_expolygons(), and Slic3r::PrintObjectSupportMaterial::top_contact_layers().

◆ translate() [1/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
void Slic3r::BoundingBoxBase< PointType, APointsType >::translate ( const PointType & v)
inline
47{ this->min += v; this->max += v; }

◆ translate() [2/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
void Slic3r::BoundingBoxBase< PointType, APointsType >::translate ( coordf_t x,
coordf_t y )
inline

◆ get_extents [1/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
BoundingBox get_extents ( const Points & pts)
friend
167{
170 return out;
171}

◆ get_extents [2/2]

template<typename PointType, typename APointsType = std::vector<PointType>>
BoundingBox get_extents ( const Points & pts)
friend

◆ operator<<

template<typename PointType, typename APointsType = std::vector<PointType>>
std::ostream & operator<< ( std::ostream & os,
const BoundingBoxBase< PointType, APointsType > & bbox )
friend
85 {
86 os << "[" << bbox.max(0) - bbox.min(0) << " x " << bbox.max(1) - bbox.min(1) << "] from (" << bbox.min(0) << ", " << bbox.min(1) << ")";
87 return os;
88 }

References BoundingBoxBase(), max, and min.

Member Data Documentation

◆ defined

◆ max

template<typename PointType, typename APointsType = std::vector<PointType>>
PointType Slic3r::BoundingBoxBase< PointType, APointsType >::max

Referenced by Slic3r::AdaptiveInfillField::AdaptiveInfillField(), BoundingBoxBase(), BoundingBoxBase(), BoundingBoxBase(), Slic3r::BuildVolume::BuildVolume(), Slic3r::GUI::GLCanvas3D::_current_plate_box(), Slic3r::GCode::_do_export(), Slic3r::Print::_make_wipe_tower(), Slic3r::CalibPressureAdvancePattern::_refresh_writer(), Slic3r::GUI::GLCanvas3D::_render_cad_grid(), Slic3r::GUI::GLCanvas3D::_render_objects(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::BuildVolume::all_paths_inside(), Slic3r::Voronoi::annotate_inside_outside(), area(), Slic3r::Geometry::arrange(), Slic3r::GUI::Plater::priv::bed_shape_bb(), Slic3r::belt_brim_band_paths(), Slic3r::belt_brim_clip_leading_edge(), Slic3r::GCode::belt_layer_past_first_layer_band(), Slic3r::bounding_box_middle(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::boxes_around(), Slic3r::build_graph(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::c2_attach_stray_holes(), Slic3r::GUI::PartPlate::calc_imex_zones(), Slic3r::calculate_layer_edge_grid(), Slic3r::cast(), Slic3r::cast(), center(), Slic3r::BuildVolume::check_object_state_with_extruder_area(), Slic3r::ClipperUtils::clip_clipper_polygon_with_subject_bbox_templ(), Slic3r::Line::clip_with_bbox(), Slic3r::compacted_wipe_tower_clearance(), Slic3r::GUI::compute_belt_back_transform(), Slic3r::compute_imex_zone_layout(), Slic3r::BoundingBox3Base< PointType >::contains(), contains(), Slic3r::GUI::contains(), Slic3r::ConvertBBoxToPolyline(), anonymous_namespace{Emboss.cpp}::create_bounding_rect(), Slic3r::GUI::DesignSketchTool::dbp_half_extent(), Slic3r::BridgeDetector::detect_angle(), anonymous_namespace{GLGizmoSVG.cpp}::draw_filled(), Slic3r::SVG::draw_grid(), anonymous_namespace{GLGizmoSVG.cpp}::draw_side_outline(), Slic3r::dump_voronoi_to_svg(), Slic3r::empty(), Slic3r::empty(), Slic3r::GUI::ensure_belt_purge_tower(), Slic3r::GUI::PartPlate::estimate_wipe_tower_polygon(), Slic3r::SVG::export_expolygons(), Slic3r::Layer::export_region_fill_surfaces_to_svg(), Slic3r::LayerRegion::export_region_fill_surfaces_to_svg(), Slic3r::Layer::export_region_slices_to_svg(), Slic3r::LayerRegion::export_region_slices_to_svg(), Slic3r::SurfaceCollection::export_to_svg(), Slic3r::Fill::extended_object_bounding_box(), Slic3r::SupportGridPattern::extract_support(), Slic3r::extrusion_polyline_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::WipeTower2::finish_layer(), Slic3r::anonymous_namespace{MultiMaterialSegmentation.cpp}::IslandLocator::for_cells(), Slic3r::from_json(), Slic3r::GUI::Plater::priv::generate_first_layer_bbox(), Slic3r::GUI::Bed_2D::generate_grid(), Slic3r::WipeTowerIntegration::generate_path_to_wipe_tower(), boost::geometry::traits::indexed_access< Slic3r::BoundingBox, 1, d >::get(), anonymous_namespace{Emboss.cpp}::get_align_x_offset(), Slic3r::GUI::PartPlate::get_build_volume(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::GUI::Plater::get_empty_cells(), Slic3r::BoundingBox::get_extents_rotated, Slic3r::TimelapsePosPicker::get_is_clear_to_x0(), Slic3r::get_trapezoids2(), Slic3r::get_trapezoids3_half(), Slic3r::get_wipe_tower_priming_extrusions_extents(), Slic3r::FillLightning::Layer::getBestGroundingLocation(), Slic3r::arrangement::height(), Slic3r::init_boundary(), Slic3r::init_boundary(), Slic3r::FillLightning::DistanceField::UnsupportedPointsGrid::initialize(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::inset(), Slic3r::BoundingBox3Base< PointType >::intersects(), Slic3r::make_belt_brim(), Slic3r::make_gyroid_waves(), Slic3r::BoundingBox3Base< PointType >::merge(), merge(), merge(), Slic3r::WipeTower::move_box_inside_polygon(), Slic3r::FillAdaptive::multiline_paths(), Slic3r::BuildVolume::object_state(), offset(), Slic3r::Voronoi::offset(), Slic3r::SVG::open(), operator<<, operator==(), operator[](), overlap(), Slic3r::GUI::ArrangeJob::prepare_belt_regions(), Slic3r::CalibPressureAdvanceLine::print_extents(), Slic3r::GUI::ArrangeJob::process(), Slic3r::GUI::Emboss::CreateFontStyleImagesJob::process(), Slic3r::GUI::FillBedJob::process(), Slic3r::GCode::process_layer(), radius(), Slic3r::GUI::GCodeViewer::render_markers(), Slic3r::ImexArranger::room_in(), Slic3r::CLI::run(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::same_zone(), Slic3r::sample_grid_pattern(), Slic3r::EdgeGrid::save_png(), scale(), Slic3r::GUI::Selection::scale_to_fit_print_volume(), Slic3r::scaled(), cereal::serialize(), cereal::serialize(), cereal::serialize(), boost::geometry::traits::indexed_access< Slic3r::BoundingBox, 1, d >::set(), Slic3r::TreeSupport3D::SupportElementMerging::set_bbox(), Slic3r::GUI::PartPlateList::set_default_wipe_tower_pos_for_plate(), Slic3r::set_mass_locator(), Slic3r::GCode::set_object_info(), priv::set_skip_for_out_of_aoi(), size(), Slic3r::slices_to_regions(), Slic3r::GUI::ImGuiWrapper::suggest_location(), Slic3r::to_json(), Slic3r::arrangement::to_nestbin(), Slic3r::WipeTower2::toolchange_Change(), Slic3r::RetractWhenCrossingPerimeters::travel_inside_internal_regions(), Slic3r::WipeTowerIntegration::travel_to_tower_gap(), Slic3r::FillAdaptive::triangle_AABB_intersects(), Slic3r::tsp_remove_crossings(), Slic3r::unscaled(), Slic3r::unscaled(), Slic3r::BuildVolume::volume_state_bbox(), and Slic3r::arrangement::width().

◆ min

template<typename PointType, typename APointsType = std::vector<PointType>>
PointType Slic3r::BoundingBoxBase< PointType, APointsType >::min

Referenced by Slic3r::AdaptiveInfillField::AdaptiveInfillField(), BoundingBoxBase(), BoundingBoxBase(), BoundingBoxBase(), Slic3r::BuildVolume::BuildVolume(), Slic3r::NearestPoints< K >::NearestPoints(), Slic3r::GUI::GLCanvas3D::_current_plate_box(), Slic3r::GCode::_do_export(), Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillCrossHatch::_fill_surface_single(), Slic3r::FillGyroid::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), Slic3r::Print::_make_wipe_tower(), Slic3r::GUI::GLCanvas3D::_render_cad_grid(), Slic3r::GUI::GLCanvas3D::_render_objects(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::BuildVolume::all_paths_inside(), Slic3r::Voronoi::annotate_inside_outside(), area(), Slic3r::Geometry::arrange(), Slic3r::GUI::Plater::priv::bed_shape_bb(), Slic3r::belt_brim_band_paths(), Slic3r::belt_brim_clip_leading_edge(), Slic3r::GCode::belt_layer_past_first_layer_band(), Slic3r::bounding_box_middle(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::boxes_around(), Slic3r::build_graph(), Slic3r::anonymous_namespace{ClipperUtils.cpp}::c2_attach_stray_holes(), Slic3r::GUI::PartPlate::calc_imex_zones(), Slic3r::calculate_layer_edge_grid(), Slic3r::cast(), Slic3r::cast(), center(), Slic3r::BuildVolume::check_object_state_with_extruder_area(), Slic3r::ClipperUtils::clip_clipper_polygon_with_subject_bbox_templ(), Slic3r::Line::clip_with_bbox(), Slic3r::compacted_wipe_tower_clearance(), Slic3r::compute_imex_zone_layout(), Slic3r::BoundingBox3Base< PointType >::contains(), contains(), Slic3r::GUI::contains(), Slic3r::ConvertBBoxToPolyline(), anonymous_namespace{Emboss.cpp}::create_bounding_rect(), Slic3r::GUI::DesignSketchTool::dbp_half_extent(), Slic3r::BridgeDetector::detect_angle(), anonymous_namespace{GLGizmoSVG.cpp}::draw_filled(), Slic3r::SVG::draw_grid(), anonymous_namespace{GLGizmoSVG.cpp}::draw_side_outline(), Slic3r::dump_voronoi_to_svg(), Slic3r::empty(), Slic3r::empty(), Slic3r::GUI::PartPlate::estimate_wipe_tower_polygon(), Slic3r::estimated_wipe_tower_footprint(), Slic3r::SVG::export_expolygons(), Slic3r::Layer::export_region_fill_surfaces_to_svg(), Slic3r::LayerRegion::export_region_fill_surfaces_to_svg(), Slic3r::Layer::export_region_slices_to_svg(), Slic3r::LayerRegion::export_region_slices_to_svg(), Slic3r::SurfaceCollection::export_to_svg(), Slic3r::Fill::extended_object_bounding_box(), Slic3r::SupportGridPattern::extract_support(), Slic3r::extrusion_polyline_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::WipeTower2::finish_layer(), Slic3r::anonymous_namespace{MultiMaterialSegmentation.cpp}::IslandLocator::for_cells(), Slic3r::from_json(), Slic3r::GUI::Plater::priv::generate_first_layer_bbox(), Slic3r::GUI::Bed_2D::generate_grid(), Slic3r::WipeTowerIntegration::generate_path_to_wipe_tower(), Slic3r::WipeTower2::generate_support_rib_wall(), Slic3r::WipeTower::generate_support_wall_new(), Slic3r::CalibPressureAdvanceLine::generate_test(), boost::geometry::traits::indexed_access< Slic3r::BoundingBox, 0, d >::get(), Slic3r::GUI::PartPlate::get_build_volume(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::GUI::Plater::get_empty_cells(), Slic3r::BoundingBox::get_extents_rotated, Slic3r::TimelapsePosPicker::get_is_clear_to_x0(), Slic3r::get_trapezoids2(), Slic3r::get_trapezoids3_half(), Slic3r::get_wipe_tower_priming_extrusions_extents(), Slic3r::FillLightning::Layer::getBestGroundingLocation(), Slic3r::arrangement::height(), Slic3r::init_boundary(), Slic3r::init_boundary(), anonymous_namespace{GLGizmoSVG.cpp}::init_texture(), Slic3r::FillLightning::DistanceField::UnsupportedPointsGrid::initialize(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::inset(), Slic3r::BoundingBox3Base< PointType >::intersects(), Slic3r::make_adaptive_infill_shells(), Slic3r::make_adaptive_tpms(), Slic3r::make_belt_brim(), Slic3r::make_gyroid_waves(), Slic3r::BoundingBox3Base< PointType >::merge(), merge(), merge(), Slic3r::WipeTower::move_box_inside_polygon(), Slic3r::FillAdaptive::multiline_paths(), Slic3r::BuildVolume::object_state(), offset(), Slic3r::Voronoi::offset(), Slic3r::SVG::open(), operator<<, operator==(), operator[](), overlap(), Slic3r::GUI::ArrangeJob::prepare(), Slic3r::GUI::ArrangeJob::prepare_belt_regions(), Slic3r::CalibPressureAdvanceLine::print_extents(), Slic3r::GUI::ArrangeJob::process(), Slic3r::GUI::Emboss::CreateFontStyleImagesJob::process(), Slic3r::GUI::FillBedJob::process(), Slic3r::GCode::process_layer(), radius(), Slic3r::GUI::GCodeViewer::render_markers(), Slic3r::ImexArranger::room_in(), Slic3r::CLI::run(), Slic3r::anonymous_namespace{IMEXArrange.cpp}::same_zone(), Slic3r::sample_grid_pattern(), Slic3r::EdgeGrid::save_png(), scale(), Slic3r::GUI::Selection::scale_to_fit_print_volume(), Slic3r::scaled(), cereal::serialize(), cereal::serialize(), cereal::serialize(), boost::geometry::traits::indexed_access< Slic3r::BoundingBox, 0, d >::set(), Slic3r::TreeSupport3D::SupportElementMerging::set_bbox(), Slic3r::GUI::PartPlateList::set_default_wipe_tower_pos_for_plate(), Slic3r::set_mass_locator(), Slic3r::GCode::set_object_info(), priv::set_skip_for_out_of_aoi(), size(), Slic3r::slices_to_regions(), Slic3r::GUI::ImGuiWrapper::suggest_location(), Slic3r::ClipperUtils::tile_expolygons(), Slic3r::FillLightning::to_grid_point(), Slic3r::to_json(), Slic3r::arrangement::to_nestbin(), Slic3r::WipeTower2::toolchange_Change(), Slic3r::RetractWhenCrossingPerimeters::travel_inside_internal_regions(), Slic3r::WipeTowerIntegration::travel_to_tower_gap(), Slic3r::FillAdaptive::triangle_AABB_intersects(), Slic3r::tsp_remove_crossings(), Slic3r::unscaled(), Slic3r::unscaled(), Slic3r::BuildVolume::volume_state_bbox(), and Slic3r::arrangement::width().


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