OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::BoundingBox3Base< PointType > Class Template Reference

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

Inheritance diagram for Slic3r::BoundingBox3Base< PointType >:
Collaboration diagram for Slic3r::BoundingBox3Base< PointType >:

Public Types

using PointsType = std::vector<PointType>

Public Member Functions

 BoundingBox3Base ()
 BoundingBox3Base (const PointType &pmin, const PointType &pmax)
 BoundingBox3Base (const PointType &p1, const PointType &p2, const PointType &p3)
template<class It, class = IteratorOnly<It>>
 BoundingBox3Base (It from, It to)
 BoundingBox3Base (const PointsType &points)
Polygon polygon (bool is_scaled=false) const
void merge (const PointType &point)
void merge (const PointsType &points)
void merge (const BoundingBox3Base< PointType > &bb)
PointType size () const
double radius () const
void translate (coordf_t x, coordf_t y, coordf_t z)
void translate (const Vec3d &v)
void offset (coordf_t delta)
BoundingBox3Base< PointType > inflated (coordf_t delta) const throw ()
PointType center () const
coordf_t max_size () const
bool contains (const PointType &point) const
bool contains (const BoundingBox3Base< PointType > &other) const
bool intersects (const BoundingBox3Base< PointType > &other) const
void reset ()
void scale (double factor)
double area () const
void translate (coordf_t x, coordf_t y)
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

static void construct (BoundingBoxType &out, It from, It to)

Detailed Description

template<class PointType>
class Slic3r::BoundingBox3Base< PointType >

Member Typedef Documentation

◆ PointsType

template<class PointType>
using Slic3r::BoundingBox3Base< PointType >::PointsType = std::vector<PointType>

Constructor & Destructor Documentation

◆ BoundingBox3Base() [1/5]

template<class PointType>
Slic3r::BoundingBox3Base< PointType >::BoundingBox3Base ( )
inline

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::BoundingBoxBase().

Referenced by BoundingBox3Base(), contains(), inflated(), intersects(), and merge().

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

◆ BoundingBox3Base() [2/5]

template<class PointType>
Slic3r::BoundingBox3Base< PointType >::BoundingBox3Base ( const PointType & pmin,
const PointType & pmax )
inline
122 :
124 { if (pmin.z() >= pmax.z()) BoundingBoxBase<PointType>::defined = false; }
Definition BoundingBox.hpp:117

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::BoundingBoxBase(), and Slic3r::BoundingBoxBase< PointType, APointsType >::defined.

Here is the call graph for this function:

◆ BoundingBox3Base() [3/5]

template<class PointType>
Slic3r::BoundingBox3Base< PointType >::BoundingBox3Base ( const PointType & p1,
const PointType & p2,
const PointType & p3 )
inline
125 :
void merge(const PointType &point)
Definition BoundingBox.cpp:139

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::BoundingBoxBase(), and merge().

Here is the call graph for this function:

◆ BoundingBox3Base() [4/5]

template<class PointType>
template<class It, class = IteratorOnly<It>>
Slic3r::BoundingBox3Base< PointType >::BoundingBox3Base ( It from,
It to )
inline
129 {
130 if (from == to)
131 throw Slic3r::InvalidArgument("Empty point set supplied to BoundingBox3Base constructor.");
132
133 auto it = from;
134 this->min = it->template cast<typename PointType::Scalar>();
135 this->max = this->min;
136 for (++ it; it != to; ++ it) {
137 auto vec = it->template cast<typename PointType::Scalar>();
138 this->min = this->min.cwiseMin(vec);
139 this->max = this->max.cwiseMax(vec);
140 }
141 this->defined = (this->min.x() < this->max.x()) && (this->min.y() < this->max.y()) && (this->min.z() < this->max.z());
142 }
auto cast(const BoundingBoxBase< Tin > &b)
Definition BoundingBox.hpp:299

References Slic3r::cast().

Here is the call graph for this function:

◆ BoundingBox3Base() [5/5]

template<class PointType>
Slic3r::BoundingBox3Base< PointType >::BoundingBox3Base ( const PointsType & points)
inline
145 : BoundingBox3Base(points.begin(), points.end())
146 {}
BoundingBox3Base()
Definition BoundingBox.hpp:121

