OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::orientation::OrientMesh Struct Reference

Input/Output structure for the orient() function. The mesh field will not be modified during orientment. Instead, the translation and rotation fields will mark the needed transformation for the polygon to be in the orientd position. These can also be set to an initial offset and rotation. More...

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

Collaboration diagram for Slic3r::orientation::OrientMesh:

Public Member Functions

void apply () const
 Helper function to call the setter with the orient data arguments.

Public Attributes

TriangleMesh mesh
double overhang_angle = 30
 The real mesh data.
double angle { 0 }
double angle_vertical { 0 }
Vec3d axis { 0,0,1 }
Vec3d axis_vertical { 0,0,1 }
Vec3d orientation { 0,0,1 }
Vec3d orientation_vertical { -1,0,0 }
Matrix3d rotation_matrix = Matrix3d::Identity()
Matrix3d rotation_matrix_vertical = Matrix3d::Identity()
Vec3d euler_angles = {0, 0, 0}
Vec3d euler_angles_vertical = {0, 0, 0}
Vec3d cooling_direction = {0, 0, 0}
bool has_cooling_fan {false}
std::string name
std::function< void(const OrientMesh &)> setter = nullptr
 Optional setter function which can store arbitrary data in its closure.

Detailed Description

Input/Output structure for the orient() function. The mesh field will not be modified during orientment. Instead, the translation and rotation fields will mark the needed transformation for the polygon to be in the orientd position. These can also be set to an initial offset and rotation.

The bed_idx field will indicate the logical bed into which the polygon belongs: UNORIENTD means no place for the polygon (also the initial state before orient), 0..N means the index of the bed. Zero is the physical bed, larger than zero means a virtual bed.

Member Function Documentation

◆ apply()

void Slic3r::orientation::OrientMesh::apply ( ) const
inline

Helper function to call the setter with the orient data arguments.

56{ if (setter) setter(*this); }
std::function< void(const OrientMesh &)> setter
Optional setter function which can store arbitrary data in its closure.
Definition Orient.hpp:53

References setter.

Member Data Documentation

◆ angle

double Slic3r::orientation::OrientMesh::angle { 0 }
37{ 0 };

◆ angle_vertical

double Slic3r::orientation::OrientMesh::angle_vertical { 0 }
38{ 0 };

◆ axis

Vec3d Slic3r::orientation::OrientMesh::axis { 0,0,1 }
39{ 0,0,1 };

◆ axis_vertical

Vec3d Slic3r::orientation::OrientMesh::axis_vertical { 0,0,1 }
40{ 0,0,1 };

◆ cooling_direction

Vec3d Slic3r::orientation::OrientMesh::cooling_direction = {0, 0, 0}

◆ euler_angles

Vec3d Slic3r::orientation::OrientMesh::euler_angles = {0, 0, 0}
45{0, 0, 0};

◆ euler_angles_vertical

Vec3d Slic3r::orientation::OrientMesh::euler_angles_vertical = {0, 0, 0}
46{0, 0, 0};

◆ has_cooling_fan

bool Slic3r::orientation::OrientMesh::has_cooling_fan {false}
48{false};

Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().

◆ mesh

TriangleMesh Slic3r::orientation::OrientMesh::mesh

◆ name

std::string Slic3r::orientation::OrientMesh::name

◆ orientation

Vec3d Slic3r::orientation::OrientMesh::orientation { 0,0,1 }
41{ 0,0,1 };

◆ orientation_vertical

Vec3d Slic3r::orientation::OrientMesh::orientation_vertical { -1,0,0 }
42{ -1,0,0 };

◆ overhang_angle

double Slic3r::orientation::OrientMesh::overhang_angle = 30

The real mesh data.

Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().

◆ rotation_matrix

Matrix3d Slic3r::orientation::OrientMesh::rotation_matrix = Matrix3d::Identity()

◆ rotation_matrix_vertical

Matrix3d Slic3r::orientation::OrientMesh::rotation_matrix_vertical = Matrix3d::Identity()

◆ setter

std::function<void(const OrientMesh&)> Slic3r::orientation::OrientMesh::setter = nullptr

Optional setter function which can store arbitrary data in its closure.

Referenced by apply(), and Slic3r::GUI::OrientJob::get_orient_mesh().


The documentation for this struct was generated from the following file:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Orient.hpp