mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-30 16:42:43 +00:00
XYZ mirroring from plater
This commit is contained in:
@@ -193,6 +193,21 @@ void TriangleMesh::rotate_z(float angle)
|
||||
stl_rotate_z(&(this->stl), angle);
|
||||
}
|
||||
|
||||
void TriangleMesh::flip_x()
|
||||
{
|
||||
stl_mirror_yz(&this->stl);
|
||||
}
|
||||
|
||||
void TriangleMesh::flip_y()
|
||||
{
|
||||
stl_mirror_xz(&this->stl);
|
||||
}
|
||||
|
||||
void TriangleMesh::flip_z()
|
||||
{
|
||||
stl_mirror_xy(&this->stl);
|
||||
}
|
||||
|
||||
void TriangleMesh::align_to_origin()
|
||||
{
|
||||
this->translate(
|
||||
|
||||
@@ -34,6 +34,9 @@ class TriangleMesh
|
||||
void rotate_x(float angle);
|
||||
void rotate_y(float angle);
|
||||
void rotate_z(float angle);
|
||||
void flip_x();
|
||||
void flip_y();
|
||||
void flip_z();
|
||||
void align_to_origin();
|
||||
void rotate(double angle, Point* center);
|
||||
TriangleMeshPtrs split() const;
|
||||
|
||||
@@ -295,6 +295,9 @@ stl_mirror_xy(stl_file *stl)
|
||||
stl->stats.max.z = temp_size;
|
||||
stl->stats.min.z *= -1.0;
|
||||
stl->stats.max.z *= -1.0;
|
||||
stl_reverse_all_facets(stl);
|
||||
stl->stats.facets_reversed -= stl->stats.number_of_facets; // for not altering stats
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
@@ -316,6 +319,8 @@ stl_mirror_yz(stl_file *stl)
|
||||
stl->stats.max.x = temp_size;
|
||||
stl->stats.min.x *= -1.0;
|
||||
stl->stats.max.x *= -1.0;
|
||||
stl_reverse_all_facets(stl);
|
||||
stl->stats.facets_reversed -= stl->stats.number_of_facets; // for not altering stats
|
||||
}
|
||||
|
||||
void
|
||||
@@ -337,6 +342,8 @@ stl_mirror_xz(stl_file *stl)
|
||||
stl->stats.max.y = temp_size;
|
||||
stl->stats.min.y *= -1.0;
|
||||
stl->stats.max.y *= -1.0;
|
||||
stl_reverse_all_facets(stl);
|
||||
stl->stats.facets_reversed -= stl->stats.number_of_facets; // for not altering stats
|
||||
}
|
||||
|
||||
static float get_volume(stl_file *stl)
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
void rotate_x(float angle);
|
||||
void rotate_y(float angle);
|
||||
void rotate_z(float angle);
|
||||
void flip_x();
|
||||
void flip_y();
|
||||
void flip_z();
|
||||
void align_to_origin();
|
||||
void rotate(double angle, Point* center);
|
||||
TriangleMeshPtrs split();
|
||||
|
||||
Reference in New Issue
Block a user