![]() |
Prusa Slicer 2.6.0
|
Namespaces | |
| namespace | anonymous_namespace{Clustering.cpp} |
| namespace | anonymous_namespace{Pad.cpp} |
| namespace | anonymous_namespace{Rotfinder.cpp} |
Classes | |
| class | AGGRaster |
| struct | Anchor |
| struct | Ball |
| struct | Beam_ |
| struct | BeamSamples |
| struct | BeamSamples< DefaultWideningModel > |
| class | BoxIndex |
| class | BranchingTreeBuilder |
| struct | Bridge |
| struct | Colors |
| class | ConcaveHull |
| A fake concave hull that is constructed by connecting separate shapes with explicit bridges. Bridges are generated from each shape's centroid to the center of the "scene" which is the centroid calculated from the shape centroids (a star is created...) More... | |
| class | DefaultSupportTree |
| struct | DefaultWideningModel |
| struct | DiffBridge |
| struct | DivFace |
| struct | DrainHole |
| class | EncodedRaster |
| struct | FaceHash |
| struct | GroundConnection |
| struct | Head |
| struct | HollowingConfig |
| struct | Interior |
| struct | InteriorDeleter |
| struct | JobController |
| A Control structure for the support calculation. Consists of the status indicator callback and the stop condition predicate. More... | |
| struct | Junction |
| struct | PadConfig |
| struct | Pedestal |
| struct | Pillar |
| class | PillarIndex |
| struct | PixelDim |
| Types that represents the dimension of a pixel in millimeters. More... | |
| struct | PNGRasterEncoder |
| class | PointIndex |
| class | PointRing |
| struct | PPMRasterEncoder |
| class | RasterBase |
| class | RasterGrayscaleAA |
| class | RasterGrayscaleAAGammaPower |
| struct | Resolution |
| Type that represents a resolution in pixels. More... | |
| struct | RotfinderBoilerplate |
| class | RotOptimizeParams |
| struct | SupportableMesh |
| struct | SupportPoint |
| class | SupportPointGenerator |
| class | SupportTreeBuilder |
| struct | SupportTreeConfig |
| struct | SupportTreeNode |
| struct | TriangleBubble |
Typedefs | |
| using | _RasterGrayscaleAA = AGGRaster< agg::pixfmt_gray8, agg::renderer_scanline_aa_solid > |
| using | Index3D = bgi::rtree< PointIndexEl, bgi::rstar< 16, 4 > > |
| using | ClusterEl = std::vector< unsigned > |
| using | ClusteredPoints = std::vector< ClusterEl > |
| using | ThrowOnCancel = std::function< void()> |
| using | InteriorPtr = std::unique_ptr< Interior, InteriorDeleter > |
| using | DrainHoles = std::vector< DrainHole > |
| using | RasterEncoder = std::function< EncodedRaster(const void *ptr, size_t w, size_t h, size_t num_components)> |
| using | RotOptimizeStatusCB = std::function< bool(int)> |
| typedef Eigen::Matrix< double, 3, 1, Eigen::DontAlign > | Vec3d |
| using | PointIndexEl = std::pair< Vec3d, unsigned > |
| using | BoxIndexEl = std::pair< Slic3r::BoundingBox, unsigned > |
| using | SupportPoints = std::vector< SupportPoint > |
| using | Portion = std::tuple< double, double > |
| using | Hit = AABBMesh::hit_result |
| using | Beam = Beam_<> |
Enumerations | |
| enum | { NEW_FACE = -1 } |
| enum | HollowingFlags { hfRemoveInsideTriangles = 0x1 } |
| enum class | HollowMeshResult { Ok = 0 , FaultyMesh = 1 , FaultyHoles = 2 , DrillingFailed = 4 } |
| enum class | PointsStatus { NoPoints , Generating , AutoGenerated , UserModified } |
| enum class | MeshType { Support , Pad } |
| enum class | SupportTreeType { Default , Branching , Organic } |
| enum class | PillarConnectionMode { zigzag , cross , dynamic } |
| enum class | GroundRouteCheck { Full , PillarOnly } |
Functions | |
| static std::optional< Vec3f > | get_avoidance (const GroundConnection &conn, float maxdist) |
| void | build_pillars (SupportTreeBuilder &builder, BranchingTreeBuilder &vbuilder, const SupportableMesh &sm) |
| void | create_branching_tree (SupportTreeBuilder &builder, const SupportableMesh &sm) |
| ClusteredPoints | cluster (const std::vector< unsigned > &indices, std::function< Vec3d(unsigned)> pointfn, double dist, unsigned max_points) |
| ClusteredPoints | cluster (const std::vector< unsigned > &indices, std::function< Vec3d(unsigned)> pointfn, std::function< bool(const PointIndexEl &, const PointIndexEl &)> predicate, unsigned max_points) |
| ClusteredPoints | cluster (const Eigen::MatrixXd &pts, double dist, unsigned max_points) |
| template<class DistFn , class PointFn > | |
| long | cluster_centroid (const ClusterEl &clust, PointFn pointfn, DistFn df) |
| Vec3d | to_vec3 (const Vec2crd &v2) |
| Vec2crd | to_vec2 (const Vec3d &v3) |
| ExPolygons | offset_waffle_style_ex (const ConcaveHull &hull, coord_t delta) |
| Polygons | offset_waffle_style (const ConcaveHull &hull, coord_t delta) |
| Polygons | get_contours (const ExPolygons &poly) |
| void | create_default_tree (SupportTreeBuilder &builder, const SupportableMesh &sm) |
| indexed_triangle_set & | get_mesh (Interior &interior) |
| const indexed_triangle_set & | get_mesh (const Interior &interior) |
| const VoxelGrid & | get_grid (const Interior &interior) |
| VoxelGrid & | get_grid (Interior &interior) |
| InteriorPtr | generate_interior (const VoxelGrid &vgrid, const HollowingConfig &hc, const JobController &ctl) |
| void | cut_drainholes (std::vector< ExPolygons > &obj_slices, const std::vector< float > &slicegrid, float closing_radius, const sla::DrainHoles &holes, std::function< void(void)> thr) |
| void | hollow_mesh (TriangleMesh &mesh, const HollowingConfig &cfg, int flags) |
| void | hollow_mesh (TriangleMesh &mesh, const Interior &interior, int flags) |
| void | hollow_mesh (indexed_triangle_set &mesh, const Interior &interior, int flags) |
| static double | get_distance_raw (const Vec3f &p, const Interior &interior) |
| static double | get_distance (const TriangleBubble &b, const Interior &interior) |
| double | get_distance (const Vec3f &p, const Interior &interior) |
| template<class T > | |
| FloatingOnly< T > | get_distance (const Vec< 3, T > &p, const Interior &interior) |
| template<class Fn > | |
| void | divide_triangle (const DivFace &face, Fn &&visitor) |
| void | remove_inside_triangles (indexed_triangle_set &mesh, const Interior &interior, const std::vector< bool > &exclude_mask) |
| void | remove_inside_triangles (TriangleMesh &mesh, const Interior &interior, const std::vector< bool > &exclude_mask) |
| static void | exclude_neighbors (const Vec3i &face, std::vector< bool > &mask, const indexed_triangle_set &its, const VertexFaceIndex &index, size_t recursions) |
| std::vector< bool > | create_exclude_mask (const indexed_triangle_set &its, const Interior &interior, const std::vector< DrainHole > &holes) |
| DrainHoles | transformed_drainhole_points (const ModelObject &mo, const Transform3d &trafo) |
| double | get_voxel_scale (double mesh_volume, const HollowingConfig &hc) |
| static indexed_triangle_set | remove_unconnected_vertices (const indexed_triangle_set &its) |
| int | hollow_mesh_and_drill (indexed_triangle_set &hollowed_mesh, const Interior &interior, const DrainHoles &drainholes, std::function< void(size_t)> on_hole_fail) |
| InteriorPtr | generate_interior (const indexed_triangle_set &mesh, const HollowingConfig &hc={}, const JobController &ctl={}) |
| template<class Cont > | |
| double | csgmesh_positive_maxvolume (const Cont &csg) |
| template<class It > | |
| InteriorPtr | generate_interior (const Range< It > &csgparts, const HollowingConfig &hc={}, const JobController &ctl={}) |
| void | hollow_mesh (indexed_triangle_set &mesh, const HollowingConfig &cfg, int flags=0) |
| void | swap_normals (indexed_triangle_set &its) |
| void | pad_blueprint (const indexed_triangle_set &mesh, ExPolygons &output, const std::vector< float > &, ThrowOnCancel thrfn=[] {}) |
| Calculate the polygon representing the silhouette. | |
| void | pad_blueprint (const indexed_triangle_set &mesh, ExPolygons &output, float h, float layerh, ThrowOnCancel thrfn) |
| void | create_pad (const ExPolygons &sup_blueprint, const ExPolygons &model_blueprint, indexed_triangle_set &out, const PadConfig &cfg, ThrowOnCancel thr) |
| std::ostream & | operator<< (std::ostream &stream, const EncodedRaster &bytes) |
| std::unique_ptr< RasterBase > | create_raster_grayscale_aa (const Resolution &res, const PixelDim &pxdim, double gamma, const RasterBase::Trafo &tr) |
| template<class Fn > | |
| void | foreach_vertex (ExPolygon &poly, Fn &&fn) |
| ExPolygons | raster_to_polygons (const RasterGrayscaleAA &rst, Vec2i windowsize) |
| template<class Pt > | |
| Vec3d | pos (const Pt &p) |
| template<class Pt > | |
| void | pos (Pt &p, const Vec3d &pp) |
| template<class PointType > | |
| void | reproject_support_points (const AABBMesh &mesh, std::vector< PointType > &pts) |
| void | reproject_points_and_holes (ModelObject *object) |
| Vec2d | find_best_misalignment_rotation (const ModelObject &mo, const RotOptimizeParams ¶ms) |
| Vec2d | find_least_supports_rotation (const ModelObject &mo, const RotOptimizeParams ¶ms) |
| BoundingBoxf3 | bounding_box_with_tr (const indexed_triangle_set &its, const Transform3f &tr) |
| Vec2d | find_min_z_height_rotation (const ModelObject &mo, const RotOptimizeParams ¶ms) |
| SupportPoints | transformed_support_points (const ModelObject &mo, const Transform3d &trafo) |
| static std::vector< SupportPointGenerator::MyLayer > | make_layers (const std::vector< ExPolygons > &slices, const std::vector< float > &heights, std::function< void(void)> throw_on_cancel) |
| std::vector< Vec2f > | sample_expolygon (const ExPolygon &expoly, float samples_per_mm2, std::mt19937 &rng) |
| std::vector< Vec2f > | sample_expolygon (const ExPolygons &expolys, float samples_per_mm2, std::mt19937 &rng) |
| void | sample_expolygon_boundary (const ExPolygon &expoly, float samples_per_mm, std::vector< Vec2f > &out, std::mt19937 &) |
| std::vector< Vec2f > | sample_expolygon_with_boundary (const ExPolygon &expoly, float samples_per_mm2, float samples_per_mm_boundary, std::mt19937 &rng) |
| std::vector< Vec2f > | sample_expolygon_with_boundary (const ExPolygons &expolys, float samples_per_mm2, float samples_per_mm_boundary, std::mt19937 &rng) |
| template<typename REFUSE_FUNCTION > | |
| static std::vector< Vec2f > | poisson_disk_from_samples (const std::vector< Vec2f > &raw_samples, float radius, REFUSE_FUNCTION refuse_function) |
| void | remove_bottom_points (std::vector< SupportPoint > &pts, float lvl) |
| indexed_triangle_set | create_support_tree (const SupportableMesh &sm, const JobController &ctl) |
| indexed_triangle_set | create_pad (const SupportableMesh &sm, const indexed_triangle_set &support_mesh, const JobController &ctl) |
| std::vector< ExPolygons > | slice (const indexed_triangle_set &sup_mesh, const indexed_triangle_set &pad_mesh, const std::vector< float > &grid, float cr, const JobController &ctl) |
| double | ground_level (const SupportableMesh &sm) |
| template<class T , int I> | |
| T | distance (const Vec< I, T > &p) |
| template<class T , int I> | |
| T | distance (const Vec< I, T > &pp1, const Vec< I, T > &pp2) |
| indexed_triangle_set | sphere (double rho, Portion portion, double fa) |
| indexed_triangle_set | pinhead (double r_pin, double r_back, double length, size_t steps) |
| indexed_triangle_set | halfcone (double baseheight, double r_bottom, double r_top, const Vec3d &pos, size_t steps) |
| indexed_triangle_set | get_mesh (const Head &h, size_t steps) |
| indexed_triangle_set | get_mesh (const Bridge &br, size_t steps) |
| indexed_triangle_set | get_mesh (const DiffBridge &br, size_t steps) |
| Portion | make_portion (double a, double b) |
| indexed_triangle_set | cylinder (double r, double h, size_t steps=45) |
| indexed_triangle_set | get_mesh (const Pillar &p, size_t steps) |
| indexed_triangle_set | get_mesh (const Pedestal &p, size_t steps) |
| indexed_triangle_set | get_mesh (const Junction &j, size_t steps) |
| template<class T , int N> | |
| Vec< N, T > | dirv (const Vec< N, T > &startp, const Vec< N, T > &endp) |
| template<class It > | |
| Hit | min_hit (It from, It to) |
| StopCriteria | get_criteria (const SupportTreeConfig &cfg) |
| template<class Ex , size_t RayCount = Beam::SAMPLES> | |
| Hit | beam_mesh_hit (Ex policy, const AABBMesh &mesh, const Beam_< RayCount > &beam, double sd) |
| template<class Ex > | |
| Hit | pinhead_mesh_hit (Ex ex, const AABBMesh &mesh, const Vec3d &s, const Vec3d &dir, double r_pin, double r_back, double width, double sd) |
| template<class Ex > | |
| Hit | pinhead_mesh_hit (Ex ex, const AABBMesh &mesh, const Head &head, double safety_d) |
| double | distance (const SupportPoint &a, const SupportPoint &b) |
| template<class PtIndex > | |
| std::vector< size_t > | non_duplicate_suppt_indices (const PtIndex &index, const SupportPoints &suppts, double eps) |
| template<class Ex > | |
| bool | optimize_pinhead_placement (Ex policy, const SupportableMesh &m, Head &head) |
| template<class Ex > | |
| std::optional< Head > | calculate_pinhead_placement (Ex policy, const SupportableMesh &sm, size_t suppt_idx) |
| long | build_ground_connection (SupportTreeBuilder &builder, const SupportableMesh &sm, const GroundConnection &conn) |
| template<class Ex , class WideningFn , class = std::enable_if_t<IsWideningFn<WideningFn>>> | |
| Vec3d | check_ground_route (Ex policy, const SupportableMesh &sm, const Junction &source, const Vec3d &dir, double bridge_len, WideningFn &&wideningfn, GroundRouteCheck type=GroundRouteCheck::Full) |
| template<class Ex , class WideningFn , class = std::enable_if_t<IsWideningFn<WideningFn>>> | |
| GroundConnection | deepsearch_ground_connection (Ex policy, const SupportableMesh &sm, const Junction &source, WideningFn &&wideningfn, const Vec3d &init_dir=DOWN) |
| template<class Ex > | |
| GroundConnection | deepsearch_ground_connection (Ex policy, const SupportableMesh &sm, const Junction &source, double end_radius, const Vec3d &init_dir=DOWN) |
| template<class Ex > | |
| GroundConnection | deepsearch_ground_connection (Ex policy, const SupportableMesh &sm, const Junction &source, const Vec3d &init_dir=DOWN) |
| template<class Ex > | |
| bool | optimize_anchor_placement (Ex policy, const SupportableMesh &sm, const Junction &from, Anchor &anchor) |
| template<class Ex > | |
| std::optional< Anchor > | calculate_anchor_placement (Ex policy, const SupportableMesh &sm, const Junction &from, const Vec3d &to_hint) |
| bool | is_outside_support_cone (const Vec3f &supp, const Vec3f &pt, float angle) |
| std::optional< Vec3f > | find_merge_pt (const Vec3f &A, const Vec3f &B, float critical_angle) |
| template<class I , class DoubleI = IntegerOnly<I>> | |
| IntegerOnly< DoubleI > | pairhash (I a, I b) |
| template<class Ex > | |
| std::optional< DiffBridge > | search_widening_path (Ex policy, const SupportableMesh &sm, const Vec3d &jp, const Vec3d &dir, double radius, double new_radius) |
| template<class Ex > | |
| std::pair< bool, long > | create_ground_pillar (Ex policy, SupportTreeBuilder &builder, const SupportableMesh &sm, const Vec3d &pinhead_junctionpt, const Vec3d &sourcedir, double radius, double end_radius, long head_id=SupportTreeNode::ID_UNSET) |
| template<class Ex > | |
| std::pair< bool, long > | connect_to_ground (Ex policy, SupportTreeBuilder &builder, const SupportableMesh &sm, const Junction &j, const Vec3d &dir, double end_r) |
| template<class Ex > | |
| std::pair< bool, long > | search_ground_route (Ex policy, SupportTreeBuilder &builder, const SupportableMesh &sm, const Junction &j, double end_radius, const Vec3d &init_dir=DOWN) |
Variables | |
| constexpr const auto & | beam_ex_policy = ex_tbb |
| constexpr const auto & | suptree_ex_policy = ex_tbb |
| constexpr float | HoleStickOutLength = 1.f |
| const Vec3d | DOWN = {0.0, 0.0, -1.0} |
| template<class Fn > | |
| constexpr bool | IsWideningFn |
| template<class WFn > | |
| constexpr size_t | BeamSamplesV = BeamSamples<remove_cvref_t<WFn>>::Value |
| struct Slic3r::sla::Ball |
| struct Slic3r::sla::DivFace |
| struct Slic3r::sla::HollowingConfig |
| struct Slic3r::sla::JobController |
A Control structure for the support calculation. Consists of the status indicator callback and the stop condition predicate.
| Class Members | ||
|---|---|---|
| typedef function< void(void)> | CancelFn | |
| typedef function< void(unsigned, const string &)> | StatusFn | |
| typedef function< bool(void)> | StopCond | |
| Class Members | ||
|---|---|---|
| CancelFn | cancelfn = [](){} | |
| StatusFn | statuscb = [](unsigned, const std::string&){} | |
| StopCond | stopcondition = [](){ return false; } | |
| struct Slic3r::sla::TriangleBubble |
| using Slic3r::sla::_RasterGrayscaleAA = typedef AGGRaster<agg::pixfmt_gray8, agg::renderer_scanline_aa_solid> |
| using Slic3r::sla::Beam = typedef Beam_<> |
| using Slic3r::sla::BoxIndexEl = typedef std::pair<Slic3r::BoundingBox, unsigned> |
| using Slic3r::sla::ClusteredPoints = typedef std::vector<ClusterEl> |
| using Slic3r::sla::ClusterEl = typedef std::vector<unsigned> |
| using Slic3r::sla::DrainHoles = typedef std::vector<DrainHole> |
| using Slic3r::sla::Hit = typedef AABBMesh::hit_result |
| using Slic3r::sla::Index3D = typedef bgi::rtree< PointIndexEl, bgi::rstar<16, 4> > |
| using Slic3r::sla::InteriorPtr = typedef std::unique_ptr<Interior, InteriorDeleter> |
| using Slic3r::sla::PointIndexEl = typedef std::pair<Vec3d, unsigned> |
| using Slic3r::sla::Portion = typedef std::tuple<double, double> |
| using Slic3r::sla::RasterEncoder = typedef std::function<EncodedRaster(const void *ptr, size_t w, size_t h, size_t num_components)> |
| using Slic3r::sla::RotOptimizeStatusCB = typedef std::function<bool(int)> |
| using Slic3r::sla::SupportPoints = typedef std::vector<SupportPoint> |
| typedef std::function< void(void)> Slic3r::sla::ThrowOnCancel |
| typedef Eigen::Matrix<double, 3, 1, Eigen::DontAlign> Slic3r::sla::Vec3d |
| anonymous enum |
| Enumerator | |
|---|---|
| NEW_FACE | |
|
strong |
| Enumerator | |
|---|---|
| Full | |
| PillarOnly | |
| Enumerator | |
|---|---|
| hfRemoveInsideTriangles | |
|
strong |
| Enumerator | |
|---|---|
| Ok | |
| FaultyMesh | |
| FaultyHoles | |
| DrillingFailed | |
|
strong |
|
strong |
|
strong |
|
strong |
| Hit Slic3r::sla::beam_mesh_hit | ( | Ex | policy, |
| const AABBMesh & | mesh, | ||
| const Beam_< RayCount > & | beam, | ||
| double | sd | ||
| ) |
References Slic3r::sla::Beam_< Samples >::dir, Slic3r::execution::for_each(), Slic3r::sla::Beam_< Samples >::r1, Slic3r::sla::Beam_< Samples >::r2, and Slic3r::sla::Beam_< Samples >::src.
Referenced by Slic3r::sla::BranchingTreeBuilder::add_bridge(), Slic3r::sla::BranchingTreeBuilder::add_merger(), Slic3r::sla::BranchingTreeBuilder::add_mesh_bridge(), Slic3r::sla::DefaultSupportTree::bridge_mesh_intersect(), check_ground_route(), connect_to_ground(), create_ground_pillar(), search_ground_route(), and search_widening_path().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References indexed_triangle_set::vertices.
Referenced by find_min_z_height_rotation().
Here is the caller graph for this function:
|
inline |
References Slic3r::sla::SupportTreeBuilder::add_diffbridge(), Slic3r::sla::SupportTreeBuilder::add_junction(), Slic3r::sla::SupportTreeBuilder::add_pillar(), Slic3r::sla::SupportTreeBuilder::add_pillar_base(), build_ground_connection(), Slic3r::sla::SupportableMesh::cfg, ground_level(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportableMesh::pad_cfg, Slic3r::sla::GroundConnection::path, Slic3r::sla::GroundConnection::pillar_base, and Slic3r::sla::PadConfig::wall_thickness_mm.
Referenced by build_ground_connection(), and build_pillars().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References build_ground_connection(), build_pillars(), Slic3r::sla::BranchingTreeBuilder::ground_conn(), and Slic3r::sla::BranchingTreeBuilder::pillars().
Referenced by build_pillars(), and create_branching_tree().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< Anchor > Slic3r::sla::calculate_anchor_placement | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | from, | ||
| const Vec3d & | to_hint | ||
| ) |
References calculate_anchor_placement(), Slic3r::sla::SupportableMesh::cfg, dirv(), Slic3r::sla::SupportTreeConfig::head_fallback_radius_mm, Slic3r::sla::SupportTreeConfig::head_front_radius_mm, Slic3r::sla::SupportTreeConfig::head_penetration_mm, Slic3r::sla::SupportTreeConfig::head_width_mm, optimize_anchor_placement(), Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, and Slic3r::sla::Head::r_back_mm.
Referenced by Slic3r::sla::BranchingTreeBuilder::add_mesh_bridge(), and calculate_anchor_placement().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< Head > Slic3r::sla::calculate_pinhead_placement | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| size_t | suppt_idx | ||
| ) |
References calculate_pinhead_placement(), Slic3r::sla::SupportableMesh::cfg, head(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportPoint::head_front_radius, Slic3r::sla::SupportTreeConfig::head_penetration_mm, long, optimize_pinhead_placement(), Slic3r::sla::SupportPoint::pos, and Slic3r::sla::SupportableMesh::pts.
Referenced by calculate_pinhead_placement().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec3d Slic3r::sla::check_ground_route | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | source, | ||
| const Vec3d & | dir, | ||
| double | bridge_len, | ||
| WideningFn && | wideningfn, | ||
| GroundRouteCheck | type = GroundRouteCheck::Full |
||
| ) |
References Slic3r::sla::SupportTreeConfig::base_radius_mm, beam_mesh_hit(), Slic3r::sla::SupportableMesh::cfg, check_ground_route(), Slic3r::sla::SupportableMesh::emesh, EPSILON, ground_level(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportTreeConfig::object_elevation_mm, Slic3r::sla::SupportTreeConfig::pillar_base_safety_distance_mm, Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, Slic3r::sla::SupportTreeConfig::safety_distance(), and Slic3r::AABBMesh::squared_distance().
Referenced by check_ground_route(), and deepsearch_ground_connection().
Here is the call graph for this function:
Here is the caller graph for this function:| ClusteredPoints Slic3r::sla::cluster | ( | const Eigen::MatrixXd & | pts, |
| double | dist, | ||
| unsigned | max_points | ||
| ) |
References cluster().
Here is the call graph for this function:| ClusteredPoints Slic3r::sla::cluster | ( | const std::vector< unsigned > & | indices, |
| std::function< Vec3d(unsigned)> | pointfn, | ||
| double | dist, | ||
| unsigned | max_points | ||
| ) |
References cluster().
Referenced by Slic3r::sla::DefaultSupportTree::add_pinheads(), Slic3r::sla::DefaultSupportTree::classify(), cluster(), cluster(), and cluster().
Here is the call graph for this function:
Here is the caller graph for this function:| ClusteredPoints Slic3r::sla::cluster | ( | const std::vector< unsigned > & | indices, |
| std::function< Vec3d(unsigned)> | pointfn, | ||
| std::function< bool(const PointIndexEl &, const PointIndexEl &)> | predicate, | ||
| unsigned | max_points | ||
| ) |
References cluster().
Here is the call graph for this function:| long Slic3r::sla::cluster_centroid | ( | const ClusterEl & | clust, |
| PointFn | pointfn, | ||
| DistFn | df | ||
| ) |
References long.
Referenced by Slic3r::sla::DefaultSupportTree::routing_to_ground().
Here is the caller graph for this function:| std::pair< bool, long > Slic3r::sla::connect_to_ground | ( | Ex | policy, |
| SupportTreeBuilder & | builder, | ||
| const SupportableMesh & | sm, | ||
| const Junction & | j, | ||
| const Vec3d & | dir, | ||
| double | end_r | ||
| ) |
References Slic3r::sla::SupportTreeBuilder::add_bridge(), Slic3r::sla::SupportTreeBuilder::add_junction(), beam_mesh_hit(), Slic3r::sla::SupportableMesh::cfg, create_ground_pillar(), Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, ground_level(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportTreeNode::ID_UNSET, Slic3r::sla::SupportTreeConfig::max_bridge_length_mm, Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, and Slic3r::sla::SupportTreeConfig::safety_distance_mm.
Referenced by search_ground_route().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::create_branching_tree | ( | SupportTreeBuilder & | builder, |
| const SupportableMesh & | sm | ||
| ) |
References Slic3r::sla::SupportTreeBuilder::add_head(), Slic3r::branchingtree::Properties::bed_shape(), Slic3r::sla::SupportTreeConfig::bridge_slope, build_pillars(), Slic3r::branchingtree::build_tree(), Slic3r::sla::SupportableMesh::cfg, create_branching_tree(), Slic3r::sla::SupportTreeBuilder::ctl(), Slic3r::sla::SupportableMesh::emesh, Slic3r::ex_tbb, Slic3r::execution::for_each(), Slic3r::AABBMesh::get_triangle_mesh(), Slic3r::sla::SupportTreeConfig::ground_facing_only, ground_level(), Slic3r::branchingtree::Properties::ground_level(), Slic3r::sla::SupportTreeBuilder::head(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::Head::invalidate(), long, Slic3r::branchingtree::make_bed_poly(), Slic3r::branchingtree::Properties::max_branch_length(), Slic3r::sla::SupportTreeConfig::max_bridge_length_mm, Slic3r::execution::max_concurrency(), Slic3r::branchingtree::Properties::max_slope(), non_duplicate_suppt_indices(), Slic3r::sla::SupportableMesh::pts, Slic3r::branchingtree::sample_bed(), Slic3r::branchingtree::sample_mesh(), and Slic3r::sla::JobController::stopcondition.
Referenced by create_branching_tree(), and create_support_tree().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::sla::DefaultSupportTree::execute().
Referenced by create_support_tree().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< bool > Slic3r::sla::create_exclude_mask | ( | const indexed_triangle_set & | its, |
| const Interior & | interior, | ||
| const std::vector< DrainHole > & | holes | ||
| ) |
References create_exclude_mask(), exclude_neighbors(), Slic3r::face_normal(), indexed_triangle_set::indices, and indexed_triangle_set::vertices.
Referenced by create_exclude_mask(), and hollow_mesh_and_drill().
Here is the call graph for this function:
Here is the caller graph for this function:| std::pair< bool, long > Slic3r::sla::create_ground_pillar | ( | Ex | policy, |
| SupportTreeBuilder & | builder, | ||
| const SupportableMesh & | sm, | ||
| const Vec3d & | pinhead_junctionpt, | ||
| const Vec3d & | sourcedir, | ||
| double | radius, | ||
| double | end_radius, | ||
| long | head_id = SupportTreeNode::ID_UNSET |
||
| ) |
References Slic3r::sla::SupportTreeBuilder::add_bridge(), Slic3r::sla::SupportTreeBuilder::add_diffbridge(), Slic3r::sla::SupportTreeBuilder::add_junction(), Slic3r::sla::SupportTreeBuilder::add_pillar(), Slic3r::sla::SupportTreeBuilder::add_pillar_base(), Slic3r::sla::SupportTreeConfig::base_height_mm, Slic3r::sla::SupportTreeConfig::base_radius_mm, beam_mesh_hit(), Slic3r::sla::Head::bridge_id, Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, EPSILON, ground_level(), Slic3r::sla::SupportTreeBuilder::head(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportTreeNode::id, Slic3r::sla::SupportTreeNode::ID_UNSET, Slic3r::sla::SupportTreeConfig::max_bridge_length_mm, Slic3r::sla::SupportTreeConfig::object_elevation_mm, Slic3r::sla::SupportableMesh::pad_cfg, PI, Slic3r::sla::SupportTreeConfig::pillar_base_safety_distance_mm, Slic3r::sla::SupportTreeConfig::safety_distance_mm, search_widening_path(), Slic3r::AABBMesh::squared_distance(), and Slic3r::sla::PadConfig::wall_thickness_mm.
Referenced by connect_to_ground(), and Slic3r::sla::DefaultSupportTree::create_ground_pillar().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::create_pad | ( | const ExPolygons & | sup_blueprint, |
| const ExPolygons & | model_blueprint, | ||
| indexed_triangle_set & | out, | ||
| const PadConfig & | cfg, | ||
| ThrowOnCancel | thr | ||
| ) |
References Slic3r::its_merge().
Referenced by Slic3r::SLAPrintObject::SupportData::create_pad(), and create_pad().
Here is the call graph for this function:
Here is the caller graph for this function:| indexed_triangle_set Slic3r::sla::create_pad | ( | const SupportableMesh & | sm, |
| const indexed_triangle_set & | support_mesh, | ||
| const JobController & | ctl | ||
| ) |
References Slic3r::sla::JobController::cancelfn, Slic3r::sla::SupportableMesh::cfg, create_pad(), Slic3r::sla::PadConfig::embed_object, Slic3r::sla::SupportableMesh::emesh, Slic3r::sla::SupportTreeConfig::enabled, EPSILON, Slic3r::sla::PadConfig::full_height(), Slic3r::AABBMesh::get_triangle_mesh(), Slic3r::grid(), ground_level(), Slic3r::its_merge_vertices(), pad_blueprint(), Slic3r::sla::SupportableMesh::pad_cfg, indexed_triangle_set::vertices, and Slic3r::sla::PadConfig::wall_thickness_mm.
Here is the call graph for this function:| std::unique_ptr< RasterBase > Slic3r::sla::create_raster_grayscale_aa | ( | const Resolution & | res, |
| const PixelDim & | pxdim, | ||
| double | gamma, | ||
| const RasterBase::Trafo & | tr | ||
| ) |
Referenced by Slic3r::AnycubicSLAArchive::create_raster(), Slic3r::SL1Archive::create_raster(), Slic3r::GUI::CreateFontImageJob::process(), and Slic3r::GUI::Emboss::CreateFontStyleImagesJob::process().
Here is the caller graph for this function:| indexed_triangle_set Slic3r::sla::create_support_tree | ( | const SupportableMesh & | sm, |
| const JobController & | ctl | ||
| ) |
References Branching, Slic3r::sla::SupportableMesh::cfg, create_branching_tree(), create_default_tree(), Default, Slic3r::sla::SupportTreeConfig::enabled, Benchmark::getElapsedSec(), Organic, Benchmark::start(), Benchmark::stop(), Support, and Slic3r::sla::SupportTreeConfig::tree_type.
Referenced by Slic3r::SLAPrintObject::SupportData::create_support_tree().
Here is the call graph for this function:
Here is the caller graph for this function:| double Slic3r::sla::csgmesh_positive_maxvolume | ( | const Cont & | csg | ) |
References Slic3r::csg::get_mesh(), Slic3r::csg::get_operation(), Slic3r::csg::get_stack_operation(), Slic3r::its_volume(), Slic3r::csg::Pop, Slic3r::csg::Push, and Slic3r::csg::Union.
Here is the call graph for this function:| void Slic3r::sla::cut_drainholes | ( | std::vector< ExPolygons > & | obj_slices, |
| const std::vector< float > & | slicegrid, | ||
| float | closing_radius, | ||
| const sla::DrainHoles & | holes, | ||
| std::function< void(void)> | thr | ||
| ) |
References Slic3r::holes(), and Slic3r::TriangleMesh::merge().
Here is the call graph for this function:
|
inline |
References Slic3r::its_make_cylinder(), and PI.
Referenced by get_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| GroundConnection Slic3r::sla::deepsearch_ground_connection | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | source, | ||
| const Vec3d & | init_dir = DOWN |
||
| ) |
References deepsearch_ground_connection().
Here is the call graph for this function:| GroundConnection Slic3r::sla::deepsearch_ground_connection | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | source, | ||
| double | end_radius, | ||
| const Vec3d & | init_dir = DOWN |
||
| ) |
References deepsearch_ground_connection(), EPSILON, ground_level(), and IsWideningFn.
Here is the call graph for this function:| GroundConnection Slic3r::sla::deepsearch_ground_connection | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | source, | ||
| WideningFn && | wideningfn, | ||
| const Vec3d & | init_dir = DOWN |
||
| ) |
References Slic3r::sla::SupportTreeConfig::base_height_mm, Slic3r::sla::SupportTreeConfig::base_radius_mm, Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, check_ground_route(), deepsearch_ground_connection(), EPSILON, get_criteria(), ground_level(), input(), Slic3r::sla::SupportTreeConfig::max_bridge_length_mm, Slic3r::NaNd, Slic3r::opt::Optimizer< Method, Enable >::optimize(), Slic3r::sla::GroundConnection::path, PI, Slic3r::sla::GroundConnection::pillar_base, Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, Slic3r::opt::Optimizer< Method, Enable >::seed(), and Slic3r::opt::Optimizer< Method, Enable >::to_min().
Referenced by Slic3r::sla::BranchingTreeBuilder::add_ground_bridge(), deepsearch_ground_connection(), deepsearch_ground_connection(), deepsearch_ground_connection(), and Slic3r::sla::BranchingTreeBuilder::suggest_avoidance().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec< N, T > Slic3r::sla::dirv | ( | const Vec< N, T > & | startp, |
| const Vec< N, T > & | endp | ||
| ) |
Referenced by calculate_anchor_placement(), Slic3r::sla::DefaultSupportTree::connect_to_nearpillar(), Slic3r::sla::DefaultSupportTree::interconnect(), and Slic3r::sla::DefaultSupportTree::interconnect_pillars().
Here is the caller graph for this function:
|
inline |
Terminology:
Support point: The point on the model surface that needs support.
Pillar: A thick column that spans from a support point to the ground and has a thick cone shaped base where it touches the ground.
Ground facing support point: A support point that can be directly connected with the ground with a pillar that does not collide or cut through the model.
Non ground facing support point: A support point that cannot be directly connected with the ground (only with the model surface).
Head: The pinhead that connects to the model surface with the sharp end end to a pillar or bridge stick with the dull end.
Headless support point: A support point on the model surface for which there is not enough place for the head. It is either in a hole or there is some barrier that would collide with the head geometry. The headless support point can be ground facing and non ground facing as well.
Bridge: A stick that connects two pillars or a head with a pillar.
Junction: A small ball in the intersection of two or more sticks (pillar, bridge, ...)
CompactBridge: A bridge that connects a headless support point with the model surface or a nearby pillar.
Referenced by Slic3r::sla::Beam_< Samples >::Beam_(), Slic3r::sla::BranchingTreeBuilder::add_mesh_bridge(), Slic3r::sla::DefaultSupportTree::classify(), Slic3r::sla::DefaultSupportTree::connect_to_nearpillar(), Slic3r::sla::DefaultSupportTree::interconnect(), and Slic3r::sla::DefaultSupportTree::routing_to_ground().
Here is the caller graph for this function:| T Slic3r::sla::distance | ( | const Vec< I, T > & | pp1, |
| const Vec< I, T > & | pp2 | ||
| ) |
References divide_triangle(), Slic3r::sla::DivFace::faceid, Slic3r::sla::DivFace::indx, NEW_FACE, Slic3r::sla::DivFace::parent, and Slic3r::sla::DivFace::verts.
Referenced by divide_triangle(), and remove_inside_triangles().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References exclude_neighbors(), and indexed_triangle_set::indices.
Referenced by create_exclude_mask(), and exclude_neighbors().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec2d Slic3r::sla::find_best_misalignment_rotation | ( | const ModelObject & | modelobj, |
| const RotOptimizeParams & | = {} |
||
| ) |
The function should find the best rotation for SLA upside down printing.
| modelobj | The model object representing the 3d mesh. |
| accuracy | The optimization accuracy from 0.0f to 1.0f. Currently, the nlopt genetic optimizer is used and the number of iterations is accuracy * 100000. This can change in the future. |
| statuscb | A status indicator callback called with the int argument spanning from 0 to 100. May not reach 100 if the optimization finds an optimum before max iterations are reached. It should return a boolean signaling if the operation may continue (true) or not (false). A status value lower than 0 shall not update the status but still return a valid continuation indicator. |
References Slic3r::opt::bounds(), Slic3r::opt::initvals(), Slic3r::opt::StopCriteria::max_iterations(), Slic3r::opt::Optimizer< Method, Enable >::optimize(), PI, Slic3r::opt::StopCriteria::stop_condition(), and Slic3r::opt::Optimizer< Method, Enable >::to_max().
Here is the call graph for this function:| Vec2d Slic3r::sla::find_least_supports_rotation | ( | const ModelObject & | mo, |
| const RotOptimizeParams & | params | ||
| ) |
References Slic3r::opt::bounds(), Slic3r::ModelObject::config, Slic3r::ModelConfig::get(), Slic3r::opt::initvals(), Slic3r::opt::StopCriteria::max_iterations(), Slic3r::opt::Optimizer< Method, Enable >::optimize(), PI, Slic3r::sla::RotOptimizeParams::print_config(), Slic3r::SLAPrintObjectConfig, Slic3r::opt::StopCriteria::stop_condition(), and Slic3r::opt::Optimizer< Method, Enable >::to_min().
Here is the call graph for this function:
|
inline |
References Slic3r::diff(), and EPSILON.
Referenced by Slic3r::branchingtree::find_merge_pt().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec2d Slic3r::sla::find_min_z_height_rotation | ( | const ModelObject & | mo, |
| const RotOptimizeParams & | params | ||
| ) |
References bounding_box_with_tr(), Slic3r::TriangleMesh::convex_hull_3d(), DOWN, EPSILON, Eigen::Quaternion< _Scalar, _Options >::FromTwoVectors(), Eigen::Transform< float, 3, Eigen::Affine, Eigen::DontAlign >::Identity(), indexed_triangle_set::indices, Slic3r::TriangleMesh::its, Slic3r::BoundingBox3Base< PointType >::size(), Slic3r::X, and Slic3r::Y.
Here is the call graph for this function:References Slic3r::ExPolygon::contour, Slic3r::ExPolygon::holes, and Slic3r::MultiPoint::points.
Referenced by raster_to_polygons().
Here is the caller graph for this function:
|
inline |
| InteriorPtr Slic3r::sla::generate_interior | ( | const Range< It > & | csgparts, |
| const HollowingConfig & | hc = {}, |
||
| const JobController & | ctl = {} |
||
| ) |
| InteriorPtr Slic3r::sla::generate_interior | ( | const VoxelGrid & | vgrid, |
| const HollowingConfig & | hc, | ||
| const JobController & | ctl | ||
| ) |
References _u8L, Slic3r::sla::HollowingConfig::closing_distance, Slic3r::dilate_grid(), EPSILON, get_voxel_scale(), Slic3r::grid_to_mesh(), Slic3r::sla::Interior::mesh, Slic3r::sla::HollowingConfig::min_thickness, Slic3r::offset(), Slic3r::redistance_grid(), Slic3r::sla::JobController::statuscb, and Slic3r::sla::JobController::stopcondition.
Referenced by hollow_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References get_avoidance(), Slic3r::sla::GroundConnection::path, and Slic3r::sla::GroundConnection::pillar_base.
Referenced by get_avoidance(), and Slic3r::sla::BranchingTreeBuilder::suggest_avoidance().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Referenced by Slic3r::sla::ConcaveHull::merge_polygons().
Here is the caller graph for this function:
|
inline |
References Slic3r::opt::StopCriteria::max_iterations(), Slic3r::sla::SupportTreeConfig::optimizer_max_iterations, Slic3r::sla::SupportTreeConfig::optimizer_rel_score_diff, and Slic3r::opt::StopCriteria::rel_score_diff().
Referenced by Slic3r::sla::DefaultSupportTree::add_pinheads(), deepsearch_ground_connection(), optimize_anchor_placement(), optimize_pinhead_placement(), search_ground_route(), and search_widening_path().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References Dst, Slic3r::sla::Interior::full_narrowb, get_distance(), Slic3r::get_distance_raw(), Slic3r::sla::Interior::iso_surface, and Slic3r::sla::Interior::thickness.
Referenced by get_distance(), get_distance(), get_distance(), and remove_inside_triangles().
Here is the call graph for this function:
Here is the caller graph for this function:References get_distance(), Slic3r::get_distance_raw(), and Slic3r::sla::Interior::iso_surface.
Here is the call graph for this function:| FloatingOnly< T > Slic3r::sla::get_distance | ( | const Vec< 3, T > & | p, |
| const Interior & | interior | ||
| ) |
References get_distance().
Here is the call graph for this function:References Slic3r::get_distance_raw(), and Slic3r::sla::Interior::gridptr.
Here is the call graph for this function:References Slic3r::sla::Interior::gridptr.
References Slic3r::sla::Interior::gridptr.
| indexed_triangle_set Slic3r::sla::get_mesh | ( | const Bridge & | br, |
| size_t | steps | ||
| ) |
References cylinder(), Slic3r::sla::Bridge::endp, Slic3r::sla::Bridge::r, Slic3r::sla::Bridge::startp, and indexed_triangle_set::vertices.
Here is the call graph for this function:| indexed_triangle_set Slic3r::sla::get_mesh | ( | const DiffBridge & | br, |
| size_t | steps | ||
| ) |
References Slic3r::sla::DiffBridge::end_r, Slic3r::sla::Bridge::get_dir(), Slic3r::sla::Bridge::get_length(), halfcone(), Slic3r::sla::Bridge::r, Slic3r::sla::Bridge::startp, and indexed_triangle_set::vertices.
Here is the call graph for this function:| indexed_triangle_set Slic3r::sla::get_mesh | ( | const Head & | h, |
| size_t | steps | ||
| ) |
References Slic3r::sla::Head::dir, Slic3r::sla::Head::fullwidth(), pinhead(), pos(), Slic3r::sla::Head::pos, Slic3r::sla::Head::r_back_mm, Slic3r::sla::Head::r_pin_mm, indexed_triangle_set::vertices, and Slic3r::sla::Head::width_mm.
Here is the call graph for this function:| const indexed_triangle_set & Slic3r::sla::get_mesh | ( | const Interior & | interior | ) |
References Slic3r::sla::Interior::mesh.
|
inline |
References make_portion(), PI, pos(), Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, sphere(), and indexed_triangle_set::vertices.
Here is the call graph for this function:
|
inline |
References halfcone(), Slic3r::sla::Pedestal::height, Slic3r::sla::Pedestal::pos, Slic3r::sla::Pedestal::r_bottom, and Slic3r::sla::Pedestal::r_top.
Here is the call graph for this function:
|
inline |
References Slic3r::sla::Pillar::endpt, EPSILON, halfcone(), Slic3r::sla::Pillar::height, Slic3r::sla::Pillar::r_end, and Slic3r::sla::Pillar::r_start.
Here is the call graph for this function:| indexed_triangle_set & Slic3r::sla::get_mesh | ( | Interior & | interior | ) |
References Slic3r::sla::Interior::mesh.
Referenced by Slic3r::SLAPrint::Steps::generate_preview(), Slic3r::sla::Anchor::Head(), Slic3r::SLAPrint::Steps::hollow_model(), and Slic3r::sla::SupportTreeBuilder::merged_mesh().
Here is the caller graph for this function:| double Slic3r::sla::get_voxel_scale | ( | double | mesh_volume, |
| const HollowingConfig & | hc | ||
| ) |
References Slic3r::get_voxel_scale(), Slic3r::sla::HollowingConfig::min_thickness, and Slic3r::sla::HollowingConfig::quality.
Referenced by generate_interior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::sla::SupportableMesh::cfg, Slic3r::sla::PadConfig::embed_object, Slic3r::sla::SupportTreeConfig::enabled, Slic3r::sla::SupportTreeConfig::object_elevation_mm, Slic3r::sla::SupportableMesh::pad_cfg, Slic3r::sla::PadConfig::wall_thickness_mm, and Slic3r::sla::SupportableMesh::zoffset.
Referenced by Slic3r::sla::DefaultSupportTree::add_pinheads(), build_ground_connection(), check_ground_route(), connect_to_ground(), Slic3r::sla::DefaultSupportTree::connect_to_nearpillar(), create_branching_tree(), create_ground_pillar(), create_pad(), deepsearch_ground_connection(), deepsearch_ground_connection(), Slic3r::sla::BranchingTreeBuilder::discard_subtree_rescure(), Slic3r::sla::DefaultSupportTree::interconnect(), Slic3r::sla::DefaultSupportTree::interconnect_pillars(), optimize_pinhead_placement(), Slic3r::sla::BranchingTreeBuilder::report_unroutable(), search_ground_route(), Slic3r::sla::DefaultSupportTree::search_pillar_and_connect(), search_widening_path(), and Slic3r::sla::BranchingTreeBuilder::suggest_avoidance().
Here is the caller graph for this function:| indexed_triangle_set Slic3r::sla::halfcone | ( | double | baseheight, |
| double | r_bottom, | ||
| double | r_top, | ||
| const Vec3d & | pos, | ||
| size_t | steps | ||
| ) |
References indexed_triangle_set::indices, PI, pos(), and indexed_triangle_set::vertices.
Referenced by get_mesh(), get_mesh(), and get_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::hollow_mesh | ( | indexed_triangle_set & | mesh, |
| const HollowingConfig & | cfg, | ||
| int | flags = 0 |
||
| ) |
| void Slic3r::sla::hollow_mesh | ( | indexed_triangle_set & | mesh, |
| const Interior & | interior, | ||
| int | flags | ||
| ) |
References indexed_triangle_set::empty(), Slic3r::sla::Interior::gridptr, hfRemoveInsideTriangles, hollow_mesh(), Slic3r::its_merge(), Slic3r::sla::Interior::mesh, remove_inside_triangles(), and swap_normals().
Here is the call graph for this function:| void Slic3r::sla::hollow_mesh | ( | TriangleMesh & | mesh, |
| const HollowingConfig & | cfg, | ||
| int | flags | ||
| ) |
References generate_interior(), hollow_mesh(), and Slic3r::TriangleMesh::its.
Referenced by Slic3r::SLAPrint::Steps::generate_preview(), hollow_mesh(), hollow_mesh(), and hollow_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::hollow_mesh | ( | TriangleMesh & | mesh, |
| const Interior & | interior, | ||
| int | flags | ||
| ) |
References indexed_triangle_set::empty(), Slic3r::TriangleMesh::empty(), Slic3r::sla::Interior::gridptr, hfRemoveInsideTriangles, hollow_mesh(), Slic3r::TriangleMesh::merge(), Slic3r::sla::Interior::mesh, remove_inside_triangles(), and swap_normals().
Here is the call graph for this function:| int Slic3r::sla::hollow_mesh_and_drill | ( | indexed_triangle_set & | hollowed_mesh, |
| const Interior & | interior, | ||
| const DrainHoles & | drainholes, | ||
| std::function< void(size_t)> | on_hole_fail | ||
| ) |
References create_exclude_mask(), EPSILON, hollow_mesh_and_drill(), indexed_triangle_set::indices, Eigen::AlignedBox< _Scalar, _AmbientDim >::min(), Slic3r::sla::DrainHole::normal, Slic3r::sla::DrainHole::pos, remove_unconnected_vertices(), Slic3r::sla::DrainHole::to_mesh(), and indexed_triangle_set::vertices.
Referenced by Slic3r::SLAPrint::Steps::generate_preview(), and hollow_mesh_and_drill().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Slic3r::angle(), and is_outside_support_cone().
Referenced by is_outside_support_cone().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References Slic3r::ex_tbb, and Slic3r::execution::for_each().
Referenced by Slic3r::sla::SupportPointGenerator::process().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Referenced by get_mesh(), and pinhead().
Here is the caller graph for this function:| Hit Slic3r::sla::min_hit | ( | It | from, |
| It | to | ||
| ) |
References Slic3r::AABBMesh::hit_result::distance().
Here is the call graph for this function:| std::vector< size_t > Slic3r::sla::non_duplicate_suppt_indices | ( | const PtIndex & | index, |
| const SupportPoints & | suppts, | ||
| double | eps | ||
| ) |
References Slic3r::find_closest_point(), non_duplicate_suppt_indices(), and pos().
Referenced by create_branching_tree(), and non_duplicate_suppt_indices().
Here is the call graph for this function:
Here is the caller graph for this function:| Polygons Slic3r::sla::offset_waffle_style | ( | const ConcaveHull & | hull, |
| coord_t | delta | ||
| ) |
References Slic3r::closing(), ClipperLib::jtRound, and Slic3r::sla::ConcaveHull::polygons().
Referenced by offset_waffle_style_ex().
Here is the call graph for this function:
Here is the caller graph for this function:| ExPolygons Slic3r::sla::offset_waffle_style_ex | ( | const ConcaveHull & | hull, |
| coord_t | delta | ||
| ) |
References offset_waffle_style(), and Slic3r::to_expolygons().
Referenced by Slic3r::sla::anonymous_namespace{Pad.cpp}::BelowPadSkeleton::BelowPadSkeleton(), and Slic3r::sla::anonymous_namespace{Pad.cpp}::_AroundPadSkeleton< _Intersector >::wafflized_concave_hull().
Here is the call graph for this function:
Here is the caller graph for this function:| std::ostream & Slic3r::sla::operator<< | ( | std::ostream & | stream, |
| const EncodedRaster & | bytes | ||
| ) |
References Slic3r::sla::EncodedRaster::data(), and Slic3r::sla::EncodedRaster::size().
Here is the call graph for this function:| bool Slic3r::sla::optimize_anchor_placement | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Junction & | from, | ||
| Anchor & | anchor | ||
| ) |
References Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, Slic3r::sla::Head::dir, Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, Slic3r::sla::Head::fullwidth(), get_criteria(), Slic3r::get_normal(), Slic3r::sla::SupportTreeConfig::head_width_mm, input(), Slic3r::opt::StopCriteria::max_iterations(), Slic3r::opt::Optimizer< Method, Enable >::optimize(), optimize_anchor_placement(), PI, pinhead_mesh_hit(), Slic3r::sla::Junction::pos, Slic3r::sla::Head::pos, Slic3r::sla::Junction::r, Slic3r::sla::Head::r_back_mm, Slic3r::sla::SupportTreeConfig::safety_distance(), Slic3r::opt::Optimizer< Method, Enable >::seed(), Slic3r::opt::StopCriteria::stop_score(), Slic3r::opt::Optimizer< Method, Enable >::to_max(), and Slic3r::sla::Head::width_mm.
Referenced by calculate_anchor_placement(), and optimize_anchor_placement().
Here is the call graph for this function:
Here is the caller graph for this function:| bool Slic3r::sla::optimize_pinhead_placement | ( | Ex | policy, |
| const SupportableMesh & | m, | ||
| Head & | head | ||
| ) |
References Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, EPSILON, get_criteria(), Slic3r::get_normal(), ground_level(), head(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, Slic3r::sla::SupportTreeConfig::head_fallback_radius_mm, Slic3r::sla::SupportTreeConfig::head_front_radius_mm, Slic3r::sla::SupportTreeConfig::head_penetration_mm, Slic3r::sla::SupportTreeConfig::head_width_mm, input(), Slic3r::opt::StopCriteria::max_iterations(), Slic3r::sla::SupportTreeConfig::normal_cutoff_angle, Slic3r::opt::Optimizer< Method, Enable >::optimize(), optimize_pinhead_placement(), PI, pinhead_mesh_hit(), Slic3r::sla::SupportTreeConfig::safety_distance(), Slic3r::opt::Optimizer< Method, Enable >::seed(), Slic3r::opt::StopCriteria::stop_score(), and Slic3r::opt::Optimizer< Method, Enable >::to_max().
Referenced by calculate_pinhead_placement(), and optimize_pinhead_placement().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::pad_blueprint | ( | const indexed_triangle_set & | mesh, |
| ExPolygons & | output, | ||
| const std::vector< float > & | heights, | ||
| ThrowOnCancel | thrfn | ||
| ) |
Calculate the polygon representing the silhouette.
References indexed_triangle_set::empty(), Slic3r::slice_mesh_ex(), and Slic3r::union_ex().
Referenced by create_pad(), and pad_blueprint().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::pad_blueprint | ( | const indexed_triangle_set & | mesh, |
| ExPolygons & | output, | ||
| float | h, | ||
| float | layerh, | ||
| ThrowOnCancel | thrfn | ||
| ) |
References Slic3r::bounding_box(), Slic3r::grid(), pad_blueprint(), and Slic3r::Z.
Here is the call graph for this function:| IntegerOnly< DoubleI > Slic3r::sla::pairhash | ( | I | a, |
| I | b | ||
| ) |
References ceil().
Referenced by Slic3r::sla::DefaultSupportTree::interconnect_pillars().
Here is the call graph for this function:
Here is the caller graph for this function:| indexed_triangle_set Slic3r::sla::pinhead | ( | double | r_pin, |
| double | r_back, | ||
| double | length, | ||
| size_t | steps | ||
| ) |
References indexed_triangle_set::indices, Slic3r::its_merge(), Slic3r::length(), make_portion(), PI, and sphere().
Referenced by get_mesh().
Here is the call graph for this function:
Here is the caller graph for this function:| Hit Slic3r::sla::pinhead_mesh_hit | ( | Ex | ex, |
| const AABBMesh & | mesh, | ||
| const Head & | head, | ||
| double | safety_d | ||
| ) |
| Hit Slic3r::sla::pinhead_mesh_hit | ( | Ex | ex, |
| const AABBMesh & | mesh, | ||
| const Vec3d & | s, | ||
| const Vec3d & | dir, | ||
| double | r_pin, | ||
| double | r_back, | ||
| double | width, | ||
| double | sd | ||
| ) |
References Slic3r::execution::for_each(), Slic3r::sla::PointRing< N >::get(), and pinhead_mesh_hit().
Referenced by optimize_anchor_placement(), optimize_pinhead_placement(), pinhead_mesh_hit(), pinhead_mesh_hit(), Slic3r::sla::DefaultSupportTree::pinhead_mesh_intersect(), and search_widening_path().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
References poisson_disk_from_samples().
Referenced by poisson_disk_from_samples(), and Slic3r::sla::SupportPointGenerator::uniformly_cover().
Here is the call graph for this function:
Here is the caller graph for this function:Referenced by Slic3r::sla::SupportPointGenerator::PointGrid3D::cell_id(), Slic3r::sla::SupportPointGenerator::PointGrid3D::collides_with(), Slic3r::sla::SupportPointGenerator::PointGrid3D::collides_with(), get_mesh(), get_mesh(), halfcone(), Slic3r::sla::SupportPointGenerator::PointGrid3D::insert(), non_duplicate_suppt_indices(), transformed_drainhole_points(), and Slic3r::sla::SupportPointGenerator::uniformly_cover().
Here is the caller graph for this function:| ExPolygons Slic3r::sla::raster_to_polygons | ( | const RasterGrayscaleAA & | rst, |
| Vec2i | windowsize | ||
| ) |
References foreach_vertex(), Slic3r::sla::Resolution::height_px, Slic3r::sla::AGGRaster< PixelRenderer, Renderer, Rasterizer, Scanline >::pixel_dimensions(), Slic3r::MultiPoint::points, Slic3r::sla::AGGRaster< PixelRenderer, Renderer, Rasterizer, Scanline >::resolution(), Slic3r::scaled(), Slic3r::sla::AGGRaster< PixelRenderer, Renderer, Rasterizer, Scanline >::trafo(), Slic3r::union_ex(), Slic3r::sla::PixelDim::w_mm, and Slic3r::sla::Resolution::width_px.
Here is the call graph for this function:| void Slic3r::sla::remove_bottom_points | ( | std::vector< SupportPoint > & | pts, |
| float | lvl | ||
| ) |
References remove_bottom_points().
Referenced by remove_bottom_points().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::remove_inside_triangles | ( | indexed_triangle_set & | mesh, |
| const Interior & | interior, | ||
| const std::vector< bool > & | exclude_mask | ||
| ) |
References Slic3r::bounding_box(), Slic3r::sla::TriangleBubble::center, divide_triangle(), Slic3r::ex_seq, Slic3r::f(), Slic3r::execution::for_each(), get_distance(), indexed_triangle_set::indices, long, NEW_FACE, remove_inside_triangles(), Slic3r::sla::Interior::reset_accessor(), Slic3r::sla::Interior::thickness, and indexed_triangle_set::vertices.
Referenced by hollow_mesh(), hollow_mesh(), remove_inside_triangles(), and remove_inside_triangles().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::remove_inside_triangles | ( | TriangleMesh & | mesh, |
| const Interior & | interior, | ||
| const std::vector< bool > & | exclude_mask | ||
| ) |
References Slic3r::TriangleMesh::its, and remove_inside_triangles().
Here is the call graph for this function:
|
static |
References indexed_triangle_set::indices, remove_unconnected_vertices(), and indexed_triangle_set::vertices.
Referenced by hollow_mesh_and_drill(), and remove_unconnected_vertices().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References reproject_support_points(), Slic3r::ModelObject::sla_drain_holes, and Slic3r::ModelObject::sla_support_points.
Referenced by Slic3r::GUI::Plater::changed_mesh(), Slic3r::GUI::Plater::priv::reload_from_disk(), and Slic3r::GUI::Plater::priv::replace_volume_with_stl().
Here is the call graph for this function:
Here is the caller graph for this function:| void Slic3r::sla::reproject_support_points | ( | const AABBMesh & | mesh, |
| std::vector< PointType > & | pts | ||
| ) |
Referenced by reproject_points_and_holes().
Here is the caller graph for this function:| std::vector< Vec2f > Slic3r::sla::sample_expolygon | ( | const ExPolygon & | expoly, |
| float | samples_per_mm2, | ||
| std::mt19937 & | rng | ||
| ) |
References ceil(), Slic3r::cross2(), sample_expolygon(), and Slic3r::triangulate_expolygon_2f().
Referenced by sample_expolygon(), sample_expolygon(), sample_expolygon_with_boundary(), and Slic3r::sla::SupportPointGenerator::uniformly_cover().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< Vec2f > Slic3r::sla::sample_expolygon | ( | const ExPolygons & | expolys, |
| float | samples_per_mm2, | ||
| std::mt19937 & | rng | ||
| ) |
References sample_expolygon().
Here is the call graph for this function:| void Slic3r::sla::sample_expolygon_boundary | ( | const ExPolygon & | expoly, |
| float | samples_per_mm, | ||
| std::vector< Vec2f > & | out, | ||
| std::mt19937 & | |||
| ) |
References Slic3r::ExPolygon::contour, Slic3r::Polygon::equally_spaced_points(), Slic3r::ExPolygon::holes, sample_expolygon_boundary(), and scale_.
Referenced by sample_expolygon_boundary(), and sample_expolygon_with_boundary().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< Vec2f > Slic3r::sla::sample_expolygon_with_boundary | ( | const ExPolygon & | expoly, |
| float | samples_per_mm2, | ||
| float | samples_per_mm_boundary, | ||
| std::mt19937 & | rng | ||
| ) |
References sample_expolygon(), sample_expolygon_boundary(), and sample_expolygon_with_boundary().
Referenced by sample_expolygon_with_boundary(), sample_expolygon_with_boundary(), and Slic3r::sla::SupportPointGenerator::uniformly_cover().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< Vec2f > Slic3r::sla::sample_expolygon_with_boundary | ( | const ExPolygons & | expolys, |
| float | samples_per_mm2, | ||
| float | samples_per_mm_boundary, | ||
| std::mt19937 & | rng | ||
| ) |
References sample_expolygon_with_boundary().
Here is the call graph for this function:| std::pair< bool, long > Slic3r::sla::search_ground_route | ( | Ex | policy, |
| SupportTreeBuilder & | builder, | ||
| const SupportableMesh & | sm, | ||
| const Junction & | j, | ||
| double | end_radius, | ||
| const Vec3d & | init_dir = DOWN |
||
| ) |
References beam_mesh_hit(), Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, connect_to_ground(), Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, get_criteria(), ground_level(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, input(), Slic3r::opt::Optimizer< Method, Enable >::optimize(), PI, Slic3r::sla::Junction::pos, Slic3r::sla::Junction::r, Slic3r::sla::SupportTreeConfig::safety_distance_mm, Slic3r::opt::Optimizer< Method, Enable >::seed(), Slic3r::opt::StopCriteria::stop_score(), and Slic3r::opt::Optimizer< Method, Enable >::to_max().
Referenced by Slic3r::sla::DefaultSupportTree::connect_to_ground().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< DiffBridge > Slic3r::sla::search_widening_path | ( | Ex | policy, |
| const SupportableMesh & | sm, | ||
| const Vec3d & | jp, | ||
| const Vec3d & | dir, | ||
| double | radius, | ||
| double | new_radius | ||
| ) |
References beam_mesh_hit(), Slic3r::sla::SupportTreeConfig::bridge_slope, Slic3r::sla::SupportableMesh::cfg, Slic3r::AABBMesh::hit_result::distance(), Slic3r::sla::SupportableMesh::emesh, get_criteria(), ground_level(), Slic3r::sla::SupportTreeConfig::head_back_radius_mm, input(), Slic3r::sla::SupportTreeConfig::max_bridge_length_mm, Slic3r::opt::Optimizer< Method, Enable >::optimize(), PI, pinhead_mesh_hit(), Slic3r::sla::SupportTreeConfig::safety_distance(), Slic3r::opt::StopCriteria::stop_score(), and Slic3r::opt::Optimizer< Method, Enable >::to_max().
Referenced by create_ground_pillar(), and Slic3r::sla::DefaultSupportTree::search_widening_path().
Here is the call graph for this function:
Here is the caller graph for this function:| std::vector< ExPolygons > Slic3r::sla::slice | ( | const indexed_triangle_set & | sup_mesh, |
| const indexed_triangle_set & | pad_mesh, | ||
| const std::vector< float > & | grid, | ||
| float | cr, | ||
| const JobController & | ctl | ||
| ) |
References Slic3r::bounding_box(), Slic3r::sla::JobController::cancelfn, indexed_triangle_set::empty(), Slic3r::grid(), and Slic3r::slice_mesh_ex().
Referenced by Slic3r::SLAPrint::Steps::slice_supports().
Here is the call graph for this function:
Here is the caller graph for this function:| indexed_triangle_set Slic3r::sla::sphere | ( | double | rho, |
| Portion | portion, | ||
| double | fa | ||
| ) |
References Slic3r::angle(), floor(), indexed_triangle_set::indices, PI, and indexed_triangle_set::vertices.
Referenced by get_mesh(), and pinhead().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References indexed_triangle_set::indices.
Referenced by hollow_mesh(), and hollow_mesh().
Here is the caller graph for this function:References Slic3r::X, and Slic3r::Y.
Referenced by Slic3r::sla::ConcaveHull::add_connector_rectangles().
Here is the caller graph for this function:References Slic3r::X, and Slic3r::Y.
Referenced by Slic3r::sla::ConcaveHull::add_connector_rectangles().
Here is the caller graph for this function:| sla::DrainHoles Slic3r::sla::transformed_drainhole_points | ( | const ModelObject & | mo, |
| const Transform3d & | trafo | ||
| ) |
vol_trafo
References Slic3r::Geometry::Transformation::get_matrix(), pos(), Slic3r::ModelObject::sla_drain_holes, transformed_drainhole_points(), and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation().
Referenced by Slic3r::SLAPrintObject::transformed_drainhole_points(), and transformed_drainhole_points().
Here is the call graph for this function:
Here is the caller graph for this function:| SupportPoints Slic3r::sla::transformed_support_points | ( | const ModelObject & | mo, |
| const Transform3d & | trafo | ||
| ) |
References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::cast(), Slic3r::ModelObject::sla_support_points, and transformed_support_points().
Referenced by Slic3r::SLAPrintObject::transformed_support_points(), and transformed_support_points().
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
Referenced by Slic3r::sla::DefaultSupportTree::classify(), Slic3r::sla::DefaultSupportTree::connect_to_model_body(), Slic3r::sla::DefaultSupportTree::connect_to_nearpillar(), find_min_z_height_rotation(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::get_chull_rotations(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::get_supportedness_score(), and Slic3r::sla::BranchingTreeBuilder::suggest_avoidance().
|
constexpr |
|
constexpr |
Referenced by deepsearch_ground_connection().
Referenced by Slic3r::sla::DefaultSupportTree::add_pinheads(), Slic3r::sla::DefaultSupportTree::bridge_mesh_intersect(), Slic3r::sla::DefaultSupportTree::connect_to_ground(), Slic3r::sla::DefaultSupportTree::create_ground_pillar(), Slic3r::sla::DefaultSupportTree::pinhead_mesh_intersect(), Slic3r::sla::DefaultSupportTree::routing_to_model(), and Slic3r::sla::DefaultSupportTree::search_widening_path().