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>
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. | |
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.
|
inline |
Helper function to call the setter with the orient data arguments.
References setter.
| double Slic3r::orientation::OrientMesh::angle { 0 } |
| double Slic3r::orientation::OrientMesh::angle_vertical { 0 } |
| Vec3d Slic3r::orientation::OrientMesh::axis { 0,0,1 } |
| Vec3d Slic3r::orientation::OrientMesh::axis_vertical { 0,0,1 } |
| Vec3d Slic3r::orientation::OrientMesh::cooling_direction = {0, 0, 0} |
Referenced by Slic3r::orientation::AutoOrienter::find_cooling_direction2(), and Slic3r::GUI::OrientJob::get_orient_mesh().
| Vec3d Slic3r::orientation::OrientMesh::euler_angles = {0, 0, 0} |
| Vec3d Slic3r::orientation::OrientMesh::euler_angles_vertical = {0, 0, 0} |
| bool Slic3r::orientation::OrientMesh::has_cooling_fan {false} |
Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().
| TriangleMesh Slic3r::orientation::OrientMesh::mesh |
Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().
| std::string Slic3r::orientation::OrientMesh::name |
Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().
| Vec3d Slic3r::orientation::OrientMesh::orientation { 0,0,1 } |
| Vec3d Slic3r::orientation::OrientMesh::orientation_vertical { -1,0,0 } |
| double Slic3r::orientation::OrientMesh::overhang_angle = 30 |
The real mesh data.
Referenced by Slic3r::GUI::OrientJob::get_orient_mesh().
| Matrix3d Slic3r::orientation::OrientMesh::rotation_matrix = Matrix3d::Identity() |
| Matrix3d Slic3r::orientation::OrientMesh::rotation_matrix_vertical = Matrix3d::Identity() |
| 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().