References BoundingBox3Base().

Here is the call graph for this function:

Member Function Documentation

◆ area()

double Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::area ( ) const
inlineinherited
45{ return double(this->max(0) - this->min(0)) * (this->max(1) - this->min(1)); } // BBS
Definition BoundingBox.hpp:17

◆ center()

template<class PointType>
template Vec3d Slic3r::BoundingBox3Base< PointType >::center ( ) const
238{
239 return (this->min + this->max) / 2;
240}

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Referenced by Slic3r::PrintObject::PrintObject(), Slic3r::GUI::GLCanvas3D::_get_section_view_plane(), Slic3r::GUI::GLCanvas3D::_max_bounding_box(), Slic3r::GUI::GLCanvas3D::_render_section_view_caps(), Slic3r::GUI::MenuFactory::append_menu_item_center(), Slic3r::apply_painted_mesh_to_volume(), Slic3r::GUI::DesignPanel::arm_transform_gizmo(), Slic3r::FillAdaptive::build_octree(), Slic3r::GUI::Camera::calc_zoom_to_bounding_box_factor(), Slic3r::GUI::Camera::calc_zoom_to_volumes_factor(), Slic3r::GUI::Plater::calib_temp(), Slic3r::GUI::Selection::center(), Slic3r::TriangleMesh::center(), Slic3r::ModelObject::center_around_origin(), Slic3r::ModelVolume::center_geometry_after_creation(), Slic3r::Model::center_instances_around_point(), Slic3r::GUI::Selection::center_plate(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::describe_scene(), Slic3r::GUI::GLGizmoAlignment::distribute_objects_generic(), Slic3r::GUI::ensure_belt_purge_tower(), Slic3r::GUI::GLCanvas3D::get_camera_orbit_target(), Slic3r::GUI::GLCanvas3D::get_camera_pan_anchor(), Slic3r::GUI::GLGizmoAlignment::get_current_coord(), Slic3r::GUI::GLGizmoMove3D::get_tooltip(), Slic3r::GUI::ObjectList::load_mesh_object(), Slic3r::GUI::DesignCanvas::model_mid_z(), Slic3r::GUI::DesignPanel::on_move_body(), Slic3r::GUI::GLGizmoMove3D::on_start_dragging(), Slic3r::GUI::anonymous_namespace{SceneBenchmark.cpp}::SceneBenchmarkDialog::on_timer(), Slic3r::GUI::Selection::paste_objects_from_clipboard(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::CalibUtils::process_and_store_3mf(), Slic3r::sla::remove_inside_triangles(), Slic3r::GUI::GLGizmoMove3D::render_align_preview(), Slic3r::GUI::Selection::render_sidebar_hints(), Slic3r::CLI::run(), Slic3r::GUI::PartPlateList::select_plate(), Slic3r::GUI::Selection::set_caches(), Slic3r::GLVolume::SinkingContours::update(), Slic3r::GUI::GLGizmoCut3D::update_bb(), Slic3r::GUI::GLGizmoPainterBase::update_contours(), Slic3r::GUI::DesignPanel::update_cut_gizmo(), Slic3r::GUI::GizmoObjectManipulation::update_settings_value(), and Slic3r::GUI::Camera::zoom_to_box().

Here is the caller graph for this function:

◆ construct()

template void Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::construct< 1, BoundingBox, Points::const_iterator > ( BoundingBoxType & out,
It from,
It to )
inlinestaticprivateinherited
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 }

◆ contains() [1/2]

template<class PointType>
bool Slic3r::BoundingBox3Base< PointType >::contains ( const BoundingBox3Base< PointType > & other) const
inline
165 {
166 return contains(other.min) && contains(other.max);
167 }
bool contains(const PointType &point) const
Definition BoundingBox.hpp:161

References BoundingBox3Base(), contains(), Slic3r::BoundingBoxBase< PointType, APointsType >::max, and Slic3r::BoundingBoxBase< PointType, APointsType >::min.

Here is the call graph for this function:

◆ contains() [2/2]

template<class PointType>
bool Slic3r::BoundingBox3Base< PointType >::contains ( const PointType & point) const
inline
161 {
162 return BoundingBoxBase<PointType>::contains(point) && point.z() >= this->min.z() && point.z() <= this->max.z();
163 }
bool contains(const PointType &point) const
Definition BoundingBox.hpp:51

References Slic3r::BoundingBoxBase< PointType, APointsType >::contains().

Referenced by Slic3r::BuildVolume::all_paths_inside(), Slic3r::BuildVolume::check_object_state_with_extruder_area(), Slic3r::GUI::PartPlate::check_outside(), Slic3r::BuildVolume::check_volume_bbox_state_with_extruder_area(), contains(), Slic3r::GUI::contains(), Slic3r::GUI::PartPlate::contains(), Slic3r::ModelInstance::intersects_bed_exclude_region(), Slic3r::GUI::GCodeViewer::load_as_gcode(), Slic3r::BuildVolume::object_state(), Slic3r::GUI::GLCanvas3D::on_mouse(), Slic3r::GUI::GLCanvas3D::render_thumbnail_internal(), Slic3r::GUI::GLGizmoCut3D::update_bb(), and Slic3r::BuildVolume::volume_state_bbox().

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

◆ inflated()

template<class PointType>
BoundingBox3Base< PointType > Slic3r::BoundingBox3Base< PointType >::inflated ( coordf_t delta) const
throw ( )
inline
void offset(coordf_t delta)
Definition BoundingBox.cpp:219

References BoundingBox3Base(), and offset().

Referenced by Slic3r::GUI::GLCanvas3D::_render_objects(), Slic3r::BuildVolume::all_paths_inside(), Slic3r::BuildVolume::check_object_state_with_extruder_area(), Slic3r::BuildVolume::check_volume_bbox_state_with_extruder_area(), Slic3r::GUI::contains(), Slic3r::BuildVolume::object_state(), and Slic3r::BuildVolume::volume_state_bbox().

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

◆ intersects()

template<class PointType>
bool Slic3r::BoundingBox3Base< PointType >::intersects ( const BoundingBox3Base< PointType > & other) const
inline
170 {
171 return this->min.x() < other.max.x() && this->max.x() > other.min.x() && this->min.y() < other.max.y() && this->max.y() > other.min.y() &&
172 this->min.z() < other.max.z() && this->max.z() > other.min.z();
173 }

References BoundingBox3Base(), Slic3r::BoundingBoxBase< PointType, APointsType >::max, and Slic3r::BoundingBoxBase< PointType, APointsType >::min.

Referenced by Slic3r::GUI::PartPlate::check_outside(), priv::has_bb_intersection(), Slic3r::GUI::PartPlate::intersect_instance(), Slic3r::GUI::PartPlate::intersects(), Slic3r::Cut::perform_with_plane(), Slic3r::sla::remove_inside_triangles(), and Slic3r::BuildVolume::volume_state_bbox().

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

◆ max_size()

template<class PointType>
template coordf_t Slic3r::BoundingBox3Base< PointType >::max_size ( ) const
246{
247 PointType s = size();
248 return std::max(s.x(), std::max(s.y(), s.z()));
249}
PointType size() const
Definition BoundingBox.cpp:187

References size().

Referenced by Slic3r::GUI::GLCanvas3D::_max_bounding_box(), and Slic3r::GUI::Camera::calc_zoom_to_bounding_box_factor().

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

◆ merge() [1/3]

template<class PointType>
void Slic3r::BoundingBox3Base< PointType >::merge ( const BoundingBox3Base< PointType > & bb)
162{
163 assert(bb.defined || bb.min.x() >= bb.max.x() || bb.min.y() >= bb.max.y() || bb.min.z() >= bb.max.z());
164 if (bb.defined) {
165 if (this->defined) {
166 this->min = this->min.cwiseMin(bb.min);
167 this->max = this->max.cwiseMax(bb.max);
168 } else {
169 this->min = bb.min;
170 this->max = bb.max;
171 this->defined = true;
172 }
173 }
174}

References BoundingBox3Base(), Slic3r::BoundingBoxBase< PointType, APointsType >::defined, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::defined, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Here is the call graph for this function:

◆ merge() [2/3]

template<class PointType>
void Slic3r::BoundingBox3Base< PointType >::merge ( const PointsType & points)
155{
157}

◆ merge() [3/3]

template<class PointType>
void Slic3r::BoundingBox3Base< PointType >::merge ( const PointType & point)
140{
141 if (this->defined) {
142 this->min = this->min.cwiseMin(point);
143 this->max = this->max.cwiseMax(point);
144 } else {
145 this->min = point;
146 this->max = point;
147 this->defined = true;
148 }
149}

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::defined, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Referenced by BoundingBox3Base(), Slic3r::GUI::GLCanvas3D::_current_plate_box(), Slic3r::GUI::GLCanvas3D::_get_section_view_plane(), Slic3r::GUI::GLCanvas3D::_max_bounding_box(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::GCodeProcessor::add_object_mass(), Slic3r::GUI::GLGizmoCut3D::bounding_box(), Slic3r::GUI::GLGizmoPainterBase::bounding_box(), Slic3r::SolidBody::bounding_box(), Slic3r::Model::bounding_box_approx(), Slic3r::Model::bounding_box_exact(), Slic3r::GUI::PartPlate::calc_bounding_boxes(), Slic3r::GUI::Bed3D::calc_extended_bounding_box(), Slic3r::GUI::Bed3D::calc_printable_bounding_box(), Slic3r::GUI::Camera::calc_zoom_to_volumes_factor(), Slic3r::Model::center_instances_around_point(), Slic3r::configBrimWidthByVolumeGroups(), anonymous_namespace{EmbossJob.cpp}::cut_surface_to_its(), Slic3r::GUI::DesignSketchTool::faces_box(), Slic3r::GUI::DesignSketchTool::fit_box(), Slic3r::ModelObject::full_raw_mesh_bounding_box(), Slic3r::GUI::GLGizmoAlignment::get_items_box(), Slic3r::GUI::PartPlate::get_objects_bounding_box(), Slic3r::GUI::GLGizmoAlignment::get_selected_objects_info(), Slic3r::ModelObject::instance_bounding_box(), Slic3r::GUI::anonymous_namespace{GLGizmoAlignment.cpp}::instance_box_in_frame(), Slic3r::ModelObject::instance_convex_hull_bounding_box(), Slic3r::PaintCLI::anonymous_namespace{PaintCLI.cpp}::its_referenced_bbox(), Slic3r::GUI::GCodeViewer::load_as_gcode(), Slic3r::GUI::ObjectList::load_mesh_object(), Slic3r::GUI::GLCanvas3D::CenterOfMass::model_markers(), Slic3r::GUI::Selection::paste_objects_from_clipboard(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::GLCanvas3D::render_thumbnail_internal(), Slic3r::CLI::run(), Slic3r::GUI::GLCanvas3D::scene_bounding_box(), Slic3r::GUI::DesignSketchTool::selection_box(), Slic3r::GUI::DesignSketchTool::sketch_box(), Slic3r::GUI::GLGizmoCut3D::transformed_bounding_box(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::PrintObject::update_slicing_parameters(), Slic3r::GUI::GLCanvas3D::volumes_bounding_box(), and Slic3r::GUI::DesignPanel::zoom_to_feature().

Here is the caller graph for this function:

◆ offset()

template<class PointType>
template void Slic3r::BoundingBox3Base< PointType >::offset ( coordf_t delta)
220{
222 this->min -= v;
223 this->max += v;
224}

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Referenced by Slic3r::FaceDetector::detect_exterior_face(), inflated(), Slic3r::GUI::GCodeViewer::load_as_gcode(), and Slic3r::GUI::GLCanvas3D::on_mouse().

Here is the caller graph for this function:

◆ operator!=()

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

◆ operator==()

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

◆ operator[]()

PointType Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::operator[] ( size_t idx) const
inlineinherited
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 }

◆ overlap()

bool Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::overlap ( const BoundingBoxBase< PointType, PointsType > & other) const
inlineinherited
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 }

Referenced by Slic3r::GUI::GLCanvas3D::_update_inactive_plates_visibility(), and Slic3r::GUI::GLCanvas3D::volumes_bounding_box().

Here is the caller graph for this function:

◆ polygon()

template<class PointType>
template Polygon Slic3r::BoundingBox3Base< PointType >::polygon ( bool is_scaled = false) const
120{
122 polygon.points.clear();
123 polygon.points.resize(4);
124 double scale_factor = 1 / (is_scaled ? SCALING_FACTOR : 1);
125 polygon.points[0](0) = this->min(0) * scale_factor;
126 polygon.points[0](1) = this->min(1) * scale_factor;
127 polygon.points[1](0) = this->max(0) * scale_factor;
128 polygon.points[1](1) = this->min(1) * scale_factor;
129 polygon.points[2](0) = this->max(0) * scale_factor;
130 polygon.points[2](1) = this->max(1) * scale_factor;
131 polygon.points[3](0) = this->min(0) * scale_factor;
132 polygon.points[3](1) = this->max(1) * scale_factor;
133 return polygon;
134}
Polygon polygon(bool is_scaled=false) const
Definition BoundingBox.cpp:119

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min, polygon(), and SCALING_FACTOR.

Referenced by Slic3r::GLVolumeCollection::check_wipe_tower_outside_state(), and polygon().

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

◆ radius()

template<class PointType>
template double Slic3r::BoundingBox3Base< PointType >::radius ( ) const
203{
204 return 0.5 * (this->max - this->min).template cast<double>().norm();
205}

References Slic3r::cast(), Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Referenced by Slic3r::GUI::GLCanvas3D::_get_section_view_plane(), Slic3r::GUI::GLCanvas3D::_render_background(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::on_update(), Slic3r::sla::remove_inside_triangles(), and Slic3r::GUI::GLGizmoCut3D::update_bb().

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

◆ reset()

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

◆ scale()

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

Referenced by Slic3r::GUI::Camera::validate_target().

Here is the caller graph for this function:

◆ size()

template<class PointType>
template Vec3d Slic3r::BoundingBox3Base< PointType >::size ( ) const
188{
189 return this->max - this->min;
190}

References Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, and Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min.

Referenced by Slic3r::PrintObject::PrintObject(), Slic3r::GUI::Plater::_calib_temp_belt_sectioned(), Slic3r::GUI::GLCanvas3D::_render_section_view_caps(), Slic3r::GUI::GLGizmoTextureDisplacement::adjust_plane_point(), Slic3r::apply_painted_mesh_to_volume(), Slic3r::GUI::DesignPanel::arm_transform_gizmo(), Slic3r::FillAdaptive::build_octree(), Slic3r::GUI::calc_distance(), Slic3r::ModelInstance::calc_print_volume_state(), Slic3r::GUI::Bed3D::calc_printable_bounding_box(), Slic3r::GUI::Plater::calib_max_vol_speed(), Slic3r::GUI::GizmoObjectManipulation::change_size_value(), Slic3r::configBrimWidthByVolumeGroups(), Slic3r::GUI::create_mesh(), anonymous_namespace{EmbossJob.cpp}::create_volume(), Slic3r::GUI::PartPlate::estimate_wipe_tower_footprint(), Slic3r::sla::find_min_z_height_rotation(), Slic3r::GUI::get_grabber_mean_size(), Slic3r::get_instance_arrange_poly(), Slic3r::GUI::GLGizmoCut3D::get_tooltip(), Slic3r::lay_on_face_planes(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), max_size(), Slic3r::GUI::GLGizmoTextureDisplacement::on_mouse_adjust_texture(), Slic3r::GUI::DesignPanel::on_move_body(), Slic3r::GUI::anonymous_namespace{SceneBenchmark.cpp}::SceneBenchmarkDialog::on_timer(), Slic3r::GUI::DesignSketchTool::pad_box(), Slic3r::GUI::Selection::paste_objects_from_clipboard(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::ModelObject::print_info(), Slic3r::sla::remove_inside_triangles(), Slic3r::GUI::GLGizmoTextureDisplacement::render_adjust_texture_gizmo(), Slic3r::GUI::GLGizmoMove3D::render_align_preview(), Slic3r::GUI::Selection::render_bounding_box(), Slic3r::GUI::GLCanvas3D::CenterOfMass::render_details(), Slic3r::GUI::GLGizmoBase::render_grabbers(), Slic3r::GUI::GLGizmoCut3D::render_slider_two_input(), Slic3r::CLI::run(), Slic3r::GUI::Selection::scale_and_translate(), Slic3r::GUI::Selection::scale_to_fit_print_volume(), Slic3r::GUI::Plater::show_object_info(), Slic3r::PrintObject::slicing_parameters(), Slic3r::MeshInspect::to_json(), Slic3r::GLVolume::SinkingContours::update(), and Slic3r::GUI::GizmoObjectManipulation::update_settings_value().

Here is the caller graph for this function:

◆ translate() [1/3]

template<class PointType>
void Slic3r::BoundingBox3Base< PointType >::translate ( const Vec3d & v)
inline
155{ this->min += v; this->max += v; }

◆ translate() [2/3]

template<class PointType>
void Slic3r::BoundingBox3Base< PointType >::translate ( coordf_t x,
coordf_t y,
coordf_t z )
inline
154{ assert(this->defined); PointType v(x, y, z); this->min += v; this->max += v; }

Referenced by Slic3r::GUI::Bed3D::calc_extended_bounding_box(), Slic3r::CLI::run(), Slic3r::GUI::GLGizmoCut3D::set_center_pos(), Slic3r::PrintObject::slicing_parameters(), Slic3r::GUI::Selection::translate(), and Slic3r::GUI::Camera::validate_target().

Here is the caller graph for this function:

◆ translate() [3/3]

void Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::translate ( coordf_t x,
coordf_t y )
inlineinherited
46{ assert(this->defined); PointType v(x, y); this->min += v; this->max += v; }

Member Data Documentation

◆ defined

◆ max

PointType Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max
inherited

Referenced by Slic3r::BuildVolume::BuildVolume(), Slic3r::GUI::Plater::_calib_apply_belt_mode(), Slic3r::GUI::GLCanvas3D::_get_current_partplate_print_volume(), Slic3r::GUI::GLCanvas3D::_max_bounding_box(), Slic3r::CalibPressureAdvancePattern::_refresh_starting_point(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::GUI::GLCanvas3D::_shadow_casters_signature(), Slic3r::GUI::GLGizmoAlignment::align_objects_generic(), Slic3r::GUI::GLGizmoAlignment::align_to_x_max(), Slic3r::GUI::GLGizmoAlignment::align_to_y_max(), Slic3r::GUI::GLGizmoAlignment::align_to_z_max(), Slic3r::BuildVolume::all_paths_inside(), Slic3r::PaintCLI::anonymous_namespace{PaintCLI.cpp}::bbox_to_json(), Slic3r::TriangleMesh::bounding_box(), Slic3r::GUI::PartPlate::calc_bounding_boxes(), Slic3r::ModelInstance::calc_print_volume_state(), Slic3r::GUI::Bed3D::calc_printable_bounding_box(), Slic3r::GUI::Camera::calc_tight_frustrum_zs_around(), Slic3r::GUI::Camera::calc_zoom_to_bounding_box_factor(), Slic3r::BoundingBox3Base< PointType >::center(), Slic3r::GUI::PartPlate::check_outside(), Slic3r::anonymous_namespace{BeltTransform.cpp}::compute_belt_height_and_floor_impl(), Slic3r::GUI::contains(), Slic3r::GUI::PartPlate::contains(), anonymous_namespace{EmbossJob.cpp}::cut_surface_to_its(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::describe_scene(), Slic3r::FaceDetector::detect_exterior_face(), Slic3r::GUI::GLGizmoAlignment::distribute_objects_generic(), Slic3r::GUI::ensure_belt_purge_tower(), Slic3r::GUI::Selection::ensure_not_below_bed(), Slic3r::TimelapsePosPicker::expand_object_bbox(), Slic3r::GUI::free_print_volumes(), Slic3r::GUI::GLGizmoAlignment::get_current_coord(), Slic3r::GUI::get_cut_plane_points(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::get_instance_arrange_poly(), Slic3r::GUI::GLGizmoAlignment::get_parent_box(), Slic3r::GUI::GLGizmoCut3D::get_tooltip(), Slic3r::GUI::GLCanvas3D::get_wipe_tower_info(), Slic3r::imex_arrange_zones(), Slic3r::FillAdaptive::Octree::insert_triangle(), Slic3r::GUI::PartPlate::intersects(), Slic3r::GLVolume::is_below_printbed(), Slic3r::GLVolume::is_sinking(), Slic3r::PaintCLI::anonymous_namespace{PaintCLI.cpp}::its_referenced_bbox(), Slic3r::GUI::GCodeViewer::load_as_gcode(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::GUI::PartPlate::max_broad_phase_intersecting_object_height(), Slic3r::BoundingBox3Base< PointType >::merge(), Slic3r::BoundingBox3Base< PointType >::merge(), Slic3r::sla::SupportTreeBuilder::merged_mesh(), Slic3r::BoundingBox3Base< PointType >::offset(), Slic3r::GUI::PartPlate::open_belt_y(), Slic3r::GUI::DesignSketchTool::pad_box(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::GLCanvas3D::plate_scene_bounding_box(), Slic3r::BoundingBox3Base< PointType >::polygon(), Slic3r::ModelObject::print_info(), Slic3r::BoundingBox3Base< PointType >::radius(), Slic3r::GUI::Selection::render_bounding_box(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_height_range(), Slic3r::GUI::Selection::render_sidebar_layers_hints(), Slic3r::GUI::GLCanvas3D::render_thumbnail_internal(), Slic3r::CLI::run(), Slic3r::scaled(), Slic3r::GUI::GLCanvas3D::scene_bounding_box(), cereal::serialize(), Slic3r::GUI::GLGizmoCut3D::set_center_pos(), Slic3r::GUI::PartPlateList::set_default_wipe_tower_pos_for_plate(), Slic3r::BoundingBox3Base< PointType >::size(), Slic3r::MeshInspect::to_json(), Slic3r::GLVolume::transformed_bounding_box(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::GUI::Selection::translate(), Slic3r::GUI::GLGizmoCut3D::update_bb(), Slic3r::update_bounding_box(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), Slic3r::GUI::DesignPanel::update_cut_gizmo(), Slic3r::GUI::PartPlate::update_exclusion_volume_preview_models(), Slic3r::Model::update_print_volume_state(), Slic3r::GUI::Camera::validate_target(), Slic3r::Geometry::Transformation::volume_to_bed_transformation(), Slic3r::GUI::GLCanvas3D::zoom_to_bed(), and Slic3r::GUI::GLCanvas3D::zoom_to_plate().

◆ min

PointType Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min
inherited

Referenced by Slic3r::BuildVolume::BuildVolume(), Slic3r::GUI::Plater::_calib_apply_belt_mode(), Slic3r::GUI::Plater::_calib_temp_belt_sectioned(), Slic3r::GUI::GLCanvas3D::_get_current_partplate_print_volume(), Slic3r::CalibPressureAdvancePattern::_refresh_starting_point(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::GUI::GLCanvas3D::_shadow_casters_signature(), Slic3r::GUI::GLGizmoAlignment::align_objects_generic(), Slic3r::GUI::GLGizmoAlignment::align_to_x_min(), Slic3r::GUI::GLGizmoAlignment::align_to_y_min(), Slic3r::GUI::GLGizmoAlignment::align_to_z_min(), Slic3r::BuildVolume::all_paths_inside(), Slic3r::PaintCLI::anonymous_namespace{PaintCLI.cpp}::bbox_to_json(), Slic3r::TriangleMesh::bounding_box(), Slic3r::GUI::PartPlate::calc_bounding_boxes(), Slic3r::ModelInstance::calc_print_volume_state(), Slic3r::GUI::Bed3D::calc_printable_bounding_box(), Slic3r::GUI::Camera::calc_tight_frustrum_zs_around(), Slic3r::GUI::Camera::calc_zoom_to_bounding_box_factor(), Slic3r::GUI::Plater::calib_temp(), Slic3r::BoundingBox3Base< PointType >::center(), Slic3r::GUI::PartPlate::check_outside(), Slic3r::anonymous_namespace{BeltTransform.cpp}::compute_belt_height_and_floor_impl(), Slic3r::GUI::contains(), Slic3r::GUI::PartPlate::contains(), anonymous_namespace{EmbossJob.cpp}::cut_surface_to_its(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::describe_scene(), Slic3r::FaceDetector::detect_exterior_face(), Slic3r::GUI::GLGizmoAlignment::distribute_objects_generic(), Slic3r::GUI::GLCanvas3D::do_mirror(), Slic3r::GUI::GLCanvas3D::do_rotate(), Slic3r::GUI::GLCanvas3D::do_scale(), Slic3r::GUI::ensure_belt_purge_tower(), Slic3r::GUI::GLCanvas3D::ensure_on_bed(), Slic3r::GUI::Selection::ensure_on_bed(), Slic3r::TimelapsePosPicker::expand_object_bbox(), Slic3r::GUI::Plater::export_stl(), Slic3r::GUI::free_print_volumes(), Slic3r::GUI::GLGizmoAlignment::get_current_coord(), Slic3r::GUI::get_cut_plane_points(), Slic3r::GUI::Selection::get_drop_min_z(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::get_instance_arrange_poly(), Slic3r::GUI::GLGizmoAlignment::get_parent_box(), Slic3r::GUI::GLGizmoCut3D::get_tooltip(), Slic3r::GUI::GLCanvas3D::get_wipe_tower_info(), Slic3r::imex_arrange_zones(), Slic3r::sla::IndexedMesh::init(), Slic3r::FillAdaptive::Octree::insert_triangle(), Slic3r::GUI::PartPlate::intersects(), Slic3r::GUI::PartPlate::is_left_top_of(), Slic3r::GLVolume::is_sinking(), Slic3r::PaintCLI::anonymous_namespace{PaintCLI.cpp}::its_referenced_bbox(), Slic3r::GUI::GCodeViewer::load_as_gcode(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::BoundingBox3Base< PointType >::merge(), Slic3r::BoundingBox3Base< PointType >::merge(), Slic3r::sla::SupportTreeBuilder::merged_mesh(), Slic3r::BoundingBox3Base< PointType >::offset(), Slic3r::GUI::GLGizmoMove3D::on_start_dragging(), Slic3r::GUI::PartPlate::open_belt_y(), Slic3r::GUI::DesignSketchTool::pad_box(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::DesignPanel::place_on_face(), Slic3r::GUI::GLCanvas3D::plate_scene_bounding_box(), Slic3r::BoundingBox3Base< PointType >::polygon(), Slic3r::ModelObject::print_info(), Slic3r::process_modifier_cut(), Slic3r::BoundingBox3Base< PointType >::radius(), Slic3r::GUI::GLGizmoMove3D::render_align_preview(), Slic3r::GUI::Selection::render_bounding_box(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_height_range(), Slic3r::GUI::GLCanvas3D::CenterOfMass::render_details(), Slic3r::GUI::Selection::render_sidebar_layers_hints(), Slic3r::GUI::GLCanvas3D::render_thumbnail_internal(), Slic3r::CLI::run(), Slic3r::scaled(), Slic3r::GUI::GLCanvas3D::scene_bounding_box(), cereal::serialize(), Slic3r::GUI::GLGizmoCut3D::set_center_pos(), Slic3r::GUI::PartPlateList::set_default_wipe_tower_pos_for_plate(), Slic3r::BoundingBox3Base< PointType >::size(), Slic3r::SLAPrint::Steps::slice_model(), Slic3r::MeshInspect::to_json(), Slic3r::GLVolume::transformed_bounding_box(), Slic3r::TriangleMesh::transformed_bounding_box(), Slic3r::GUI::Selection::translate(), Slic3r::GLVolume::SinkingContours::update(), Slic3r::GUI::GLGizmoCut3D::update_bb(), Slic3r::update_bounding_box(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), Slic3r::GUI::DesignPanel::update_cut_gizmo(), Slic3r::GUI::PartPlate::update_exclusion_volume_preview_models(), Slic3r::Model::update_print_volume_state(), Slic3r::GUI::Camera::validate_target(), Slic3r::Geometry::Transformation::volume_to_bed_transformation(), Slic3r::GUI::GLCanvas3D::zoom_to_bed(), and Slic3r::GUI::GLCanvas3D::zoom_to_plate().


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