Replace the flip word with mirror. #3060
This commit is contained in:
parent
f8d2c69713
commit
61f0a9e4da
@ -783,7 +783,7 @@ sub rotate {
|
|||||||
$self->schedule_background_process;
|
$self->schedule_background_process;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub flip {
|
sub mirror {
|
||||||
my ($self, $axis) = @_;
|
my ($self, $axis) = @_;
|
||||||
|
|
||||||
my ($obj_idx, $object) = $self->selected_object;
|
my ($obj_idx, $object) = $self->selected_object;
|
||||||
@ -792,13 +792,13 @@ sub flip {
|
|||||||
my $model_object = $self->{model}->objects->[$obj_idx];
|
my $model_object = $self->{model}->objects->[$obj_idx];
|
||||||
my $model_instance = $model_object->instances->[0];
|
my $model_instance = $model_object->instances->[0];
|
||||||
|
|
||||||
# apply Z rotation before flipping
|
# apply Z rotation before mirroring
|
||||||
if ($model_instance->rotation != 0) {
|
if ($model_instance->rotation != 0) {
|
||||||
$model_object->rotate($model_instance->rotation, Z);
|
$model_object->rotate($model_instance->rotation, Z);
|
||||||
$_->set_rotation(0) for @{ $model_object->instances };
|
$_->set_rotation(0) for @{ $model_object->instances };
|
||||||
}
|
}
|
||||||
|
|
||||||
$model_object->flip($axis);
|
$model_object->mirror($axis);
|
||||||
$model_object->update_bounding_box;
|
$model_object->update_bounding_box;
|
||||||
|
|
||||||
# realign object to Z = 0
|
# realign object to Z = 0
|
||||||
@ -1688,17 +1688,17 @@ sub object_menu {
|
|||||||
$self->rotate(undef, Z);
|
$self->rotate(undef, Z);
|
||||||
});
|
});
|
||||||
|
|
||||||
my $flipMenu = Wx::Menu->new;
|
my $mirrorMenu = Wx::Menu->new;
|
||||||
my $flipMenuItem = $menu->AppendSubMenu($flipMenu, "Flip", 'Mirror the selected object');
|
my $mirrorMenuItem = $menu->AppendSubMenu($mirrorMenu, "Mirror", 'Mirror the selected object');
|
||||||
$frame->_set_menu_item_icon($flipMenuItem, 'shape_flip_horizontal.png');
|
$frame->_set_menu_item_icon($mirrorMenuItem, 'shape_flip_horizontal.png');
|
||||||
$frame->_append_menu_item($flipMenu, "Along X axis…", 'Mirror the selected object along the X axis', sub {
|
$frame->_append_menu_item($mirrorMenu, "Along X axis…", 'Mirror the selected object along the X axis', sub {
|
||||||
$self->flip(X);
|
$self->mirror(X);
|
||||||
});
|
});
|
||||||
$frame->_append_menu_item($flipMenu, "Along Y axis…", 'Mirror the selected object along the Y axis', sub {
|
$frame->_append_menu_item($mirrorMenu, "Along Y axis…", 'Mirror the selected object along the Y axis', sub {
|
||||||
$self->flip(Y);
|
$self->mirror(Y);
|
||||||
});
|
});
|
||||||
$frame->_append_menu_item($flipMenu, "Along Z axis…", 'Mirror the selected object along the Z axis', sub {
|
$frame->_append_menu_item($mirrorMenu, "Along Z axis…", 'Mirror the selected object along the Z axis', sub {
|
||||||
$self->flip(Z);
|
$self->mirror(Z);
|
||||||
});
|
});
|
||||||
|
|
||||||
my $scaleMenu = Wx::Menu->new;
|
my $scaleMenu = Wx::Menu->new;
|
||||||
|
@ -529,10 +529,10 @@ ModelObject::rotate(float angle, const Axis &axis)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ModelObject::flip(const Axis &axis)
|
ModelObject::mirror(const Axis &axis)
|
||||||
{
|
{
|
||||||
for (ModelVolumePtrs::const_iterator v = this->volumes.begin(); v != this->volumes.end(); ++v) {
|
for (ModelVolumePtrs::const_iterator v = this->volumes.begin(); v != this->volumes.end(); ++v) {
|
||||||
(*v)->mesh.flip(axis);
|
(*v)->mesh.mirror(axis);
|
||||||
}
|
}
|
||||||
this->origin_translation = Pointf3(0,0,0);
|
this->origin_translation = Pointf3(0,0,0);
|
||||||
this->invalidate_bounding_box();
|
this->invalidate_bounding_box();
|
||||||
|
@ -130,7 +130,7 @@ class ModelObject
|
|||||||
void translate(coordf_t x, coordf_t y, coordf_t z);
|
void translate(coordf_t x, coordf_t y, coordf_t z);
|
||||||
void scale(const Pointf3 &versor);
|
void scale(const Pointf3 &versor);
|
||||||
void rotate(float angle, const Axis &axis);
|
void rotate(float angle, const Axis &axis);
|
||||||
void flip(const Axis &axis);
|
void mirror(const Axis &axis);
|
||||||
size_t materials_count() const;
|
size_t materials_count() const;
|
||||||
size_t facets_count() const;
|
size_t facets_count() const;
|
||||||
bool needed_repair() const;
|
bool needed_repair() const;
|
||||||
|
@ -230,7 +230,7 @@ void TriangleMesh::rotate_z(float angle)
|
|||||||
this->rotate(angle, Z);
|
this->rotate(angle, Z);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriangleMesh::flip(const Axis &axis)
|
void TriangleMesh::mirror(const Axis &axis)
|
||||||
{
|
{
|
||||||
if (axis == X) {
|
if (axis == X) {
|
||||||
stl_mirror_yz(&this->stl);
|
stl_mirror_yz(&this->stl);
|
||||||
@ -242,19 +242,19 @@ void TriangleMesh::flip(const Axis &axis)
|
|||||||
stl_invalidate_shared_vertices(&this->stl);
|
stl_invalidate_shared_vertices(&this->stl);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriangleMesh::flip_x()
|
void TriangleMesh::mirror_x()
|
||||||
{
|
{
|
||||||
this->flip(X);
|
this->mirror(X);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriangleMesh::flip_y()
|
void TriangleMesh::mirror_y()
|
||||||
{
|
{
|
||||||
this->flip(Y);
|
this->mirror(Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriangleMesh::flip_z()
|
void TriangleMesh::mirror_z()
|
||||||
{
|
{
|
||||||
this->flip(Z);
|
this->mirror(Z);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TriangleMesh::align_to_origin()
|
void TriangleMesh::align_to_origin()
|
||||||
|
@ -36,10 +36,10 @@ class TriangleMesh
|
|||||||
void rotate_x(float angle);
|
void rotate_x(float angle);
|
||||||
void rotate_y(float angle);
|
void rotate_y(float angle);
|
||||||
void rotate_z(float angle);
|
void rotate_z(float angle);
|
||||||
void flip(const Axis &axis);
|
void mirror(const Axis &axis);
|
||||||
void flip_x();
|
void mirror_x();
|
||||||
void flip_y();
|
void mirror_y();
|
||||||
void flip_z();
|
void mirror_z();
|
||||||
void align_to_origin();
|
void align_to_origin();
|
||||||
void rotate(double angle, Point* center);
|
void rotate(double angle, Point* center);
|
||||||
TriangleMeshPtrs split() const;
|
TriangleMeshPtrs split() const;
|
||||||
|
@ -100,7 +100,7 @@ my $cube = {
|
|||||||
my $slices = $m->slice([ 5, 10 ]);
|
my $slices = $m->slice([ 5, 10 ]);
|
||||||
is $slices->[0][0]->area, $slices->[1][0]->area, 'slicing a top tangent plane includes its area';
|
is $slices->[0][0]->area, $slices->[1][0]->area, 'slicing a top tangent plane includes its area';
|
||||||
}
|
}
|
||||||
$m->flip_z;
|
$m->mirror_z;
|
||||||
{
|
{
|
||||||
# this second test also checks that performing a second slice on a mesh after
|
# this second test also checks that performing a second slice on a mesh after
|
||||||
# a transformation works properly (shared_vertices is correctly invalidated);
|
# a transformation works properly (shared_vertices is correctly invalidated);
|
||||||
|
@ -183,7 +183,7 @@ ModelMaterial::attributes()
|
|||||||
void scale_xyz(Pointf3* versor)
|
void scale_xyz(Pointf3* versor)
|
||||||
%code{% THIS->scale(*versor); %};
|
%code{% THIS->scale(*versor); %};
|
||||||
void rotate(float angle, Axis axis);
|
void rotate(float angle, Axis axis);
|
||||||
void flip(Axis axis);
|
void mirror(Axis axis);
|
||||||
|
|
||||||
Model* cut(double z)
|
Model* cut(double z)
|
||||||
%code%{
|
%code%{
|
||||||
|
@ -23,9 +23,9 @@
|
|||||||
void rotate_x(float angle);
|
void rotate_x(float angle);
|
||||||
void rotate_y(float angle);
|
void rotate_y(float angle);
|
||||||
void rotate_z(float angle);
|
void rotate_z(float angle);
|
||||||
void flip_x();
|
void mirror_x();
|
||||||
void flip_y();
|
void mirror_y();
|
||||||
void flip_z();
|
void mirror_z();
|
||||||
void align_to_origin();
|
void align_to_origin();
|
||||||
void rotate(double angle, Point* center);
|
void rotate(double angle, Point* center);
|
||||||
TriangleMeshPtrs split();
|
TriangleMeshPtrs split();
|
||||||
|
Loading…
Reference in New Issue
Block a user