OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::sla::Head Struct Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/SLA/SupportTreeBuilder.hpp>

Inheritance diagram for Slic3r::sla::Head:
Collaboration diagram for Slic3r::sla::Head:

Public Member Functions

void invalidate ()
bool is_valid () const
 Head (double r_big_mm, double r_small_mm, double length_mm, double penetration, const Vec3d &direction=DOWN, const Vec3d &offset={0, 0, 0})
double real_width () const
double fullwidth () const
Vec3d junction_point () const
double request_pillar_radius (double radius) const

Public Attributes

Vec3d dir = DOWN
Vec3d pos = {0, 0, 0}
double r_back_mm = 1
double r_pin_mm = 0.5
double width_mm = 2
double penetration_mm = 0.5
long pillar_id = ID_UNSET
long bridge_id = ID_UNSET
long id = ID_UNSET

Static Public Attributes

static const constexpr long ID_UNSET = -1

Detailed Description

Constructor & Destructor Documentation

◆ Head()

Slic3r::sla::Head::Head ( double r_big_mm,
double r_small_mm,
double length_mm,
double penetration,
const Vec3d & direction = DOWN,
const Vec3d & offset = {0, 0, 0} )
35 : dir(direction)
36 , pos(offset)
37 , r_back_mm(r_big_mm)
38 , r_pin_mm(r_small_mm)
39 , width_mm(length_mm)
40 , penetration_mm(penetration)
41{
42}
Slic3r::Polygons offset(const Slic3r::Polygon &polygon, const float delta, JoinType joinType, double miterLimit)
Definition ClipperUtils.cpp:582
Vec3d pos
Definition SupportTreeBuilder.hpp:80
double r_pin_mm
Definition SupportTreeBuilder.hpp:83
double r_back_mm
Definition SupportTreeBuilder.hpp:82
Vec3d dir
Definition SupportTreeBuilder.hpp:79
double penetration_mm
Definition SupportTreeBuilder.hpp:85
double width_mm
Definition SupportTreeBuilder.hpp:84

References dir, Slic3r::offset(), penetration_mm, pos, r_back_mm, r_pin_mm, and width_mm.

Here is the call graph for this function:

Member Function Documentation

◆ fullwidth()

double Slic3r::sla::Head::fullwidth ( ) const
inline
110 {
111 return real_width() - penetration_mm;
112 }
double real_width() const
Definition SupportTreeBuilder.hpp:104

References penetration_mm, and real_width().

Referenced by Slic3r::sla::SupportTreeBuildsteps::connect_to_model_body(), Slic3r::sla::get_mesh(), and junction_point().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ invalidate()

void Slic3r::sla::Head::invalidate ( )
inline
93{ id = ID_UNSET; }
static const constexpr long ID_UNSET
Definition SupportTreeBuilder.hpp:72

References Slic3r::sla::SupportTreeNode::ID_UNSET.

Referenced by Slic3r::sla::SupportTreeBuildsteps::classify().

Here is the caller graph for this function:

◆ is_valid()

bool Slic3r::sla::Head::is_valid ( ) const
inline
94{ return id >= 0; }

◆ junction_point()

Vec3d Slic3r::sla::Head::junction_point ( ) const
inline
115 {
116 return pos + (fullwidth() - r_back_mm) * dir;
117 }
double fullwidth() const
Definition SupportTreeBuilder.hpp:109

References dir, fullwidth(), pos, and r_back_mm.

Referenced by Slic3r::sla::SupportTreeBuilder::add_bridge(), Slic3r::sla::SupportTreeBuildsteps::classify(), Slic3r::sla::SupportTreeBuildsteps::connect_to_ground(), Slic3r::sla::SupportTreeBuildsteps::connect_to_ground(), Slic3r::sla::SupportTreeBuildsteps::connect_to_model_body(), Slic3r::sla::SupportTreeBuildsteps::connect_to_nearpillar(), Slic3r::sla::SupportTreeBuildsteps::routing_to_ground(), and Slic3r::sla::SupportTreeBuildsteps::search_pillar_and_connect().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ real_width()

double Slic3r::sla::Head::real_width ( ) const
inline
105 {
106 return 2 * r_pin_mm + width_mm + 2 * r_back_mm ;
107 }

References r_back_mm, r_pin_mm, and width_mm.

Referenced by fullwidth().

Here is the caller graph for this function:

◆ request_pillar_radius()

double Slic3r::sla::Head::request_pillar_radius ( double radius) const
inline
120 {
121 const double rmax = r_back_mm;
122 return radius > 0 && radius < rmax ? radius : rmax;
123 }

References r_back_mm.

Member Data Documentation

◆ bridge_id

long Slic3r::sla::Head::bridge_id = ID_UNSET

◆ dir

◆ id

◆ ID_UNSET

◆ penetration_mm

double Slic3r::sla::Head::penetration_mm = 0.5

Referenced by Head(), and fullwidth().

◆ pillar_id

long Slic3r::sla::Head::pillar_id = ID_UNSET

◆ pos

Vec3d Slic3r::sla::Head::pos = {0, 0, 0}
80{0, 0, 0};

Referenced by Head(), Slic3r::sla::get_mesh(), and junction_point().

◆ r_back_mm

◆ r_pin_mm

double Slic3r::sla::Head::r_pin_mm = 0.5

◆ width_mm

double Slic3r::sla::Head::width_mm = 2

The documentation for this struct was generated from the following files: