#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/BuildVolume.hpp>
Classes | |
| struct | BuildExtruderVolume |
| struct | BuildSharedVolume |
Public Types | |
| enum class | ObjectState : unsigned char { Inside , Colliding , Outside , Below , Limited } |
Public Member Functions | |
| BuildVolume () | |
| BuildVolume (const std::vector< Vec2d > &printable_area, const double printable_height, const std::vector< std::vector< Vec2d > > &extruder_areas, const std::vector< double > &extruder_printable_heights) | |
| const std::vector< Vec2d > & | printable_area () const |
| double | printable_height () const |
| const std::vector< std::vector< Vec2d > > & | extruder_areas () const |
| const std::vector< double > & | extruder_heights () const |
| const BuildSharedVolume & | get_shared_volume () const |
| BuildVolume_Type | type () const |
| std::string_view | type_name () const |
| bool | valid () const |
| const Polygon & | polygon () const |
| const BoundingBox & | bounding_box () const |
| const BoundingBoxf3 & | bounding_volume () const |
| BoundingBoxf | bounding_volume2d () const |
| indexed_triangle_set | bounding_mesh (bool scale=true) const |
| Vec2d | bed_center () const |
| const Polygon & | convex_hull () const |
| const Geometry::Circled & | circle () const |
| ObjectState | object_state (const indexed_triangle_set &its, const Transform3f &trafo, bool may_be_below_bed, bool ignore_bottom=true) const |
| ObjectState | volume_state_bbox (const BoundingBoxf3 &volume_bbox, bool ignore_bottom=true) const |
| bool | all_paths_inside (const GCodeProcessorResult &paths, const BoundingBoxf3 &paths_bbox, bool ignore_bottom=true) const |
| int | get_extruder_area_count () const |
| const BuildExtruderVolume & | get_extruder_area_volume (int index) const |
| ObjectState | check_object_state_with_extruder_area (const indexed_triangle_set &its, const Transform3f &trafo, int index) const |
| ObjectState | check_object_state_with_extruder_areas (const indexed_triangle_set &its, const Transform3f &trafo, std::vector< bool > &inside_extruders) const |
| ObjectState | check_volume_bbox_state_with_extruder_area (const BoundingBoxf3 &volume_bbox, int index) const |
| ObjectState | check_volume_bbox_state_with_extruder_areas (const BoundingBoxf3 &volume_bbox, std::vector< bool > &inside_extruders) const |
| const std::pair< std::vector< Vec2d >, std::vector< Vec2d > > & | top_bottom_convex_hull_decomposition_scene () const |
| const std::pair< std::vector< Vec2d >, std::vector< Vec2d > > & | top_bottom_convex_hull_decomposition_bed () const |
Static Public Member Functions | |
| static std::string_view | type_name (BuildVolume_Type type) |
Static Public Attributes | |
| static constexpr const double | SceneEpsilon = EPSILON |
| static constexpr const double | BedEpsilon = 3. * EPSILON |
Private Attributes | |
| std::vector< Vec2d > | m_bed_shape |
| std::vector< std::vector< Vec2d > > | m_extruder_shapes |
| std::vector< BuildExtruderVolume > | m_extruder_volumes |
| BuildSharedVolume | m_shared_volume |
| double | m_max_print_height { 0.f } |
| std::vector< double > | m_extruder_printable_height |
| BuildVolume_Type | m_type { BuildVolume_Type::Invalid } |
| Polygon | m_polygon |
| BoundingBox | m_bbox |
| BoundingBoxf3 | m_bboxf |
| double | m_area { 0. } |
| Polygon | m_convex_hull |
| std::pair< std::vector< Vec2d >, std::vector< Vec2d > > | m_top_bottom_convex_hull_decomposition_scene |
| std::pair< std::vector< Vec2d >, std::vector< Vec2d > > | m_top_bottom_convex_hull_decomposition_bed |
| Geometry::Circled | m_circle { Vec2d::Zero(), 0 } |
| struct Slic3r::BuildVolume::BuildExtruderVolume |
| Class Members | ||
|---|---|---|
| BoundingBox | bbox | |
| BoundingBoxf3 | bboxf | |
| Circled | circle | |
| bool | same_with_bed {false} | |
| BuildVolume_Type | type {BuildVolume_Type::Invalid} | |
| struct Slic3r::BuildVolume::BuildSharedVolume |
|
strong |
| Enumerator | |
|---|---|
| Inside | |
| Colliding | |
| Outside | |
| Below | |
| Limited | |
|
inline |
| Slic3r::BuildVolume::BuildVolume | ( | const std::vector< Vec2d > & | printable_area, |
| const double | printable_height, | ||
| const std::vector< std::vector< Vec2d > > & | extruder_areas, | ||
| const std::vector< double > & | extruder_printable_heights ) |
References Slic3r::BuildVolume::BuildExtruderVolume::bbox, Slic3r::BuildVolume::BuildExtruderVolume::bboxf, BedEpsilon, Slic3r::Geometry::Circle< Vector >::center, Slic3r::Circle, Slic3r::BuildVolume::BuildExtruderVolume::circle, Slic3r::Geometry::circle_ransac(), Slic3r::Convex, Slic3r::Geometry::convex_hull(), Slic3r::Custom, Slic3r::Geometry::decompose_convex_polygon_top_bottom(), Slic3r::expand(), extruder_areas(), Slic3r::get_extents(), Slic3r::Invalid, m_area, m_bbox, m_bboxf, m_bed_shape, m_circle, m_convex_hull, m_extruder_printable_height, m_extruder_shapes, m_extruder_volumes, m_max_print_height, m_polygon, m_shared_volume, m_top_bottom_convex_hull_decomposition_bed, m_top_bottom_convex_hull_decomposition_scene, m_type, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min, Slic3r::Polygon::new_scale(), Slic3r::MultiPoint::points, printable_area(), printable_height(), Slic3r::Geometry::Circle< Vector >::radius, Slic3r::Rectangle, Slic3r::BuildVolume::BuildExtruderVolume::same_with_bed, Slic3r::scaled(), SCALED_EPSILON, SceneEpsilon, Slic3r::BoundingBoxBase< PointType, APointsType >::size(), Slic3r::MultiPoint::size(), Slic3r::Geometry::smallest_enclosing_circle_welzl(), Slic3r::sqr(), Slic3r::to_3d(), Slic3r::BuildVolume::BuildExtruderVolume::type, type_name(), and Slic3r::unscaled().
| bool Slic3r::BuildVolume::all_paths_inside | ( | const GCodeProcessorResult & | paths, |
| const BoundingBoxf3 & | paths_bbox, | ||
| bool | ignore_bottom = true ) const |
References BedEpsilon, bounding_volume(), Slic3r::Circle, Slic3r::BoundingBox3Base< PointType >::contains(), Slic3r::Convex, Slic3r::Custom, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::defined, Slic3r::erCustom, Slic3r::Extrude, Slic3r::BoundingBox3Base< PointType >::inflated(), m_circle, m_max_print_height, m_type, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min, Slic3r::GCodeProcessorResult::moves, Slic3r::Rectangle, Slic3r::sqr(), and Slic3r::unscaled().
|
inline |
References Slic3r::BoundingBoxBase< PointType, APointsType >::center(), Slic3r::get_extents(), and m_bed_shape.
Referenced by Slic3r::GUI::GLCanvas3D::_render_cad_grid(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::GUI::Plater::priv::load_model_objects(), Slic3r::GUI::Plater::priv::scale_selection_to_fit_print_volume(), and Slic3r::GUI::Plater::priv::update().
|
inline |
| indexed_triangle_set Slic3r::BuildVolume::bounding_mesh | ( | bool | scale = true | ) | const |
References Slic3r::its_make_cube(), m_bboxf, scale(), and scale_.
|
inline |
References m_bboxf.
Referenced by all_paths_inside(), Slic3r::GUI::contains(), object_state(), Slic3r::GUI::Plater::priv::scale_selection_to_fit_print_volume(), Slic3r::Model::update_print_volume_state(), and volume_state_bbox().
|
inline |
References m_bboxf, and Slic3r::to_2d().
Referenced by Slic3r::GUI::GLCanvas3D::_current_plate_box(), Slic3r::GUI::GLCanvas3D::_render_cad_grid(), Slic3r::ModelInstance::calc_print_volume_state(), and Slic3r::GUI::Plater::priv::load_model_objects().
| BuildVolume::ObjectState Slic3r::BuildVolume::check_object_state_with_extruder_area | ( | const indexed_triangle_set & | its, |
| const Transform3f & | trafo, | ||
| int | index ) const |
References Slic3r::BuildVolume::BuildExtruderVolume::bboxf, Slic3r::Geometry::Circle< Vector >::center, Slic3r::Circle, Slic3r::BuildVolume::BuildExtruderVolume::circle, circle(), Slic3r::BoundingBox3Base< PointType >::contains(), get_extruder_area_volume(), Slic3r::BoundingBox3Base< PointType >::inflated(), Inside, Slic3r::Invalid, Limited, m_max_print_height, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::object_state_templ(), Slic3r::Geometry::Circle< Vector >::radius, Slic3r::Rectangle, Slic3r::BuildVolume::BuildExtruderVolume::same_with_bed, SceneEpsilon, Slic3r::to_2d(), Slic3r::BuildVolume::BuildExtruderVolume::type, and Slic3r::unscaled().
Referenced by check_object_state_with_extruder_areas().
| BuildVolume::ObjectState Slic3r::BuildVolume::check_object_state_with_extruder_areas | ( | const indexed_triangle_set & | its, |
| const Transform3f & | trafo, | ||
| std::vector< bool > & | inside_extruders ) const |
References check_object_state_with_extruder_area(), get_extruder_area_count(), Inside, and Limited.
Referenced by Slic3r::GLVolumeCollection::check_outside_state().
| BuildVolume::ObjectState Slic3r::BuildVolume::check_volume_bbox_state_with_extruder_area | ( | const BoundingBoxf3 & | volume_bbox, |
| int | index ) const |
References Slic3r::BuildVolume::BuildExtruderVolume::bboxf, Slic3r::BoundingBox3Base< PointType >::contains(), get_extruder_area_volume(), Slic3r::BoundingBox3Base< PointType >::inflated(), Inside, Limited, Slic3r::BuildVolume::BuildExtruderVolume::same_with_bed, and SceneEpsilon.
Referenced by check_volume_bbox_state_with_extruder_areas().
| BuildVolume::ObjectState Slic3r::BuildVolume::check_volume_bbox_state_with_extruder_areas | ( | const BoundingBoxf3 & | volume_bbox, |
| std::vector< bool > & | inside_extruders ) const |
References check_volume_bbox_state_with_extruder_area(), get_extruder_area_count(), Inside, and Limited.
Referenced by Slic3r::GLVolumeCollection::check_outside_state(), and Slic3r::CLI::run().
|
inline |
References m_circle.
Referenced by check_object_state_with_extruder_area(), Slic3r::GUI::contains(), and object_state().
|
inline |
References m_convex_hull.
|
inline |
References m_extruder_shapes.
Referenced by BuildVolume(), Slic3r::GLVolumeCollection::check_outside_state(), and Slic3r::GLVolumeCollection::check_wipe_tower_outside_state().
|
inline |
References m_extruder_printable_height.
Referenced by Slic3r::GLVolumeCollection::check_outside_state().
|
inline |
References m_extruder_volumes.
Referenced by check_object_state_with_extruder_areas(), Slic3r::GLVolumeCollection::check_outside_state(), and check_volume_bbox_state_with_extruder_areas().
| const BuildVolume::BuildExtruderVolume & Slic3r::BuildVolume::get_extruder_area_volume | ( | int | index | ) | const |
References m_extruder_volumes.
Referenced by check_object_state_with_extruder_area(), and check_volume_bbox_state_with_extruder_area().
|
inline |
References m_shared_volume.
| BuildVolume::ObjectState Slic3r::BuildVolume::object_state | ( | const indexed_triangle_set & | its, |
| const Transform3f & | trafo, | ||
| bool | may_be_below_bed, | ||
| bool | ignore_bottom = true ) const |
References bounding_volume(), Slic3r::cast(), Slic3r::Circle, circle(), Slic3r::BoundingBox3Base< PointType >::contains(), Slic3r::Convex, Slic3r::Custom, Slic3r::BoundingBox3Base< PointType >::inflated(), Inside, Slic3r::Geometry::inside_convex_polygon(), Slic3r::Invalid, m_circle, m_max_print_height, m_top_bottom_convex_hull_decomposition_scene, m_type, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::object_state_templ(), Slic3r::Rectangle, SceneEpsilon, Slic3r::to_2d(), and Slic3r::unscaled().
Referenced by Slic3r::ModelInstance::calc_print_volume_state(), and Slic3r::GLVolumeCollection::check_outside_state().
|
inline |
References m_polygon.
Referenced by Slic3r::TreeSupport3D::TreeModelVolumes::TreeModelVolumes().
|
inline |
References m_bed_shape.
Referenced by BuildVolume(), Slic3r::GLVolumeCollection::check_wipe_tower_outside_state(), and anonymous_namespace{EmbossJob.cpp}::start_create_object_job().
|
inline |
References m_max_print_height.
Referenced by BuildVolume(), Slic3r::GLVolumeCollection::check_outside_state(), and Slic3r::GUI::contains().
|
inline |
References m_top_bottom_convex_hull_decomposition_bed.
|
inline |
References m_top_bottom_convex_hull_decomposition_scene.
|
inline |
References m_type.
Referenced by Slic3r::ModelInstance::calc_print_volume_state(), Slic3r::GLVolumeCollection::check_outside_state(), Slic3r::GUI::contains(), and type_name().
|
inline |
References m_type, and type_name().
Referenced by BuildVolume(), and type_name().
|
static |
References Slic3r::Circle, Slic3r::Convex, Slic3r::Custom, Slic3r::Invalid, Slic3r::Rectangle, and type().
|
inline |
References Slic3r::Invalid, and m_type.
Referenced by Slic3r::GUI::GLCanvas3D::_current_plate_box(), and Slic3r::GUI::GLCanvas3D::_render_cad_grid().
| BuildVolume::ObjectState Slic3r::BuildVolume::volume_state_bbox | ( | const BoundingBoxf3 & | volume_bbox, |
| bool | ignore_bottom = true ) const |
References Below, bounding_volume(), Colliding, Slic3r::BoundingBox3Base< PointType >::contains(), Slic3r::BoundingBox3Base< PointType >::inflated(), Inside, Slic3r::BoundingBox3Base< PointType >::intersects(), m_max_print_height, m_type, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Outside, Slic3r::Rectangle, and SceneEpsilon.
Referenced by Slic3r::ModelInstance::calc_print_volume_state(), and Slic3r::GLVolumeCollection::check_outside_state().
|
staticconstexpr |
|
private |
Referenced by BuildVolume().
|
private |
Referenced by BuildVolume(), and bounding_box().
|
private |
Referenced by BuildVolume(), bounding_mesh(), bounding_volume(), and bounding_volume2d().
|
private |
Referenced by BuildVolume(), bed_center(), and printable_area().
|
private |
Referenced by BuildVolume(), all_paths_inside(), circle(), and object_state().
|
private |
Referenced by BuildVolume(), and convex_hull().
|
private |
Referenced by BuildVolume(), and extruder_heights().
|
private |
Referenced by BuildVolume(), and extruder_areas().
|
private |
Referenced by BuildVolume(), get_extruder_area_count(), and get_extruder_area_volume().
|
private |
Referenced by BuildVolume(), all_paths_inside(), check_object_state_with_extruder_area(), object_state(), printable_height(), and volume_state_bbox().
|
private |
Referenced by BuildVolume(), and polygon().
|
private |
Referenced by BuildVolume(), and get_shared_volume().
|
private |
Referenced by BuildVolume(), and top_bottom_convex_hull_decomposition_bed().
|
private |
Referenced by BuildVolume(), object_state(), and top_bottom_convex_hull_decomposition_scene().
|
private |
Referenced by BuildVolume(), all_paths_inside(), object_state(), type(), type_name(), valid(), and volume_state_bbox().
|
staticconstexpr |
Referenced by BuildVolume(), Slic3r::GUI::GLCanvas3D::_render_objects(), Slic3r::ModelInstance::calc_print_volume_state(), check_object_state_with_extruder_area(), check_volume_bbox_state_with_extruder_area(), Slic3r::GUI::free_print_volumes(), Slic3r::GUI::PartPlate::get_build_volume(), object_state(), Slic3r::object_state_templ(), Slic3r::GUI::GLCanvas3D::render_thumbnail_internal(), and volume_state_bbox().