#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Layer.hpp>
Public Member Functions | |
| Layer * | layer () |
| const Layer * | layer () const |
| const PrintRegion & | region () const |
| const SurfaceCollection & | get_slices () const |
| Flow | flow (FlowRole role) const |
| Flow | flow (FlowRole role, double layer_height) const |
| Flow | bridging_flow (FlowRole role, bool thick_bridge=false) const |
| void | slices_to_fill_surfaces_clipped () |
| void | prepare_fill_surfaces () |
| void | make_perimeters (const SurfaceCollection &slices, const LayerRegionPtrs &compatible_regions, SurfaceCollection *fill_surfaces, ExPolygons *fill_no_overlap) |
| void | process_external_surfaces (const Layer *lower_layer, const Polygons *lower_layer_covered) |
| double | infill_area_threshold () const |
| void | trim_surfaces (const Polygons &trimming_polygons) |
| void | elephant_foot_compensation_step (const float elephant_foot_compensation_perimeter_step, const Polygons &trimming_polygons) |
| void | export_region_slices_to_svg (const char *path) const |
| void | export_region_fill_surfaces_to_svg (const char *path) const |
| void | export_region_slices_to_svg_debug (const char *name) const |
| void | export_region_fill_surfaces_to_svg_debug (const char *name) const |
| bool | has_extrusions () const |
| void | simplify_infill_extrusion_entity () |
| void | simplify_wall_extrusion_entity () |
Protected Member Functions | |
| LayerRegion (Layer *layer, const PrintRegion *region) | |
| ~LayerRegion () | |
Private Member Functions | |
| void | simplify_entity_collection (ExtrusionEntityCollection *entity_collection) |
| void | simplify_path (ExtrusionPath *path) |
| void | simplify_multi_path (ExtrusionMultiPath *multipath) |
| void | simplify_loop (ExtrusionLoop *loop) |
Private Attributes | |
| Layer * | m_layer |
| const PrintRegion * | m_region |
Friends | |
| class | Layer |
| class | PrintObject |
|
inlineprotected |
|
inlineprotected |
References Slic3r::bridge_flow(), Slic3r::Flow::bridging_flow(), Slic3r::Print::config(), flow(), Slic3r::ConfigOptionFloatOrPercent::get_abs_value(), Slic3r::Flow::height(), Slic3r::Print::is_BBL_printer(), layer(), Slic3r::nozzle_diameter(), Slic3r::nozzle_diameter_for_filament(), Slic3r::Layer::object(), Slic3r::PrintObjectBaseWithState< PrintType, PrintObjectStepEnum, COUNT >::print(), PrintObject, Slic3r::PrintRegionConfig, region(), and Slic3r::Flow::with_flow_ratio().
Referenced by Slic3r::group_fills(), make_perimeters(), and Slic3r::SupportMaterialInternal::remove_bridges_from_contacts().
| void Slic3r::LayerRegion::elephant_foot_compensation_step | ( | const float | elephant_foot_compensation_perimeter_step, |
| const Polygons & | trimming_polygons ) |
References Slic3r::append(), Slic3r::diff(), elephant_foot_compensation_step(), Slic3r::intersection(), Slic3r::opening(), slices, Slic3r::stInternal, Slic3r::Surface::surface_type, and Slic3r::union_ex().
Referenced by elephant_foot_compensation_step().
| void Slic3r::LayerRegion::export_region_fill_surfaces_to_svg | ( | const char * | path | ) | const |
References Slic3r::SVG::Close(), Slic3r::SVG::draw(), Slic3r::SVG::draw_outline(), Slic3r::Surface::expolygon, export_region_fill_surfaces_to_svg(), Slic3r::export_surface_type_legend_to_svg(), Slic3r::export_surface_type_legend_to_svg_box_size(), fill_surfaces, Slic3r::get_extents(), Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), Slic3r::BoundingBoxBase< PointType, APointsType >::min, scale_, Slic3r::Surface::surface_type, and Slic3r::surface_type_to_color_name().
Referenced by export_region_fill_surfaces_to_svg(), and export_region_fill_surfaces_to_svg_debug().
| void Slic3r::LayerRegion::export_region_fill_surfaces_to_svg_debug | ( | const char * | name | ) | const |
References Slic3r::debug_out_path(), export_region_fill_surfaces_to_svg(), and export_region_fill_surfaces_to_svg_debug().
Referenced by Slic3r::PrintObject::clip_fill_surfaces(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), export_region_fill_surfaces_to_svg_debug(), prepare_fill_surfaces(), Slic3r::PrintObject::prepare_infill(), and process_external_surfaces().
| void Slic3r::LayerRegion::export_region_slices_to_svg | ( | const char * | path | ) | const |
References Slic3r::SVG::Close(), Slic3r::SVG::draw(), Slic3r::Surface::expolygon, export_region_slices_to_svg(), Slic3r::export_surface_type_legend_to_svg(), Slic3r::export_surface_type_legend_to_svg_box_size(), fill_surfaces, Slic3r::get_extents(), Slic3r::ExPolygon::lines(), Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), Slic3r::BoundingBoxBase< PointType, APointsType >::min, slices, Slic3r::Surface::surface_type, and Slic3r::surface_type_to_color_name().
Referenced by export_region_slices_to_svg(), and export_region_slices_to_svg_debug().
| void Slic3r::LayerRegion::export_region_slices_to_svg_debug | ( | const char * | name | ) | const |
References Slic3r::debug_out_path(), export_region_slices_to_svg(), and export_region_slices_to_svg_debug().
Referenced by Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), export_region_slices_to_svg_debug(), prepare_fill_surfaces(), and Slic3r::PrintObject::prepare_infill().
References flow(), and m_layer.
Referenced by bridging_flow(), Slic3r::PrintObject::clip_fill_surfaces(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), flow(), Slic3r::SupportSpotsGenerator::get_flow_width(), Slic3r::group_fills(), infill_area_threshold(), make_perimeters(), process_external_surfaces(), and Slic3r::SeamPlacerImpl::process_perimeter_polygon().
References Slic3r::layer_height(), m_layer, and m_region.
|
inline |
|
inline |
References Slic3r::ExtrusionEntityCollection::entities.
| double Slic3r::LayerRegion::infill_area_threshold | ( | ) | const |
References flow(), Slic3r::frSolidInfill, and infill_area_threshold().
Referenced by infill_area_threshold().
|
inline |
References Layer, and m_layer.
Referenced by LayerRegion(), bridging_flow(), Slic3r::contour_extrusion_path(), Slic3r::convert_layer_region_from_json(), Slic3r::Layer::generate_sparse_infill_polylines_for_anchoring(), Slic3r::group_fills(), Slic3r::Layer::make_fills(), make_perimeters(), prepare_fill_surfaces(), process_external_surfaces(), Slic3r::SeamPlacerImpl::process_perimeter_polygon(), Slic3r::SupportMaterialInternal::remove_bridges_from_contacts(), simplify_path(), and Slic3r::to_json().
|
inline |
| void Slic3r::LayerRegion::make_perimeters | ( | const SurfaceCollection & | slices, |
| const LayerRegionPtrs & | compatible_regions, | ||
| SurfaceCollection * | fill_surfaces, | ||
| ExPolygons * | fill_no_overlap ) |
References Slic3r::Arachne, bridging_flow(), Slic3r::Print::config(), Slic3r::PrintObject::config(), Slic3r::PrintRegion::config(), EPSILON, Slic3r::PerimeterGenerator::ext_perimeter_flow, fill_surfaces, flow(), Slic3r::frExternalPerimeter, Slic3r::frPerimeter, Slic3r::frSolidInfill, Slic3r::Layer::get_region(), Slic3r::Layer::id(), layer(), Slic3r::PerimeterGenerator::layer_id, Slic3r::PerimeterGenerator::lower_slices, Slic3r::Layer::lslices, Slic3r::Layer::object(), Slic3r::PerimeterGenerator::overhang_flow, perimeters, Slic3r::PrintObjectBaseWithState< PrintType, PrintObjectStepEnum, COUNT >::print(), Slic3r::PrintRegion::print_object_region_id(), Slic3r::Layer::print_z, Slic3r::PerimeterGenerator::printable_slices(), Slic3r::PrintObjectConfig, Slic3r::PrintRegionConfig, Slic3r::PerimeterGenerator::process_arachne(), Slic3r::PerimeterGenerator::process_classic(), region(), slices, Slic3r::PerimeterGenerator::solid_infill_flow, thin_fills, Slic3r::PrintObject::trafo(), Slic3r::Layer::upper_layer, Slic3r::PerimeterGenerator::upper_slices, and Slic3r::PerimeterGenerator::upper_slices_same_region.
Referenced by Slic3r::Layer::make_perimeters().
| void Slic3r::LayerRegion::prepare_fill_surfaces | ( | ) |
References Slic3r::bottom_shell_layers(), EPSILON, export_region_fill_surfaces_to_svg_debug(), export_region_slices_to_svg_debug(), fill_surfaces, Slic3r::PrintObject::infill_only_where_needed, Slic3r::Surface::is_bottom(), Slic3r::Surface::is_top(), layer(), prepare_fill_surfaces(), region(), Slic3r::sparse_infill_density(), Slic3r::stInternal, Slic3r::stInternalSolid, Slic3r::stInternalVoid, and Slic3r::Surface::surface_type.
Referenced by prepare_fill_surfaces().
| void Slic3r::LayerRegion::process_external_surfaces | ( | const Layer * | lower_layer, |
| const Polygons * | lower_layer_covered ) |
References Slic3r::Surface::bridge_angle, Slic3r::Algorithm::RegionExpansionParameters::build(), Slic3r::PrintRegion::config(), Slic3r::debug_out_path(), Slic3r::Geometry::deg2rad(), Slic3r::expand_bridges_detect_orientations(), Slic3r::expand_merge_surfaces(), export_region_fill_surfaces_to_svg_debug(), Slic3r::SurfaceCollection::export_to_svg(), fill_surfaces, Slic3r::fill_surfaces_extract_expolygons(), flow(), Slic3r::frExternalPerimeter, Slic3r::frPerimeter, Slic3r::frSolidInfill, Layer, layer(), Slic3r::Layer::object(), Slic3r::Layer::print_z, region(), scale_, Slic3r::scaled(), SCALED_EPSILON, Slic3r::Flow::scaled_spacing(), Slic3r::Flow::scaled_width(), Slic3r::sparse_infill_density(), Slic3r::stBottom, Slic3r::stBottomBridge, Slic3r::stTop, Slic3r::SurfaceCollection::surfaces, Slic3r::Surface::thickness, Slic3r::trace(), Slic3r::PrintObject::trafo(), and Slic3r::union_ex().
|
inline |
References m_region.
Referenced by LayerRegion(), bridging_flow(), Slic3r::PrintObject::clip_fill_surfaces(), Slic3r::contour_extrusion_path(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), Slic3r::Layer::generate_sparse_infill_polylines_for_anchoring(), Slic3r::group_fills(), Slic3r::Layer::make_fills(), Slic3r::Layer::make_perimeters(), make_perimeters(), prepare_fill_surfaces(), process_external_surfaces(), Slic3r::GCode::process_layer(), Slic3r::SupportMaterialInternal::remove_bridges_from_contacts(), and Slic3r::to_json().
|
private |
References Slic3r::ExtrusionEntityCollection::entities, simplify_entity_collection(), simplify_loop(), simplify_multi_path(), and simplify_path().
Referenced by simplify_entity_collection(), simplify_infill_extrusion_entity(), and simplify_wall_extrusion_entity().
|
inline |
|
private |
References Slic3r::ExtrusionLoop::paths, simplify_loop(), and simplify_path().
Referenced by simplify_entity_collection(), and simplify_loop().
|
private |
References Slic3r::ExtrusionMultiPath::paths, simplify_multi_path(), and simplify_path().
Referenced by simplify_entity_collection(), and simplify_multi_path().
|
private |
References Slic3r::Enabled, Slic3r::erInternalInfill, layer(), Slic3r::ExtrusionPath::role(), Slic3r::scaled(), SCALED_SPARSE_INFILL_RESOLUTION, Slic3r::ExtrusionPath::simplify(), Slic3r::ExtrusionPath::simplify_by_fitting_arc(), simplify_path(), and Slic3r::SparseInfill.
Referenced by simplify_entity_collection(), simplify_loop(), simplify_multi_path(), and simplify_path().
|
inline |
| void Slic3r::LayerRegion::slices_to_fill_surfaces_clipped | ( | ) |
References fill_expolygons, fill_surfaces, Slic3r::intersection_ex_by_piece(), slices, Slic3r::stCount, Slic3r::Surface::surface_type, Slic3r::to_expolygons(), and Slic3r::to_polygons().
| void Slic3r::LayerRegion::trim_surfaces | ( | const Polygons & | trimming_polygons | ) |
References Slic3r::intersection_ex(), slices, Slic3r::stInternal, Slic3r::Surface::surface_type, and trim_surfaces().
Referenced by trim_surfaces().
|
friend |
References Layer.
Referenced by LayerRegion(), Layer, layer(), layer(), and process_external_surfaces().
|
friend |
References PrintObject.
Referenced by bridging_flow(), and PrintObject.
| ExPolygons Slic3r::LayerRegion::fill_expolygons |
| ExPolygons Slic3r::LayerRegion::fill_no_overlap_expolygons |
Referenced by Slic3r::convert_layer_region_from_json(), Slic3r::group_fills(), and Slic3r::to_json().
| SurfaceCollection Slic3r::LayerRegion::fill_surfaces |
Referenced by Slic3r::PrintObject::clip_fill_surfaces(), Slic3r::convert_layer_region_from_json(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), export_region_fill_surfaces_to_svg(), export_region_slices_to_svg(), Slic3r::group_fills(), make_perimeters(), prepare_fill_surfaces(), process_external_surfaces(), Slic3r::SupportMaterialInternal::remove_bridges_from_contacts(), slices_to_fill_surfaces_clipped(), and Slic3r::to_json().
| ExtrusionEntityCollection Slic3r::LayerRegion::fills |
|
private |
Referenced by LayerRegion(), flow(), flow(), layer(), and layer().
|
private |
Referenced by LayerRegion(), flow(), and region().
| ExtrusionEntityCollection Slic3r::LayerRegion::perimeters |
| ExPolygons Slic3r::LayerRegion::raw_slices |
Referenced by Slic3r::convert_layer_region_from_json(), and Slic3r::to_json().
| SurfaceCollection Slic3r::LayerRegion::slices |
Referenced by Slic3r::convert_layer_region_from_json(), Slic3r::detect_contacts(), Slic3r::PrintObject::discover_horizontal_shells(), Slic3r::PrintObject::discover_vertical_shells(), elephant_foot_compensation_step(), export_region_slices_to_svg(), Slic3r::get_extents(), get_slices(), make_perimeters(), Slic3r::Layer::restore_untyped_slices_no_extra_perimeters(), slices_to_fill_surfaces_clipped(), Slic3r::to_json(), and trim_surfaces().
| ExtrusionEntityCollection Slic3r::LayerRegion::thin_fills |
Referenced by Slic3r::convert_layer_region_from_json(), make_perimeters(), and Slic3r::to_json().
| Polylines Slic3r::LayerRegion::unsupported_bridge_edges |