#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/CAD/GeometryEngine.hpp>
Classes | |
| struct | MeshBrepStats |
| struct | MassProps |
| struct | Deviation |
| struct | CylinderFace |
Static Public Member Functions | |
| static std::vector< TopoDS_Shape > | read_step_solids (const std::string &path, std::string &err) |
| static TopoDS_Shape | mesh_to_brep (const indexed_triangle_set &its, double tolerance, double merge_angle_deg, MeshBrepStats &stats) |
| static MassProps | mass_properties (const TopoDS_Shape &shape) |
| static Deviation | surface_deviation (const TopoDS_Shape &candidate, const TopoDS_Shape &reference, double linear_deflection=0.5) |
| static TopoDS_Shape | apply_fillet (const TopoDS_Shape &solid, double radius, FaceGroup faces=FaceGroup::All) |
| static TopoDS_Shape | apply_fillet (const TopoDS_Shape &solid, double radius, int edge_id) |
| static TopoDS_Shape | apply_chamfer (const TopoDS_Shape &solid, double distance, FaceGroup faces=FaceGroup::All) |
| static TopoDS_Shape | apply_chamfer (const TopoDS_Shape &solid, double distance, int edge_id) |
| static TopoDS_Shape | apply_fillet (const TopoDS_Shape &solid, double radius, const std::vector< int > &edge_ids) |
| static TopoDS_Shape | apply_chamfer (const TopoDS_Shape &solid, double distance, const std::vector< int > &edge_ids) |
| static TriangleMesh | tessellate (const TopoDS_Shape &shape, double linear_deflection=0.003, double angular_deflection=0.5) |
| static TopoDS_Face | face_by_index (const TopoDS_Shape &shape, int index) |
| static int | face_count (const TopoDS_Shape &shape) |
| static std::vector< TopoDS_Face > | faces_of (const TopoDS_Shape &shape) |
| static std::vector< TopoDS_Edge > | edges_of (const TopoDS_Shape &shape) |
| static std::vector< TopoDS_Edge > | edges_of_face (const TopoDS_Face &face) |
| static Vec3d | face_centroid_world (const TopoDS_Face &face) |
| static Vec3d | face_normal_world (const TopoDS_Face &face) |
| static std::vector< Vec3d > | sample_edge_world (const TopoDS_Edge &edge, double chord_tol=0.05) |
| static std::vector< std::vector< Vec3d > > | display_edges (const TopoDS_Shape &shape, double chord_tol) |
| static int | edge_count (const TopoDS_Shape &shape) |
| static TopoDS_Edge | edge_by_index (const TopoDS_Shape &shape, int index) |
| static int | edge_index_of (const TopoDS_Shape &shape, const TopoDS_Edge &edge) |
| static CylinderFace | cylinder_of_face (const TopoDS_Face &face) |
| static CylinderFace | circle_of_edge (const TopoDS_Edge &edge) |
| static bool | face_plane_bounds (const TopoDS_Face &face, const Vec3d &origin, const Vec3d &x_axis, const Vec3d &y_axis, double &umin, double &umax, double &vmin, double &vmax) |
Static Private Member Functions | |
| static std::vector< TopoDS_Edge > | collect_edges (const TopoDS_Shape &solid, FaceGroup faces) |
| static FaceGroup | classify_face (const TopoDS_Face &face, const TopoDS_Shape &solid) |
| struct Slic3r::GeometryEngine::MeshBrepStats |
| struct Slic3r::GeometryEngine::MassProps |
| Class Members | ||
|---|---|---|
| Vec3d | center_of_mass {Vec3d::Zero()} | |
| array< double, 9 > | inertia {} | |
| bool | is_solid {false} | |
| double | surface_area {0.0} | |
| bool | valid {false} | |
| double | volume {0.0} | |
| struct Slic3r::GeometryEngine::Deviation |
| struct Slic3r::GeometryEngine::CylinderFace |
|
static |
References _u8L, and edge_by_index().
|
static |
References _u8L, and collect_edges().
Referenced by apply_chamfer(), and Slic3r::CadDocument::apply_feature().
|
static |
References apply_chamfer().
|
static |
References _u8L, and edge_by_index().
|
static |
References _u8L, and collect_edges().
Referenced by Slic3r::CadDocument::apply_feature(), and apply_fillet().
|
static |
References apply_fillet().
|
static |
References Slic3r::GeometryEngine::CylinderFace::axis, Slic3r::GeometryEngine::CylinderFace::base, Slic3r::GeometryEngine::CylinderFace::height, Slic3r::GeometryEngine::CylinderFace::internal, Slic3r::GeometryEngine::CylinderFace::ok, and Slic3r::GeometryEngine::CylinderFace::radius.
Referenced by Slic3r::GUI::DesignPanel::DesignPanel(), Slic3r::GUI::DesignPanel::offer_selection_kind(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology().
|
staticprivate |
References Slic3r::Bottom, Slic3r::Lateral, and Slic3r::Top.
Referenced by collect_edges().
|
staticprivate |
References Slic3r::All, Slic3r::Bottom, classify_face(), Slic3r::Lateral, and Slic3r::Top.
Referenced by apply_chamfer(), and apply_fillet().
|
static |
References Slic3r::GeometryEngine::CylinderFace::axis, Slic3r::GeometryEngine::CylinderFace::base, Slic3r::dot(), face_normal_world(), Slic3r::GeometryEngine::CylinderFace::height, Slic3r::GeometryEngine::CylinderFace::internal, Slic3r::GeometryEngine::CylinderFace::ok, and Slic3r::GeometryEngine::CylinderFace::radius.
Referenced by Slic3r::GUI::DesignPanel::DesignPanel(), Slic3r::GUI::DesignPanel::offer_selection_kind(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology(), Slic3r::CadDocument::resolve_datum_axes(), and Slic3r::CadDocument::resolve_datum_planes().
|
static |
References sample_edge_world().
Referenced by Slic3r::GUI::DesignSketchTool::make_face_highlight(), and Slic3r::GUI::DesignSketchTool::refresh_body_edges().
|
static |
Referenced by Slic3r::GUI::DesignPanel::DesignPanel(), apply_chamfer(), apply_fillet(), Slic3r::CadDocument::apply_project(), Slic3r::CadDocument::datum_frame(), Slic3r::GUI::DesignPanel::offer_selection_kind(), Slic3r::CadDocument::project_edges_into_sketch(), Slic3r::CadDocument::resolve_datum_axes(), Slic3r::CadDocument::resolve_datum_planes(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::resolve_ref().
|
static |
|
static |
Referenced by Slic3r::GUI::DesignSketchTool::resolve_solid_pick().
|
static |
Referenced by Slic3r::CadDocument::apply_project(), Slic3r::CadDocument::project_edges_into_sketch(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology().
|
static |
Referenced by Slic3r::CadDocument::apply_project(), Slic3r::CadDocument::datum_frame(), Slic3r::GUI::face_plane_inward(), Slic3r::CadDocument::project_edges_into_sketch(), Slic3r::CadDocument::recompute(), and Slic3r::GUI::DesignSketchTool::resolve_solid_pick().
|
static |
Referenced by Slic3r::GUI::DesignPanel::DesignPanel(), Slic3r::GUI::DesignPanel::add_imported_sketch(), Slic3r::CadDocument::apply_cut(), Slic3r::CadDocument::apply_feature(), Slic3r::CadDocument::apply_project(), Slic3r::CadDocument::apply_thicken(), Slic3r::CadDocument::datum_frame(), Slic3r::GUI::DesignPanel::offer_selection_kind(), Slic3r::GUI::DesignPanel::open_text_dialog(), Slic3r::GUI::DesignPanel::place_on_face(), Slic3r::CadDocument::plane_of_face(), Slic3r::CadDocument::project_edges_into_sketch(), Slic3r::CadDocument::recompute(), Slic3r::CadDocument::resolve_datum_axes(), Slic3r::CadDocument::resolve_datum_planes(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::resolve_ref(), Slic3r::GUI::DesignSketchTool::resolve_solid_pick(), Slic3r::GUI::DesignPanel::update_draft_gizmo(), Slic3r::GUI::DesignPanel::update_extrude_gizmo(), and Slic3r::GUI::DesignPanel::update_shell_gizmo().
|
static |
Referenced by Slic3r::GUI::DesignPanel::add_imported_sketch(), Slic3r::CadDocument::apply_feature(), Slic3r::CadDocument::datum_frame(), Slic3r::GUI::face_plane_inward(), Slic3r::GUI::DesignPanel::open_text_dialog(), Slic3r::CadDocument::plane_of_face(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology(), Slic3r::CadDocument::resolve_datum_axes(), Slic3r::CadDocument::resolve_datum_planes(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::resolve_ref(), Slic3r::GUI::DesignPanel::update_draft_gizmo(), Slic3r::GUI::DesignPanel::update_extrude_gizmo(), and Slic3r::GUI::DesignPanel::update_shell_gizmo().
|
static |
Referenced by Slic3r::CadDocument::faces_made_by(), mesh_to_brep(), and Slic3r::GUI::DesignSketchTool::picked_faces().
|
static |
Referenced by cylinder_of_face(), Slic3r::CadDocument::datum_frame(), Slic3r::GUI::face_plane_inward(), Slic3r::GUI::DesignPanel::place_on_face(), Slic3r::CadDocument::plane_of_face(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology(), Slic3r::CadDocument::resolve_datum_axes(), Slic3r::CadDocument::resolve_datum_planes(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::resolve_ref(), Slic3r::GUI::DesignPanel::update_draft_gizmo(), Slic3r::GUI::DesignPanel::update_extrude_gizmo(), and Slic3r::GUI::DesignPanel::update_shell_gizmo().
|
static |
References Slic3r::dot(), and Slic3r::P.
Referenced by Slic3r::GUI::DesignPanel::DesignPanel().
|
static |
Referenced by Slic3r::GUI::DesignSketchTool::make_face_highlight(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology().
|
static |
References Slic3r::GeometryEngine::MassProps::center_of_mass, Slic3r::GeometryEngine::MassProps::inertia, Slic3r::GeometryEngine::MassProps::is_solid, Slic3r::GeometryEngine::MassProps::surface_area, Slic3r::GeometryEngine::MassProps::valid, and Slic3r::GeometryEngine::MassProps::volume.
Referenced by Slic3r::CadDocument::body_mass_properties(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::mass_properties(), and Slic3r::GUI::DesignPanel::on_mass_properties().
|
static |
References _u8L, Slic3r::area(), Slic3r::GeometryEngine::MeshBrepStats::boundary_edges, Slic3r::cross(), Slic3r::GeometryEngine::MeshBrepStats::degenerate_collapsed, Slic3r::GeometryEngine::MeshBrepStats::degenerate_sliver, face_count(), Slic3r::GeometryEngine::MeshBrepStats::faces_built, Slic3r::GeometryEngine::MeshBrepStats::faces_failed, Slic3r::GeometryEngine::MeshBrepStats::faces_final, Slic3r::GeometryEngine::MeshBrepStats::input_tris, Slic3r::GeometryEngine::MeshBrepStats::is_solid, Slic3r::GeometryEngine::MeshBrepStats::kept_tris, M_PI, Slic3r::GeometryEngine::MeshBrepStats::nonmanifold_edges, Slic3r::GeometryEngine::MeshBrepStats::unique_edges, Slic3r::GeometryEngine::MeshBrepStats::volume, and Slic3r::GeometryEngine::MeshBrepStats::watertight.
Referenced by Slic3r::GUI::anonymous_namespace{McpControl.cpp}::import_mesh(), and Slic3r::GUI::DesignPanel::on_import_mesh().
|
static |
References _u8L.
Referenced by Slic3r::GUI::anonymous_namespace{McpControl.cpp}::import_step(), Slic3r::GUI::DesignPanel::on_import_step(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::validate_against().
|
static |
Referenced by Slic3r::CadDocument::datum_frame(), display_edges(), Slic3r::GUI::face_plane_inward(), Slic3r::project_edges_to_entities(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::query_topology(), Slic3r::CadDocument::resolve_datum_axes(), Slic3r::CadDocument::resolve_datum_planes(), Slic3r::GUI::anonymous_namespace{McpControl.cpp}::resolve_ref(), Slic3r::GUI::DesignSketchTool::resolve_solid_pick(), and Slic3r::GUI::anonymous_namespace{McpControl.cpp}::slice_body().
|
static |
References Slic3r::Geometry::dist(), Slic3r::TriangleMesh::its, Slic3r::GeometryEngine::Deviation::max_mm, Slic3r::GeometryEngine::Deviation::mean_mm, Slic3r::GeometryEngine::Deviation::rms_mm, Slic3r::GeometryEngine::Deviation::sample_count, and tessellate().
Referenced by Slic3r::GUI::anonymous_namespace{McpControl.cpp}::validate_against().
|
static |
References Slic3r::F, Slic3r::f(), Slic3r::TriangleMesh::from_stl(), Slic3r::TriangleMeshStats::number_of_facets, Slic3r::Geometry::orient(), and Slic3r::TriangleMesh::stats().
Referenced by surface_deviation().