#include <atomic>
#include <cassert>
#include <cstddef>
#include <optional>
#include <vector>
#include <unordered_map>
#include <utility>
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Polyline.hpp"
#include "libslic3r/Model.hpp"
#include "SeamPlacer.hpp"
Go to the source code of this file.
|
| namespace | Slic3r |
| | |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
|
| namespace | Slic3r::PreciseSeam |
|
| ModifierRegions | Slic3r::PreciseSeam::prepare_modifier_regions (ExPolygons regions) |
| ModifierSlices | Slic3r::PreciseSeam::prepare_modifier_slices (std::vector< ExPolygons > slices) |
| SegmentExtraction | Slic3r::PreciseSeam::extract_perimeter_segments (const PreparedPerimeter &prepared, const ModifierRegions &modifier, ModelVolumeType mode, const ExtractionContext &context) |
| void | Slic3r::PreciseSeam::init_precise_seam_data (std::vector< const ModelVolume * > &strong_volumes_out, std::vector< const ModelVolume * > &weak_volumes_out, bool &has_strong_out, const ModelObject *model_object) |
| std::optional< Point > | Slic3r::PreciseSeam::insert_strong_seam_point (const std::vector< const ModelVolume * > &strong_volumes, Polygon &polygon, const PreparedPerimeter &prepared, const Layer *layer, const ModifierRegionsCache &slices_cache, PreciseSeamWarnings *warnings) |
| std::vector< WeakModifierSegment > | Slic3r::PreciseSeam::collect_weak_modifier_segments (const std::vector< const ModelVolume * > &weak_volumes, Polygon &polygon, const PreparedPerimeter &prepared, const Layer *layer, const ModifierRegionsCache &slices_cache, PreciseSeamWarnings *warnings) |
| void | Slic3r::PreciseSeam::apply_weak_modifiers_to_perimeter (const std::vector< WeakModifierSegment > &weak_segments, PrintObjectSeamData::LayerSeams &result, const SeamPlacerImpl::Perimeter &perimeter, bool &some_point_enforced, PreciseSeamWarnings *warnings) |
| void | Slic3r::PreciseSeam::restore_precise_seam_positions (std::vector< PrintObjectSeamData::LayerSeams > &layers) |
◆ Slic3r::PreciseSeam::PreciseSeamWarnings::ModifierUsage
| struct Slic3r::PreciseSeam::PreciseSeamWarnings::ModifierUsage |
| Class Members |
|
atomic< bool > |
checked {false} |
|
|
atomic< bool > |
fully_blocked {false} |
|
|
atomic< bool > |
reached {false} |
|
◆ Slic3r::PreciseSeam::ExtractionContext
| struct Slic3r::PreciseSeam::ExtractionContext |
◆ Slic3r::PreciseSeam::PerimeterPosition
| struct Slic3r::PreciseSeam::PerimeterPosition |
| Class Members |
|
size_t |
edge_index |
|
|
double |
parameter |
|
◆ Slic3r::PreciseSeam::StrongSeamTarget
| struct Slic3r::PreciseSeam::StrongSeamTarget |
| Class Members |
|
size_t |
edge_index |
|
|
Point |
point |
|
◆ Slic3r::PreciseSeam::PerimeterSegment
| struct Slic3r::PreciseSeam::PerimeterSegment |
◆ Slic3r::PreciseSeam::SegmentExtraction
| struct Slic3r::PreciseSeam::SegmentExtraction |
| Class Members |
|
size_t |
discarded_fragments = 0 |
|
|
bool |
full_containment = false |
|
|
vector< PerimeterSegment > |
segments |
|
|
bool |
valid = true |
|
◆ Slic3r::PreciseSeam::WeakModifierSegment
| struct Slic3r::PreciseSeam::WeakModifierSegment |