#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Geometry.hpp>
Static Public Member Functions | |
| static Transformation | volume_to_bed_transformation (const Transformation &instance_transformation, const BoundingBoxf3 &bbox) |
Private Member Functions | |
| template<class Archive> | |
| void | serialize (Archive &ar) |
| Transformation (int) | |
Static Private Member Functions | |
| template<class Archive> | |
| static void | load_and_construct (Archive &ar, cereal::construct< Transformation > &construct) |
Private Attributes | |
| Transform3d | m_matrix { Transform3d::Identity() } |
Friends | |
| class | cereal::access |
| bool | operator== (Transformation const &l, Transformation const &r) |
| bool | operator!= (Transformation const &l, Transformation const &r) |
|
default |
Referenced by get_matrix_no_offset(), get_matrix_no_scaling_factor(), get_matrix_with_applied_shrinkage_compensation(), operator!=, operator*(), operator==, and volume_to_bed_transformation().
|
inlineexplicit |
|
inlineexplicitprivate |
|
inline |
References m_matrix.
Referenced by Slic3r::_3MF_Exporter::_add_model_config_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_model_config_file_to_archive(), Slic3r::GUI::GLCanvas3D::_render_imex_ghosts(), Slic3r::GUI::ObjectList::apply_object_instance_transfrom_to_all_volumes(), Slic3r::GUI::GLGizmoBrimEars::auto_generate(), Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::PrintObject::contour_z(), Slic3r::GUI::CameraUtils::create_hull2d(), Slic3r::ModelObject::delete_volume(), Slic3r::GUI::GLCanvas3D::do_rotate(), Slic3r::GUI::dragging_rotate_gizmo(), Slic3r::GUI::Plater::export_stl(), Slic3r::GUI::RotoptimizeJob::finalize(), Slic3r::GUI::GLGizmoBrimEars::first_layer_slicer(), Slic3r::ModelInstance::get_arrange_polygon(), Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::GUI::Selection::get_full_scaled_instance_bounding_box(), Slic3r::GUI::Selection::get_full_unscaled_instance_bounding_box(), Slic3r::GUI::Selection::get_full_unscaled_instance_local_bounding_box(), get_matrix_no_offset(), get_matrix_no_scaling_factor(), get_matrix_with_applied_shrinkage_compensation(), Slic3r::GUI::GLGizmoPainterBase::get_projected_height_range(), Slic3r::GUI::Selection::get_scaled_instance_bounding_box(), Slic3r::GUI::MeshRaycaster::get_unobscured_idxs(), Slic3r::GUI::Selection::get_unscaled_instance_bounding_box(), Slic3r::GUI::GLGizmoBrimEars::gizmo_event(), Slic3r::GUI::GLGizmoMeshBoolean::gizmo_event(), Slic3r::GUI::GLGizmoPainterBase::gizmo_event(), anonymous_namespace{GLGizmoEmboss.cpp}::init_text_lines(), Slic3r::ModelObject::instance_bounding_box(), Slic3r::GUI::anonymous_namespace{GLGizmoAlignment.cpp}::instance_box_in_frame(), Slic3r::ModelObject::instance_convex_hull_bounding_box(), Slic3r::GUI::GLGizmoBrimEars::is_mesh_point_clipped(), Slic3r::make_brim_ears(), Slic3r::GUI::GLGizmoBrimEars::make_polygon(), Slic3r::Geometry::mat_around_a_point_rotate(), Slic3r::GUI::ObjectList::merge(), Slic3r::GUI::GLGizmoPainterBase::mesh_trafo_matrices(), Slic3r::GUI::GLGizmoFlatten::on_register_raycasters_for_picking(), Slic3r::GUI::GLGizmoFlatten::on_render(), Slic3r::GUI::GLGizmoMeasure::on_render(), Slic3r::GUI::GLGizmoMove3D::on_render(), operator*(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_height_range(), Slic3r::GUI::GLGizmoBrimEars::render_points(), Slic3r::GUI::Selection::render_synchronized_volumes(), Slic3r::GUI::GLGizmoCut3D::rotate_vec3d_around_plane_center(), Slic3r::CLI::run(), Slic3r::GUI::Selection::scale_and_translate(), Slic3r::GUI::selection_transform(), Slic3r::GUI::GLGizmoMeasure::set_to_around_center_of_faces(), Slic3r::GUI::GLGizmoMeasure::set_to_reverse_rotation(), Slic3r::GUI::MeshClipper::set_transformation(), Slic3r::ModelObject::split(), anonymous_namespace{SurfaceDrag.cpp}::start_dragging(), Slic3r::GUI::Selection::synchronize_unselected_instances(), Slic3r::GUI::Selection::transform_instance_relative(), Slic3r::GUI::Selection::transform_volume_relative(), Slic3r::GUI::GLGizmoCut3D::transformed_bounding_box(), Slic3r::GUI::GLGizmoBrimEars::unproject_on_mesh(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), and Slic3r::GUI::GLCanvas3D::update_sequential_clearance().
| Transform3d Slic3r::Geometry::Transformation::get_matrix_no_offset | ( | ) | const |
References Transformation(), get_matrix(), and reset_offset().
Referenced by Slic3r::ModelVolume::calculate_convex_hull_2d(), Slic3r::GUI::Selection::flattening_rotate(), Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), Slic3r::GUI::GLGizmoPainterBase::get_projected_height_range(), Slic3r::GUI::GLGizmoBrimEars::gizmo_event(), Slic3r::GUI::GLGizmoPainterBase::gizmo_event(), Slic3r::ModelObject::instance_bounding_box(), Slic3r::ModelObject::instance_convex_hull_bounding_box(), Slic3r::lay_on_face(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::GUI::GCodeViewer::load_shells(), Slic3r::make_brim_ears(), Slic3r::GUI::GLGizmoRotate::mouse_position_in_local_plane(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::GUI::Plater::priv::reload_from_disk(), Slic3r::GUI::Plater::priv::replace_volume_with_stl(), Slic3r::GUI::Selection::rotate(), Slic3r::GUI::Selection::scale_and_translate(), Slic3r::GUI::GLGizmoMeasure::set_distance(), Slic3r::GUI::GizmoObjectManipulation::set_init_rotation(), Slic3r::ModelObject::split(), Slic3r::GUI::Selection::transform_volume_relative(), Slic3r::GUI::GLGizmoCut3D::transformed_bounding_box(), Slic3r::GUI::Selection::translate(), and volume_to_bed_transformation().
| Transform3d Slic3r::Geometry::Transformation::get_matrix_no_scaling_factor | ( | ) | const |
References Transformation(), get_matrix(), and reset_scaling_factor().
Referenced by Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), Slic3r::GUI::Selection::get_full_unscaled_instance_bounding_box(), and Slic3r::GUI::Selection::get_unscaled_instance_bounding_box().
| Transform3d Slic3r::Geometry::Transformation::get_matrix_with_applied_shrinkage_compensation | ( | const Vec3d & | shrinkage_compensation | ) | const |
References Transformation(), get_matrix(), get_offset(), Slic3r::Geometry::scale_transform(), set_offset(), Slic3r::X, and Slic3r::Y.
Referenced by Slic3r::print_objects_from_model_object().
| Vec3d Slic3r::Geometry::Transformation::get_mirror | ( | ) | const |
References Slic3r::Geometry::extract_scale(), m_matrix, and scale().
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::ModelVolume::get_convex_hull_2d(), and volume_to_bed_transformation().
|
inline |
References get_mirror().
Referenced by get_mirror().
| Transform3d Slic3r::Geometry::Transformation::get_mirror_matrix | ( | ) | const |
References Slic3r::Geometry::extract_scale(), m_matrix, and scale().
|
inline |
References m_matrix.
Referenced by Slic3r::GUI::PartPlate::add_instance(), Slic3r::GUI::ObjectList::apply_object_instance_transfrom_to_all_volumes(), Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::ModelVolume::calculate_convex_hull_2d(), Slic3r::Model::convert_multipart_object(), Slic3r::GUI::GLGizmoMeshBoolean::generate_new_volume(), get_matrix_with_applied_shrinkage_compensation(), get_offset_matrix(), Slic3r::GUI::GLGizmoPainterBase::gizmo_event(), Slic3r::Geometry::mat_around_a_point_rotate(), Slic3r::GUI::GLGizmoPainterBase::mesh_trafo_matrices(), Slic3r::GUI::Selection::paste_volumes_from_clipboard(), Slic3r::Cut::perform_with_plane(), Slic3r::GUI::GLGizmoCut3D::process_selection_rectangle(), Slic3r::process_volume_cut(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_height_range(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::render_cut(), Slic3r::GUI::GLGizmoPainterBase::render_triangles(), Slic3r::GUI::GizmoObjectManipulation::reset_rotation_value(), Slic3r::GUI::Selection::rotate(), Slic3r::GUI::Selection::scale_and_translate(), set_mirror(), set_mirror(), Slic3r::GUI::PartPlate::set_pos_and_size(), set_rotation(), set_rotation(), set_scaling_factor(), set_scaling_factor(), Slic3r::GUI::Selection::transform_instance_relative(), Slic3r::GUI::Selection::transform_volume_relative(), Slic3r::GUI::Selection::translate(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), and Slic3r::GUI::GizmoObjectManipulation::update_settings_value().
|
inline |
References get_offset().
Referenced by get_offset().
| Transform3d Slic3r::Geometry::Transformation::get_offset_matrix | ( | ) | const |
References get_offset(), and Slic3r::Geometry::translation_transform().
Referenced by Slic3r::GUI::Selection::flattening_rotate(), Slic3r::lay_on_face(), reset_rotation(), reset_scaling_factor(), and reset_skew().
| Vec3d Slic3r::Geometry::Transformation::get_rotation | ( | ) | const |
References Slic3r::Geometry::extract_euler_angles(), Slic3r::Geometry::extract_rotation_matrix(), and m_matrix.
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::from_transform3f(), Slic3r::ModelVolume::get_convex_hull_2d(), Slic3r::reset_instance_transformation(), Slic3r::GUI::GizmoObjectManipulation::set_init_rotation(), and volume_to_bed_transformation().
|
inline |
References get_rotation().
Referenced by get_rotation().
| Vec3d Slic3r::Geometry::Transformation::get_rotation_by_quaternion | ( | ) | const |
References m_matrix.
Referenced by Slic3r::GUI::GizmoObjectManipulation::update_settings_value().
| Transform3d Slic3r::Geometry::Transformation::get_rotation_matrix | ( | ) | const |
References Slic3r::Geometry::extract_rotation_matrix(), and m_matrix.
Referenced by Slic3r::GUI::MeshRaycaster::get_unobscured_idxs(), Slic3r::Cut::perform_with_plane(), Slic3r::process_volume_cut(), Slic3r::reset_instance_transformation(), Slic3r::GUI::Selection::rotate(), Slic3r::GUI::GLGizmoMeasure::set_to_parallel(), and Slic3r::GUI::Selection::translate().
| Vec3d Slic3r::Geometry::Transformation::get_scaling_factor | ( | ) | const |
References Slic3r::Geometry::extract_scale(), m_matrix, and scale().
Referenced by Slic3r::TriangleSelector::Cursor::Cursor(), Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::ModelVolume::get_convex_hull_2d(), Slic3r::GUI::MeshRaycaster::get_unobscured_idxs(), is_scaling_uniform(), and volume_to_bed_transformation().
|
inline |
References get_scaling_factor().
Referenced by get_scaling_factor().
| Transform3d Slic3r::Geometry::Transformation::get_scaling_factor_matrix | ( | ) | const |
References Slic3r::Geometry::extract_scale(), m_matrix, and scale().
Referenced by Slic3r::GUI::GLGizmoPainterBase::render_cursor_sphere(), Slic3r::GUI::GLGizmoBrimEars::render_points(), Slic3r::GUI::Selection::rotate(), and Slic3r::GUI::Selection::translate().
| bool Slic3r::Geometry::Transformation::has_skew | ( | ) | const |
References Slic3r::Geometry::contains_skew(), and m_matrix.
|
inline |
References m_matrix.
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_sphere(), and Slic3r::GUI::Selection::rotate().
|
inline |
References get_scaling_factor(), and scale().
Referenced by volume_to_bed_transformation().
|
inlinestaticprivate |
| Transformation Slic3r::Geometry::Transformation::operator* | ( | const Transformation & | other | ) | const |
References Transformation(), and get_matrix().
| void Slic3r::Geometry::Transformation::reset | ( | ) |
|
inline |
References set_mirror().
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes().
|
inline |
References set_offset().
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes(), and get_matrix_no_offset().
| void Slic3r::Geometry::Transformation::reset_rotation | ( | ) |
References get_offset_matrix(), m_matrix, Slic3r::Geometry::TransformationSVD::mirror_matrix(), Slic3r::Geometry::TransformationSVD::s, and Slic3r::Geometry::TransformationSVD::v.
Referenced by Slic3r::GUI::GizmoObjectManipulation::reset_rotation_value(), and Slic3r::GUI::Selection::synchronize_unselected_instances().
| void Slic3r::Geometry::Transformation::reset_scaling_factor | ( | ) |
References get_offset_matrix(), m_matrix, Slic3r::Geometry::TransformationSVD::mirror_matrix(), Slic3r::Geometry::TransformationSVD::u, and Slic3r::Geometry::TransformationSVD::v.
Referenced by Slic3r::ModelObject::bake_xy_rotation_into_meshes(), Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), get_matrix_no_scaling_factor(), and Slic3r::GUI::GLGizmoAlignment::reference_basis().
| void Slic3r::Geometry::Transformation::reset_skew | ( | ) |
References get_offset_matrix(), m_matrix, Slic3r::Geometry::TransformationSVD::mirror_matrix(), Slic3r::Geometry::TransformationSVD::s, Slic3r::Geometry::scale_transform(), Slic3r::Geometry::TransformationSVD::u, and Slic3r::Geometry::TransformationSVD::v.
|
inlineprivate |
|
inline |
References m_matrix, and Slic3r::transform().
Referenced by Slic3r::Geometry::mat_around_a_point_rotate(), Slic3r::GUI::GizmoObjectManipulation::reset_rotation_value(), and volume_to_bed_transformation().
| void Slic3r::Geometry::Transformation::set_mirror | ( | Axis | axis, |
| double | mirror ) |
References Slic3r::Geometry::extract_rotation_scale(), get_offset(), m_matrix, Slic3r::offset(), and scale().
| void Slic3r::Geometry::Transformation::set_mirror | ( | const Vec3d & | mirror | ) |
References Slic3r::Geometry::extract_rotation_scale(), get_offset(), m_matrix, Slic3r::offset(), and scale().
Referenced by reset_mirror(), and volume_to_bed_transformation().
|
inline |
|
inline |
References m_matrix, and Slic3r::offset().
Referenced by Slic3r::GUI::ObjectList::apply_object_instance_transfrom_to_all_volumes(), Slic3r::PrintObject::contour_z(), Slic3r::Model::convert_multipart_object(), Slic3r::Geometry::generate_transform(), Slic3r::ModelInstance::get_arrange_polygon(), Slic3r::GUI::Selection::get_bounding_box_in_reference_system(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), get_matrix_with_applied_shrinkage_compensation(), Slic3r::GUI::GLGizmoCut3D::process_selection_rectangle(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::render_cut(), reset_offset(), Slic3r::GUI::GizmoObjectManipulation::reset_rotation_value(), Slic3r::ModelObject::split(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), and Slic3r::GUI::GLCanvas3D::update_sequential_clearance().
| void Slic3r::Geometry::Transformation::set_rotation | ( | Axis | axis, |
| double | rotation ) |
References Slic3r::Geometry::angle_to_0_2PI(), Slic3r::Geometry::extract_euler_angles(), Slic3r::Geometry::extract_rotation_scale(), get_offset(), Slic3r::is_approx(), m_matrix, Slic3r::offset(), PI, Slic3r::Geometry::rotation_transform(), and scale().
| void Slic3r::Geometry::Transformation::set_rotation | ( | const Vec3d & | rotation | ) |
References Slic3r::Geometry::extract_scale(), get_offset(), m_matrix, Slic3r::offset(), and Slic3r::Geometry::rotation_transform().
Referenced by Slic3r::ModelInstance::get_arrange_polygon(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::GUI::GLCanvas3D::update_sequential_clearance(), and volume_to_bed_transformation().
| void Slic3r::Geometry::Transformation::set_scaling_factor | ( | Axis | axis, |
| double | scaling_factor ) |
References Slic3r::Geometry::extract_rotation_scale(), get_offset(), m_matrix, Slic3r::offset(), and scale().
| void Slic3r::Geometry::Transformation::set_scaling_factor | ( | const Vec3d & | scaling_factor | ) |
References Slic3r::Geometry::extract_rotation_matrix(), get_offset(), m_matrix, Slic3r::offset(), and Slic3r::Geometry::scale_transform().
Referenced by volume_to_bed_transformation().
|
static |
References Transformation(), Slic3r::Geometry::extract_euler_angles(), get_matrix_no_offset(), get_mirror(), get_rotation(), get_scaling_factor(), Slic3r::Geometry::is_rotation_ninety_degrees(), is_scaling_uniform(), Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::max, Slic3r::BoundingBoxBase< PointType, std::vector< PointType > >::min, scale(), set_matrix(), set_mirror(), set_rotation(), and set_scaling_factor().
Referenced by Slic3r::GUI::ObjectList::load_modifier().
|
friend |
References cereal::access.
Referenced by cereal::access.
|
friend |
References Transformation().
|
friend |
References Transformation(), and m_matrix.
|
private |
Referenced by Transformation(), get_matrix(), get_mirror(), get_mirror_matrix(), get_offset(), get_rotation(), get_rotation_by_quaternion(), get_rotation_matrix(), get_scaling_factor(), get_scaling_factor_matrix(), has_skew(), is_left_handed(), operator==, reset(), reset_rotation(), reset_scaling_factor(), reset_skew(), serialize(), set_matrix(), set_mirror(), set_mirror(), set_offset(), set_offset(), set_rotation(), set_rotation(), set_scaling_factor(), and set_scaling_factor().