OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
SketchEngine.hpp File Reference
#include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/Point.hpp"
#include <gp_Pln.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax3.hxx>
#include <gp_Vec.hxx>
#include <TopoDS_Wire.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Face.hxx>
#include <vector>
#include <utility>
Include dependency graph for SketchEngine.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::SketchSegment
struct  Slic3r::SketchEntity
struct  Slic3r::SketchPlane
struct  Slic3r::SketchProfile
struct  Slic3r::SketchConstraintDef
struct  Slic3r::SketchEntityConstraintDef
struct  Slic3r::ConstraintPlan
class  Slic3r::SketchEngine

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/

Enumerations

enum class  Slic3r::SketchConstraintType {
  Slic3r::Fix , Slic3r::Coincident , Slic3r::Horizontal , Slic3r::Vertical ,
  Slic3r::Distance , Slic3r::LockX , Slic3r::LockY , Slic3r::EqualLength ,
  Slic3r::Parallel , Slic3r::Perpendicular , Slic3r::Concentric , Slic3r::Tangent ,
  Slic3r::Midpoint , Slic3r::Symmetric , Slic3r::Angle , Slic3r::Radius ,
  Slic3r::Diameter , Slic3r::PointOnLine , Slic3r::PointOnObject , Slic3r::EqualRadius ,
  Slic3r::Collinear , Slic3r::DistanceX , Slic3r::DistanceY , Slic3r::SymmetricAboutY ,
  Slic3r::SymmetricAboutX
}
enum class  Slic3r::SketchPointRole { Slic3r::P0 , Slic3r::P1 , Slic3r::Center }
enum class  Slic3r::ConstraintReject {
  Slic3r::None , Slic3r::NeedOneEntity , Slic3r::NeedTwoEntities , Slic3r::NeedALine ,
  Slic3r::NeedTwoLines , Slic3r::NeedTwoRounds , Slic3r::NeedTangentPair , Slic3r::NeedJoinablePoints ,
  Slic3r::NeedMeasurablePoints , Slic3r::NeedPointAndLine , Slic3r::NeedTwoPointsOrLines , Slic3r::NeedAxisLine ,
  Slic3r::NeedRound , Slic3r::Unsupported
}

Functions

double Slic3r::sketch_join_tol ()
void Slic3r::set_sketch_auto_close (bool on)
bool Slic3r::is_sketch_ref (int ei)
int Slic3r::sketch_entity_ends (const SketchEntity &e, std::pair< SketchPointRole, Vec2d > out[2])
bool Slic3r::sketch_closest_ends (const SketchEntity &A, const SketchEntity &B, SketchPointRole &ra, SketchPointRole &rb, Vec2d &pa, Vec2d &pb)
bool Slic3r::sketch_loop_defect (const std::vector< SketchEntity > &ents, const std::vector< int > &order, Vec2d &at)
ConstraintPlan Slic3r::plan_entity_constraint (const std::vector< SketchEntity > &ents, int e0, int e1, int e2, SketchConstraintType type)
bool Slic3r::solve_sketch_entities (std::vector< SketchEntity > &entities, const std::vector< SketchEntityConstraintDef > &constraints)
std::vector< Vec2d > Slic3r::sketch_open_ends (const std::vector< SketchEntity > &entities, const SketchPlane &)

Variables

constexpr double Slic3r::kSketchJoinTol = 1e-3
constexpr int Slic3r::kSketchRefOrigin = -2
constexpr int Slic3r::kSketchRefAxisX = -3
constexpr int Slic3r::kSketchRefAxisY = -4