#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp>
Public Types | |
| enum | CursorType { CIRCLE , SPHERE , POINTER , HEIGHT_RANGE , GAP_FILL } |
Public Member Functions | |
| TriangleSelectorPatch (const TriangleMesh &mesh, const std::vector< ColorRGBA > ebt_colors, float edge_limit=0.6f) | |
| virtual | ~TriangleSelectorPatch ()=default |
| void | render (ImGuiWrapper *imgui, const Transform3d &matrix) override |
| void | update_triangles_per_type () |
| void | update_selector_triangles () |
| void | update_triangles_per_patch () |
| void | set_ebt_colors (const std::vector< ColorRGBA > ebt_colors) |
| void | set_filter_state (bool is_filter_state) |
| void | render_paint_contour (const Transform3d &matrix) |
| void | set_wireframe_needed (bool need_wireframe) |
| bool | get_wireframe_needed () |
| void | request_update_render_data (bool paint_changed=false) |
| std::pair< std::vector< Vec3i32 >, std::vector< Vec3i32 > > | precompute_all_neighbors () const |
| void | precompute_all_neighbors_recursive (int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector< Vec3i32 > &neighbors_out, std::vector< Vec3i32 > &neighbors_normal_out) const |
| void | set_edge_limit (float edge_limit) |
| int | select_unsplit_triangle (const Vec3f &hit, int facet_idx) const |
| int | select_unsplit_triangle (const Vec3f &hit, int facet_idx, const Vec3i32 &neighbors) const |
| void | select_patch (int facet_start, std::unique_ptr< Cursor > &&cursor, EnforcerBlockerType new_state, const Transform3d &trafo_no_translate, bool triangle_splitting, float highlight_by_angle_deg=0.f, const Vec3f &up_direction=Vec3f::UnitZ(), bool select_partially=false) |
| void | seed_fill_select_triangles (const Vec3f &hit, int facet_start, const Transform3d &trafo_no_translate, const ClippingPlane &clp, float seed_fill_angle, float highlight_by_angle_deg=0.f, const Vec3f &up_direction=Vec3f::UnitZ(), bool force_reselection=false) |
| void | bucket_fill_select_triangles (const Vec3f &hit, int facet_start, const ClippingPlane &clp, float seed_fill_angle, bool propagate, bool force_reselection=false) |
| bool | has_facets (EnforcerBlockerType state) const |
| int | num_facets (EnforcerBlockerType state) const |
| indexed_triangle_set | get_facets (EnforcerBlockerType state) const |
| void | get_facets (std::vector< indexed_triangle_set > &facets_per_type) const |
| indexed_triangle_set | get_facets_strict (EnforcerBlockerType state, std::vector< int > *out_source=nullptr) const |
| std::vector< Vec2i32 > | get_seed_fill_contour () const |
| void | set_facet (int facet_idx, EnforcerBlockerType state) |
| void | reset () |
| void | garbage_collect () |
| void | remap_triangle_state (const EnforcerBlockerStateMap &state_map) |
| TriangleSplittingData | serialize () const |
| void | deserialize (const TriangleSplittingData &data, bool needs_reset=true, EnforcerBlockerType max_ebt=EnforcerBlockerType::ExtruderMax, EnforcerBlockerType to_delete_filament=EnforcerBlockerType::NONE, EnforcerBlockerType replace_filament=EnforcerBlockerType::NONE) |
| void | seed_fill_unselect_all_triangles () |
| void | shift_states_above (EnforcerBlockerType threshold, int delta) |
| void | seed_fill_apply_on_triangles (EnforcerBlockerType new_state) |
Static Public Member Functions | |
| static bool | has_facets (const TriangleSplittingData &data, EnforcerBlockerType test_state) |
| static std::vector< EnforcerBlockerType > | extract_used_facet_states (const TriangleSplittingData &data) |
| static TriangleSplittingData | remap_painting (const indexed_triangle_set &source_its, const TriangleSplittingData &source_painting, const indexed_triangle_set &target_its, const Transform3d &target_transform, const std::optional< std::reference_wrapper< const TriangleSplittingData > > &existing_painting) |
Static Public Attributes | |
| static constexpr float | GapAreaMin = 0.f |
| static constexpr float | GapAreaMax = 5.f |
| static constexpr float | GapAreaStep = 0.2f |
| static float | gap_area = TriangleSelectorPatch::GapAreaMin |
| static ColorRGBA | enforcers_color = {0.5f, 1.f, 0.5f, 1.f} |
| static ColorRGBA | blockers_color = {1.f, 0.5f, 0.5f, 1.f} |
Protected Member Functions | |
| void | release_geometry () |
| void | finalize_vertices () |
| void | finalize_triangle_indices () |
| void | clear () |
| bool | has_VBOs (size_t triangle_indices_idx) const |
| void | update_paint_contour () |
| void | append_touching_subtriangles (int itriangle, int vertexi, int vertexj, std::vector< int > &touching_subtriangles_out) const |
| bool | verify_triangle_neighbors (const Triangle &tr, const Vec3i32 &neighbors) const |
Static Protected Member Functions | |
| static ColorRGBA | get_seed_fill_color (const ColorRGBA &base_color) |
Protected Attributes | |
| std::vector< TrianglePatch > | m_triangle_patches |
| std::vector< size_t > | m_triangle_indices_sizes |
| unsigned int | m_vertices_VAO_id { 0 } |
| std::vector< unsigned int > | m_vertices_VBO_ids |
| std::vector< unsigned int > | m_triangle_indices_VBO_ids |
| std::vector< ColorRGBA > | m_ebt_colors |
| bool | m_filter_state = false |
| bool | m_update_render_data = false |
| bool | m_paint_changed = true |
| GLModel | m_paint_contour |
| bool | m_need_wireframe {false} |
| std::vector< Vertex > | m_vertices |
| std::vector< Triangle > | m_triangles |
| const TriangleMesh & | m_mesh |
| const std::vector< Vec3i32 > | m_neighbors |
| const std::vector< Vec3f > | m_face_normals |
| float | m_edge_limit = 0.6f |
| int | m_invalid_triangles |
| float | m_edge_limit_sqr = 1.f |
| int | m_orig_size_vertices = 0 |
| int | m_orig_size_indices = 0 |
| std::unique_ptr< Cursor > | m_cursor |
| float | m_old_cursor_radius_sqr = 0 |
Private Types | |
| enum class | Partition { First , Second } |
Private Member Functions | |
| void | update_render_data () |
| void | render (int buffer_idx, bool show_wireframe=false) |
| bool | select_triangle (int facet_idx, EnforcerBlockerType type, bool triangle_splitting, bool select_partially) |
| bool | select_triangle_recursive (int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType type, bool triangle_splitting, bool select_partially) |
| void | undivide_triangle (int facet_idx) |
| void | split_triangle (int facet_idx, const Vec3i32 &neighbors) |
| void | remove_useless_children (int facet_idx) |
| bool | is_facet_clipped (int facet_idx, const ClippingPlane &clp) const |
| int | push_triangle (int a, int b, int c, int source_triangle, EnforcerBlockerType state=EnforcerBlockerType{0}) |
| void | perform_split (int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType old_state) |
| Vec3i32 | child_neighbors (const Triangle &tr, const Vec3i32 &neighbors, int child_idx) const |
| Vec3i32 | child_neighbors_propagated (const Triangle &tr, const Vec3i32 &neighbors_propagated, int child_idx, const Vec3i32 &child_neighbors) const |
| int | neighbor_child (const Triangle &tr, int vertexi, int vertexj, Partition partition) const |
| int | neighbor_child (int itriangle, int vertexi, int vertexj, Partition partition) const |
| int | triangle_midpoint (const Triangle &tr, int vertexi, int vertexj) const |
| int | triangle_midpoint (int itriangle, int vertexi, int vertexj) const |
| int | triangle_midpoint_or_allocate (int itriangle, int vertexi, int vertexj) |
| std::pair< int, int > | triangle_subtriangles (int itriangle, int vertexi, int vertexj) const |
| void | append_touching_edges (int itriangle, int vertexi, int vertexj, std::vector< Vec2i32 > &touching_edges_out) const |
| bool | verify_triangle_midpoints (const Triangle &tr) const |
| void | get_facets_strict_recursive (const Triangle &tr, const Vec3i32 &neighbors, EnforcerBlockerType state, std::vector< stl_triangle_vertex_indices > &out_triangles) const |
| void | get_facets_split_by_tjoints (const Vec3i32 &vertices, const Vec3i32 &neighbors, std::vector< stl_triangle_vertex_indices > &out_triangles) const |
| void | get_seed_fill_contour_recursive (int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector< Vec2i32 > &edges_out) const |
Static Private Member Functions | |
| static std::pair< int, int > | triangle_subtriangles (const Triangle &tr, int vertexi, int vertexj) |
Private Attributes | |
| GLModel | m_iva_enforcers |
| GLModel | m_iva_blockers |
| std::array< GLModel, 3 > | m_iva_seed_fills |
| int | m_free_triangles_head { -1 } |
| int | m_free_vertices_head { -1 } |
|
inherited |
| Enumerator | |
|---|---|
| CIRCLE | |
| SPHERE | |
| POINTER | |
| HEIGHT_RANGE | |
| GAP_FILL | |
|
strongprivateinherited |
|
inlineexplicit |
References Slic3r::GUI::TriangleSelectorGUI::TriangleSelectorGUI(), and m_ebt_colors.
|
virtualdefault |
|
privateinherited |
References append_touching_edges(), First, m_triangles, Second, triangle_midpoint(), and triangle_subtriangles().
Referenced by append_touching_edges(), and get_seed_fill_contour_recursive().
|
protectedinherited |
References append_touching_subtriangles(), First, m_triangles, Second, triangle_midpoint(), and triangle_subtriangles().
Referenced by append_touching_subtriangles(), bucket_fill_select_triangles(), and Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch().
|
inherited |
References append_touching_subtriangles(), Slic3r::Geometry::deg2rad(), EPSILON, Slic3r::TriangleSelector::ClippingPlane::is_active(), is_facet_clipped(), m_face_normals, m_triangles, precompute_all_neighbors(), seed_fill_unselect_all_triangles(), select_unsplit_triangle(), and verify_triangle_neighbors().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, First, m_triangles, neighbor_child(), Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Second, Slic3r::TriangleSelector::Triangle::special_side(), verify_triangle_neighbors(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by child_neighbors_propagated(), deserialize(), get_seed_fill_contour_recursive(), perform_split(), and precompute_all_neighbors_recursive().
|
privateinherited |
References child_neighbors(), Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), and Slic3r::TriangleSelector::Triangle::special_side().
|
inlineprotected |
References m_triangle_indices_sizes, m_triangle_indices_VBO_ids, m_triangle_patches, and m_vertices_VBO_ids.
Referenced by release_geometry().
|
inherited |
References Slic3r::TriangleSelector::TriangleSplittingData::bitstream, child_neighbors(), Slic3r::TriangleSelector::Triangle::children, m_mesh, m_neighbors, m_triangles, m_vertices, Slic3r::NONE, perform_split(), Slic3r::TriangleSelector::TriangleSplittingData::read_nibble(), reset(), Slic3r::split_code_valid(), Slic3r::TriangleSelector::TriangleSplittingData::triangles_to_split, and undivide_triangle().
Referenced by Slic3r::build_texture_displacement_in_place(), Slic3r::anonymous_namespace{TextureDisplacement.cpp}::build_texture_displacement_v2(), Slic3r::GUI::GLGizmoTextureDisplacement::collect_paint_region(), Slic3r::extract_painted_patch(), Slic3r::SeamPlacerImpl::gather_enforcers_blockers(), Slic3r::FacetsAnnotation::get_facets(), Slic3r::FacetsAnnotation::get_facets(), Slic3r::FacetsAnnotation::get_facets_strict(), Slic3r::GUI::GLGizmoTextureDisplacement::painted_colors(), Slic3r::anonymous_namespace{TextureDisplacement.cpp}::prepare_sampleable_layers(), Slic3r::GUI::GLGizmoTextureDisplacement::rebuild_other_paint_overlay(), remap_painting(), Slic3r::FacetsAnnotation::remap_states(), Slic3r::GUI::anonymous_namespace{GLGizmoTextureDisplacement.cpp}::remap_texture_paint_spatial(), Slic3r::FacetsAnnotation::set_enforcer_block_type_limit(), Slic3r::FacetsAnnotation::shift_states_above(), and Slic3r::transfer_facet_paint().
|
staticinherited |
References Slic3r::TriangleSelector::TriangleSplittingData::used_states.
Referenced by Slic3r::GUI::GLGizmoTextureDisplacement::painted_colors(), and Slic3r::GUI::GLGizmoMmuSegmentation::update_used_filaments().
|
protected |
References Slic3r::GUI::OpenGLManager::get_gl_info(), GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_STATIC_DRAW, glBindBuffer, glBindVertexArray, glBufferData, glGenBuffers, glGenVertexArrays, glsafe, m_triangle_indices_sizes, m_triangle_indices_VBO_ids, m_triangle_patches, m_vertices_VAO_id, and m_vertices_VBO_ids.
Referenced by update_render_data().
|
protected |
|
inherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::is_split(), m_free_triangles_head, m_free_vertices_head, m_invalid_triangles, m_orig_size_indices, m_orig_size_vertices, m_triangles, m_vertices, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Triangle::valid(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by select_triangle().
|
inherited |
References m_triangles, and m_vertices.
Referenced by Slic3r::SeamPlacerImpl::gather_enforcers_blockers(), Slic3r::FacetsAnnotation::get_facets(), Slic3r::FacetsAnnotation::get_facets(), and Slic3r::transfer_facet_paint().
|
inherited |
References Slic3r::ExtruderMax, m_triangles, m_vertices, and Slic3r::NONE.
|
privateinherited |
References First, get_facets_split_by_tjoints(), neighbor_child(), Slic3r::next_idx_modulo(), Second, and triangle_midpoint().
Referenced by get_facets_split_by_tjoints(), and get_facets_strict_recursive().
|
inherited |
References get_facets_strict_recursive(), m_neighbors, m_orig_size_indices, m_triangles, and m_vertices.
Referenced by Slic3r::build_texture_displacement_in_place(), Slic3r::anonymous_namespace{TextureDisplacement.cpp}::build_texture_displacement_v2(), Slic3r::GUI::GLGizmoTextureDisplacement::collect_paint_region(), Slic3r::extract_painted_patch(), Slic3r::SeamPlacerImpl::gather_enforcers_blockers(), Slic3r::FacetsAnnotation::get_facets_strict(), Slic3r::GUI::GLGizmoTextureDisplacement::painted_colors(), Slic3r::anonymous_namespace{TextureDisplacement.cpp}::prepare_sampleable_layers(), Slic3r::GUI::GLGizmoTextureDisplacement::rebuild_other_paint_overlay(), and Slic3r::GUI::anonymous_namespace{GLGizmoTextureDisplacement.cpp}::remap_texture_paint_spatial().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, get_facets_split_by_tjoints(), get_facets_strict_recursive(), Slic3r::TriangleSelector::Triangle::get_state(), Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by get_facets_strict(), and get_facets_strict_recursive().
|
staticprotectedinherited |
References Slic3r::ColorRGBA::b(), Slic3r::ColorRGBA::g(), and Slic3r::ColorRGBA::r().
Referenced by render().
|
inherited |
References get_seed_fill_contour_recursive(), m_neighbors, m_orig_size_indices, m_triangles, and verify_triangle_neighbors().
Referenced by Slic3r::GUI::TriangleSelectorGUI::update_paint_contour().
|
privateinherited |
References append_touching_edges(), child_neighbors(), Slic3r::TriangleSelector::Triangle::children, get_seed_fill_contour_recursive(), Slic3r::TriangleSelector::Triangle::is_selected_by_seed_fill(), Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Triangle::valid(), and verify_triangle_neighbors().
Referenced by get_seed_fill_contour(), and get_seed_fill_contour_recursive().
|
inlineinherited |
References m_need_wireframe.
|
staticinherited |
References Slic3r::TriangleSelector::TriangleBitStreamMapping::bitstream_start_idx, Slic3r::TriangleSelector::TriangleSplittingData::read_nibble(), and Slic3r::TriangleSelector::TriangleSplittingData::triangles_to_split.
|
inherited |
References m_triangles.
Referenced by Slic3r::GUI::GLGizmoTextureDisplacement::collect_paint_region(), Slic3r::FacetsAnnotation::has_facets(), and Slic3r::GUI::GLGizmoTextureDisplacement::prepare_mesh().
|
inlinenodiscardprotected |
References m_triangle_indices_VBO_ids, and m_triangle_patches.
Referenced by render().
|
privateinherited |
References Slic3r::TriangleSelector::ClippingPlane::is_active(), Slic3r::TriangleSelector::ClippingPlane::is_mesh_point_clipped(), m_triangles, and m_vertices.
Referenced by bucket_fill_select_triangles(), and seed_fill_select_triangles().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, First, m_triangles, neighbor_child(), Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Triangle::special_side(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by child_neighbors(), get_facets_split_by_tjoints(), neighbor_child(), and neighbor_child().
|
privateinherited |
References m_triangles, and neighbor_child().
|
inherited |
References m_triangles.
|
privateinherited |
References child_neighbors(), Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, Slic3r::next_highest_power_of_2(), Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::prev_idx_modulo(), push_triangle(), Slic3r::TriangleSelector::Triangle::source_triangle, Slic3r::TriangleSelector::Triangle::special_side(), triangle_midpoint_or_allocate(), verify_triangle_neighbors(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by deserialize(), and split_triangle().
|
inherited |
References m_neighbors, m_orig_size_indices, m_triangles, precompute_all_neighbors_recursive(), and verify_triangle_neighbors().
Referenced by bucket_fill_select_triangles(), and Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch().
|
inherited |
References child_neighbors(), Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), precompute_all_neighbors_recursive(), Slic3r::TriangleSelector::Triangle::valid(), and verify_triangle_neighbors().
Referenced by precompute_all_neighbors(), and precompute_all_neighbors_recursive().
|
privateinherited |
References m_free_triangles_head, m_invalid_triangles, m_triangles, and m_vertices.
Referenced by perform_split(), and reset().
|
protected |
References clear(), Slic3r::GUI::OpenGLManager::get_gl_info(), glDeleteBuffers, glDeleteVertexArrays, glsafe, m_triangle_indices_VBO_ids, m_vertices_VAO_id, and m_vertices_VBO_ids.
Referenced by set_filter_state(), and update_render_data().
|
staticinherited |
References TriangleSelector(), Slic3r::TriangleSelector::TriangleSplittingData::bitstream, Slic3r::AABBTreeIndirect::build_aabb_tree_over_indexed_triangle_set(), Slic3r::TriangleCursor::build_cursor(), Slic3r::TriangleCursor::check_normal(), Slic3r::cross(), deserialize(), Slic3r::TriangleSelector::Triangle::get_state(), Slic3r::AABBTreeIndirect::intersecting(), Slic3r::is_point_inside_triangle(), Slic3r::TriangleSelector::Triangle::is_split(), Slic3r::TriangleMesh::its, m_face_normals, m_triangles, m_vertices, Slic3r::NONE, Slic3r::segments_intersect_proj(), select_patch(), serialize(), Slic3r::TriangleSelector::Triangle::source_triangle, Slic3r::TriangleCursor::tolerance, Slic3r::TriangleMesh::transform(), Slic3r::AABBTreeIndirect::traverse(), Slic3r::TriangleSelector::Triangle::valid(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by Slic3r::ModelVolume::restore_painting().
|
inherited |
References m_triangles, and Slic3r::range().
Referenced by Slic3r::GUI::GLGizmoMmuSegmentation::remap_filament_assignments(), and Slic3r::FacetsAnnotation::remap_states().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, Slic3r::NONE, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), remove_useless_children(), Slic3r::TriangleSelector::Triangle::set_state(), and undivide_triangle().
Referenced by remove_useless_children(), seed_fill_apply_on_triangles(), and select_triangle().
|
overridevirtual |
Reimplemented from Slic3r::GUI::TriangleSelectorGUI.
References Slic3r::ColorRGBA::a(), adjust_color_for_rendering(), has_VBOs(), Slic3r::GUI::TrianglePatch::is_fragment(), m_ebt_colors, Slic3r::GUI::TriangleSelectorGUI::m_need_wireframe, Slic3r::GUI::TriangleSelectorGUI::m_paint_changed, m_triangle_patches, Slic3r::GUI::TriangleSelectorGUI::m_update_render_data, Slic3r::GUI::TrianglePatch::neighbor_types, Slic3r::GUI::plater(), render(), Slic3r::GUI::TriangleSelectorGUI::render_paint_contour(), Slic3r::GUI::TrianglePatch::type, and update_render_data().
Referenced by render().
|
private |
References Slic3r::GLShaderProgram::get_attrib_location(), Slic3r::GUI::OpenGLManager::get_gl_info(), GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_FALSE, GL_FLOAT, GL_TRIANGLES, GL_UNSIGNED_INT, glBindBuffer, glBindVertexArray, glDisableVertexAttribArray, glDrawElements, glEnableVertexAttribArray, glsafe, glVertexAttribPointer, m_triangle_indices_sizes, m_triangle_indices_VBO_ids, m_triangle_patches, m_vertices_VAO_id, and m_vertices_VBO_ids.
|
inherited |
References Slic3r::GUI::OpenGLManager::get_gl_info(), Slic3r::GUI::Camera::get_projection_matrix(), Slic3r::GUI::Camera::get_view_matrix(), and m_paint_contour.
Referenced by render(), and Slic3r::GUI::TriangleSelectorPatch::render().
|
inlineinherited |
References m_paint_changed, and m_update_render_data.
Referenced by Slic3r::GUI::GLGizmoFdmSupports::on_render_input_window(), Slic3r::GUI::GLGizmoMmuSegmentation::on_render_input_window(), Slic3r::GUI::GLGizmoMmuSegmentation::remap_filament_assignments(), and Slic3r::GUI::GLGizmoTextureDisplacement::select_visible_faces().
|
inherited |
References m_free_triangles_head, m_free_vertices_head, m_invalid_triangles, m_mesh, m_orig_size_indices, m_orig_size_vertices, m_triangles, m_vertices, and push_triangle().
Referenced by TriangleSelector(), deserialize(), and Slic3r::GUI::GLGizmoTextureDisplacement::select_visible_faces().
|
inherited |
References m_triangles, and remove_useless_children().
|
inherited |
References Slic3r::cast(), Slic3r::Geometry::deg2rad(), EPSILON, Slic3r::TriangleSelector::ClippingPlane::is_active(), is_facet_clipped(), m_face_normals, m_neighbors, m_orig_size_indices, m_triangles, seed_fill_unselect_all_triangles(), and select_unsplit_triangle().
|
inherited |
References m_triangles.
Referenced by bucket_fill_select_triangles(), and seed_fill_select_triangles().
|
inherited |
References Slic3r::cast(), Slic3r::Geometry::deg2rad(), m_cursor, m_face_normals, m_neighbors, m_old_cursor_radius_sqr, m_orig_size_indices, m_triangles, m_vertices, select_triangle(), and set_edge_limit().
Referenced by remap_painting().
|
privateinherited |
References garbage_collect(), m_invalid_triangles, m_neighbors, m_triangles, remove_useless_children(), select_triangle_recursive(), and verify_triangle_neighbors().
Referenced by select_patch().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::get_state(), Slic3r::TriangleSelector::Triangle::is_split(), m_cursor, m_triangles, m_vertices, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), select_triangle_recursive(), Slic3r::TriangleSelector::Triangle::set_state(), split_triangle(), undivide_triangle(), Slic3r::TriangleSelector::Triangle::valid(), and verify_triangle_neighbors().
Referenced by select_triangle(), and select_triangle_recursive().
|
nodiscardinherited |
References m_neighbors, m_triangles, select_unsplit_triangle(), and verify_triangle_neighbors().
Referenced by bucket_fill_select_triangles(), seed_fill_select_triangles(), select_unsplit_triangle(), and select_unsplit_triangle().
|
nodiscardinherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::is_point_inside_triangle(), Slic3r::TriangleSelector::Triangle::is_split(), m_triangles, m_vertices, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), select_unsplit_triangle(), Slic3r::TriangleSelector::Triangle::valid(), and verify_triangle_neighbors().
|
inherited |
References TriangleSelector(), Slic3r::TriangleSelector::TriangleSplittingData::bitstream, Slic3r::TriangleSelector::Triangle::children, Slic3r::ExtruderMax, Slic3r::TriangleSelector::Triangle::get_state(), Slic3r::TriangleSelector::Triangle::is_split(), m_orig_size_indices, m_triangles, Slic3r::NONE, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), serialize(), Slic3r::TriangleSelector::Triangle::special_side(), and Slic3r::TriangleSelector::TriangleSplittingData::used_states.
Referenced by Slic3r::GUI::GLGizmoTextureDisplacement::masks_after_subdivision(), remap_painting(), and Slic3r::FacetsAnnotation::set().
|
inline |
References m_ebt_colors.
Referenced by Slic3r::GUI::GLGizmoMmuSegmentation::update_triangle_selectors_colors().
|
inherited |
References m_edge_limit_sqr.
Referenced by select_patch().
|
inherited |
References m_orig_size_indices, m_triangles, and undivide_triangle().
Referenced by Slic3r::apply_painted_mesh_to_volume(), Slic3r::GUI::GLGizmoTextureDisplacement::masks_after_subdivision(), and Slic3r::GUI::GLGizmoTextureDisplacement::select_visible_faces().
| void Slic3r::GUI::TriangleSelectorPatch::set_filter_state | ( | bool | is_filter_state | ) |
References m_filter_state, release_geometry(), and update_render_data().
Referenced by Slic3r::GUI::GLGizmoFdmSupports::tool_changed(), Slic3r::GUI::GLGizmoMmuSegmentation::tool_changed(), and Slic3r::GUI::GLGizmoSeam::tool_changed().
|
inlineinherited |
References m_need_wireframe.
|
inherited |
References m_triangles, and Slic3r::NONE.
Referenced by Slic3r::FacetsAnnotation::shift_states_above().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::get_state(), m_cursor, m_edge_limit_sqr, m_triangles, m_vertices, perform_split(), Slic3r::TriangleSelector::Triangle::set_division(), verify_triangle_neighbors(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by select_triangle_recursive().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, m_triangles, Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Triangle::special_side(), triangle_midpoint(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by append_touching_edges(), append_touching_subtriangles(), get_facets_split_by_tjoints(), triangle_midpoint(), triangle_midpoint(), triangle_midpoint_or_allocate(), and verify_triangle_midpoints().
|
privateinherited |
References m_triangles, and triangle_midpoint().
|
privateinherited |
References EPSILON, m_free_vertices_head, m_vertices, and triangle_midpoint().
Referenced by perform_split().
|
staticprivateinherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::next_idx_modulo(), Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Triangle::special_side(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by append_touching_edges(), append_touching_subtriangles(), and triangle_subtriangles().
|
privateinherited |
References m_triangles, and triangle_subtriangles().
|
privateinherited |
References Slic3r::TriangleSelector::Triangle::children, Slic3r::TriangleSelector::Triangle::is_split(), m_free_triangles_head, m_free_vertices_head, m_invalid_triangles, m_triangles, Slic3r::TriangleSelector::Triangle::m_valid, m_vertices, Slic3r::TriangleSelector::Triangle::number_of_split_sides(), Slic3r::TriangleSelector::Vertex::ref_cnt, Slic3r::TriangleSelector::Triangle::set_division(), undivide_triangle(), Slic3r::TriangleSelector::Triangle::valid(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by deserialize(), remove_useless_children(), select_triangle_recursive(), set_facet(), and undivide_triangle().
|
protectedinherited |
References Slic3r::GUI::GLModel::Geometry::add_line(), Slic3r::GUI::GLModel::Geometry::add_vertex(), Slic3r::GUI::GLModel::Geometry::color, Slic3r::GUI::GLModel::Geometry::format, Slic3r::TriangleSelector::get_seed_fill_contour(), Slic3r::GUI::GLModel::Geometry::is_empty(), Slic3r::GUI::GLModel::Geometry::Lines, m_paint_contour, Slic3r::TriangleSelector::m_vertices, Slic3r::GUI::GLModel::Geometry::P3, Slic3r::GUI::GLModel::Geometry::reserve_indices(), Slic3r::GUI::GLModel::Geometry::reserve_vertices(), and Slic3r::ColorRGBA::WHITE().
Referenced by update_render_data(), and Slic3r::GUI::TriangleSelectorPatch::update_render_data().
|
private |
References finalize_triangle_indices(), m_filter_state, Slic3r::GUI::TriangleSelectorGUI::m_paint_changed, m_triangle_patches, release_geometry(), Slic3r::GUI::TriangleSelectorGUI::update_paint_contour(), update_triangles_per_patch(), and update_triangles_per_type().
Referenced by render(), and set_filter_state().
| void Slic3r::GUI::TriangleSelectorPatch::update_selector_triangles | ( | ) |
References m_triangle_patches, and Slic3r::TriangleSelector::m_triangles.
Referenced by Slic3r::GUI::GLGizmoFdmSupports::on_render_input_window(), and Slic3r::GUI::GLGizmoMmuSegmentation::on_render_input_window().
| void Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch | ( | ) |
References Slic3r::TriangleSelector::append_touching_subtriangles(), Slic3r::GUI::TrianglePatch::area, Slic3r::cross(), Slic3r::GUI::TrianglePatch::facet_indices, GapAreaMax, Slic3r::GUI::TriangleSelectorGUI::m_need_wireframe, m_triangle_patches, Slic3r::TriangleSelector::m_triangles, Slic3r::TriangleSelector::m_vertices, Slic3r::GUI::TrianglePatch::neighbor_types, Slic3r::GUI::TrianglePatch::patch_vertices, Slic3r::TriangleSelector::precompute_all_neighbors(), Slic3r::GUI::TrianglePatch::triangle_indices, Slic3r::GUI::TrianglePatch::type, Slic3r::TriangleSelector::verify_triangle_neighbors(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by update_render_data().
| void Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_type | ( | ) |
References Slic3r::ExtruderMax, Slic3r::GUI::TriangleSelectorGUI::m_need_wireframe, m_triangle_patches, Slic3r::TriangleSelector::m_triangles, and Slic3r::TriangleSelector::m_vertices.
Referenced by update_render_data().
|
privateinherited |
References EPSILON, m_vertices, Slic3r::next_idx_modulo(), triangle_midpoint(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by verify_triangle_neighbors().
|
protectedinherited |
References m_triangles, Slic3r::next_idx_modulo(), Slic3r::prev_idx_modulo(), verify_triangle_midpoints(), and Slic3r::TriangleSelector::Triangle::verts_idxs.
Referenced by bucket_fill_select_triangles(), child_neighbors(), get_seed_fill_contour(), get_seed_fill_contour_recursive(), perform_split(), precompute_all_neighbors(), precompute_all_neighbors_recursive(), select_triangle(), select_triangle_recursive(), select_unsplit_triangle(), select_unsplit_triangle(), split_triangle(), and Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch().
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Referenced by Slic3r::GUI::GLGizmoPainterBase::gizmo_event().
|
protectedinherited |
Referenced by select_patch(), select_triangle_recursive(), and split_triangle().
|
protected |
Referenced by TriangleSelectorPatch(), render(), and set_ebt_colors().
|
protectedinherited |
Referenced by TriangleSelector().
|
protectedinherited |
Referenced by set_edge_limit(), and split_triangle().
|
protectedinherited |
|
protected |
Referenced by set_filter_state(), and update_render_data().
|
privateinherited |
Referenced by garbage_collect(), push_triangle(), reset(), and undivide_triangle().
|
privateinherited |
Referenced by garbage_collect(), reset(), triangle_midpoint_or_allocate(), and undivide_triangle().
|
protectedinherited |
Referenced by garbage_collect(), push_triangle(), reset(), select_triangle(), and undivide_triangle().
|
privateinherited |
Referenced by render(), and update_render_data().
|
privateinherited |
Referenced by render(), and update_render_data().
|
privateinherited |
Referenced by render(), and update_render_data().
|
protectedinherited |
Referenced by TriangleSelector(), deserialize(), and reset().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by select_patch().
|
protectedinherited |
|
protectedinherited |
Referenced by garbage_collect(), and reset().
|
protectedinherited |
|
protectedinherited |
Referenced by render_paint_contour(), and update_paint_contour().
|
protected |
Referenced by clear(), finalize_triangle_indices(), and render().
|
protected |
Referenced by clear(), finalize_triangle_indices(), has_VBOs(), release_geometry(), and render().
|
protected |
|
protectedinherited |
Referenced by append_touching_edges(), append_touching_subtriangles(), bucket_fill_select_triangles(), child_neighbors(), deserialize(), garbage_collect(), get_facets(), get_facets(), get_facets_strict(), get_facets_strict_recursive(), get_seed_fill_contour(), get_seed_fill_contour_recursive(), has_facets(), is_facet_clipped(), neighbor_child(), neighbor_child(), num_facets(), perform_split(), precompute_all_neighbors(), precompute_all_neighbors_recursive(), push_triangle(), remap_painting(), remap_triangle_state(), remove_useless_children(), reset(), seed_fill_apply_on_triangles(), seed_fill_select_triangles(), seed_fill_unselect_all_triangles(), select_patch(), select_triangle(), select_triangle_recursive(), select_unsplit_triangle(), select_unsplit_triangle(), serialize(), set_facet(), shift_states_above(), split_triangle(), triangle_midpoint(), triangle_midpoint(), triangle_subtriangles(), undivide_triangle(), Slic3r::GUI::TriangleSelectorGUI::update_render_data(), Slic3r::GUI::TriangleSelectorPatch::update_selector_triangles(), Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch(), Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_type(), and verify_triangle_neighbors().
|
protectedinherited |
Referenced by render(), Slic3r::GUI::TriangleSelectorPatch::render(), and request_update_render_data().
|
protectedinherited |
Referenced by Slic3r::TriangleCursor::build_cursor(), deserialize(), garbage_collect(), get_facets(), get_facets(), get_facets_strict(), is_facet_clipped(), push_triangle(), remap_painting(), reset(), select_patch(), select_triangle_recursive(), select_unsplit_triangle(), split_triangle(), triangle_midpoint_or_allocate(), undivide_triangle(), Slic3r::GUI::TriangleSelectorGUI::update_paint_contour(), Slic3r::GUI::TriangleSelectorGUI::update_render_data(), Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_patch(), Slic3r::GUI::TriangleSelectorPatch::update_triangles_per_type(), and verify_triangle_midpoints().
|
protected |
Referenced by finalize_triangle_indices(), release_geometry(), and render().
|
protected |
Referenced by clear(), finalize_triangle_indices(), release_geometry(), and render().