#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmosCommon.hpp>
Public Member Functions | |
| ObjectClipper (CommonGizmosDataPool *cgdp) | |
| CommonGizmosDataID | get_dependencies () const override |
| double | get_position () const |
| void | set_position_to_init_layer () |
| const ClippingPlane * | get_clipping_plane (bool ignore_hide_clipped=false) const |
| void | render_cut (const std::vector< size_t > *ignore_idxs=nullptr) const |
| void | set_position_by_ratio (double pos, const Vec3d &normal) |
| void | set_range_and_pos (const Vec3d &cpl_normal, double cpl_offset, double pos) |
| void | set_behavior (bool hide_clipped, bool fill_cut, double contour_width) |
| int | get_number_of_contours () const |
| std::vector< Vec3d > | point_per_contour () const |
| int | is_projection_inside_cut (const Vec3d &point_in) const |
| bool | has_valid_contour () const |
| void | update () |
| void | release () |
| bool | is_valid () const |
Protected Member Functions | |
| void | on_update () override |
| void | on_release () override |
| CommonGizmosDataPool * | get_pool () const |
Private Attributes | |
| std::vector< const TriangleMesh * > | m_old_meshes |
| std::vector< std::pair< std::unique_ptr< MeshClipper >, Geometry::Transformation > > | m_clippers |
| std::unique_ptr< ClippingPlane > | m_clp |
| double | m_clp_ratio = 0. |
| double | m_active_inst_bb_radius = 0. |
| bool | m_hide_clipped = true |
| bool | m_is_valid = false |
| CommonGizmosDataPool * | m_common = nullptr |
|
inlineexplicit |
References Slic3r::GUI::CommonGizmosDataBase::CommonGizmosDataBase().
| const ClippingPlane * Slic3r::GUI::ObjectClipper::get_clipping_plane | ( | bool | ignore_hide_clipped = false | ) | const |
References Slic3r::GUI::ClippingPlane::ClipsNothing(), m_clp, and m_hide_clipped.
Referenced by Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut().
|
inlineoverridevirtual |
| int Slic3r::GUI::ObjectClipper::get_number_of_contours | ( | ) | const |
References m_clippers.
|
inlineprotectedinherited |
References m_common.
Referenced by Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::get_active_instance(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::on_release(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::on_update(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::on_update(), Slic3r::GUI::CommonGizmosDataObjects::Raycaster::on_update(), Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::on_update(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::render_cut(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::set_position_by_ratio(), Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::set_position_to_init_layer(), and Slic3r::GUI::CommonGizmosDataObjects::ObjectClipper::set_range_and_pos().
|
inline |
References m_clp_ratio.
Referenced by Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut().
| bool Slic3r::GUI::ObjectClipper::has_valid_contour | ( | ) | const |
References m_clippers, and m_clp_ratio.
| int Slic3r::GUI::ObjectClipper::is_projection_inside_cut | ( | const Vec3d & | point_in | ) | const |
References m_clippers, and m_clp_ratio.
|
inlineinherited |
References m_is_valid.
Referenced by Slic3r::GUI::CommonGizmosDataPool::instances_hider(), Slic3r::GUI::CommonGizmosDataPool::object_clipper(), Slic3r::GUI::CommonGizmosDataPool::raycaster(), Slic3r::GUI::CommonGizmosDataObjects::InstancesHider::render_cut(), and Slic3r::GUI::CommonGizmosDataPool::selection_info().
|
overrideprotectedvirtual |
Implements Slic3r::GUI::CommonGizmosDataBase.
References m_clippers, m_clp, m_clp_ratio, and m_old_meshes.
|
overrideprotectedvirtual |
Implements Slic3r::GUI::CommonGizmosDataBase.
References Slic3r::GUI::CommonGizmosDataBase::get_pool(), Slic3r::ModelVolume::get_transformation(), Slic3r::ModelObject::instance_bounding_box(), m_active_inst_bb_radius, m_clippers, m_old_meshes, Slic3r::ModelVolume::mesh(), Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::model_object(), Slic3r::BoundingBox3Base< PointType >::radius(), Slic3r::GUI::CommonGizmosDataPool::selection_info(), and Slic3r::ModelObject::volumes.
| std::vector< Vec3d > Slic3r::GUI::ObjectClipper::point_per_contour | ( | ) | const |
References m_clippers.
Referenced by Slic3r::GUI::GLGizmoCut3D::PartSelection::PartSelection().
|
inlineinherited |
References m_is_valid, and on_release().
| void Slic3r::GUI::ObjectClipper::render_cut | ( | const std::vector< size_t > * | ignore_idxs = nullptr | ) | const |
References Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::get_active_instance(), Slic3r::Geometry::Transformation::get_offset(), Slic3r::GUI::CommonGizmosDataBase::get_pool(), Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::get_sla_shift(), Slic3r::ModelObject::instances, m_clippers, m_clp, m_clp_ratio, Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::model_object(), Slic3r::GUI::CommonGizmosDataPool::selection_info(), Slic3r::Geometry::Transformation::set_offset(), and Slic3r::SINKING_Z_THRESHOLD.
| void Slic3r::GUI::ObjectClipper::set_behavior | ( | bool | hide_clipped, |
| bool | fill_cut, | ||
| double | contour_width ) |
References m_clippers, and m_hide_clipped.
| void Slic3r::GUI::ObjectClipper::set_position_by_ratio | ( | double | pos, |
| const Vec3d & | normal ) |
References Slic3r::GUI::GLCanvas3D::CanvasAssembleView, Slic3r::center(), Slic3r::Geometry::dist(), Slic3r::GLVolume::explosion_ratio, Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::get_active_instance(), Slic3r::GUI::CommonGizmosDataPool::get_canvas(), Slic3r::GUI::CommonGizmosDataBase::get_pool(), Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::get_sla_shift(), Slic3r::ModelObject::instances, m_active_inst_bb_radius, m_clp, m_clp_ratio, Slic3r::GUI::CommonGizmosDataObjects::SelectionInfo::model_object(), Slic3r::normal(), Slic3r::GUI::CommonGizmosDataPool::selection_info(), and Slic3r::GUI::GLCanvas3D::set_as_dirty().
Referenced by Slic3r::GUI::GLGizmosManager::update_section_view().
| void Slic3r::GUI::ObjectClipper::set_position_to_init_layer | ( | ) |
References Slic3r::GUI::CommonGizmosDataPool::get_canvas(), Slic3r::GUI::CommonGizmosDataBase::get_pool(), m_clp, and Slic3r::GUI::GLCanvas3D::set_as_dirty().
| void Slic3r::GUI::ObjectClipper::set_range_and_pos | ( | const Vec3d & | cpl_normal, |
| double | cpl_offset, | ||
| double | pos ) |
References Slic3r::GUI::CommonGizmosDataPool::get_canvas(), Slic3r::GUI::CommonGizmosDataBase::get_pool(), m_clp, m_clp_ratio, and Slic3r::GUI::GLCanvas3D::set_as_dirty().
|
inlineinherited |
References m_is_valid, and on_update().
|
private |
Referenced by on_update(), and set_position_by_ratio().
|
private |
|
private |
Referenced by get_clipping_plane(), on_release(), render_cut(), set_position_by_ratio(), set_position_to_init_layer(), and set_range_and_pos().
|
private |
|
privateinherited |
Referenced by CommonGizmosDataBase(), and get_pool().
|
private |
Referenced by get_clipping_plane(), and set_behavior().
|
privateinherited |
Referenced by is_valid(), release(), and update().
|
private |
Referenced by on_release(), and on_update().