diff options
author | bubnikv <bubnikv@gmail.com> | 2019-05-07 16:43:53 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2019-05-07 16:43:53 +0300 |
commit | 6881911411f40abee6770c21074f70579ab5992b (patch) | |
tree | e53df7d24af889e2e16a229d75d425d85d5d31eb /src/slic3r/GUI/Selection.hpp | |
parent | a351e99bac5e74f36319da3525e77f2ae8a705e9 (diff) |
World / local coordinates: Fixed wrong scaling of a group selection,
changed the "anisotropic scaling" - "embed vertices" message,
fixed scaling in the world coordinate system, so it does not count
the modifiers into the bounding box size.
Diffstat (limited to 'src/slic3r/GUI/Selection.hpp')
-rw-r--r-- | src/slic3r/GUI/Selection.hpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/slic3r/GUI/Selection.hpp b/src/slic3r/GUI/Selection.hpp index d808bee07..4e5da3685 100644 --- a/src/slic3r/GUI/Selection.hpp +++ b/src/slic3r/GUI/Selection.hpp @@ -187,6 +187,8 @@ private: // is useful for absolute scaling of tilted objects in world coordinate space. mutable BoundingBoxf3 m_unscaled_instance_bounding_box; mutable bool m_unscaled_instance_bounding_box_dirty; + mutable BoundingBoxf3 m_scaled_instance_bounding_box; + mutable bool m_scaled_instance_bounding_box_dirty; #if ENABLE_RENDER_SELECTION_CENTER GLUquadricObj* m_quadric; @@ -272,6 +274,7 @@ public: // Bounding box of a selection, with no instance scaling applied. This bounding box // is useful for absolute scaling of tilted objects in world coordinate space. const BoundingBoxf3& get_unscaled_instance_bounding_box() const; + const BoundingBoxf3& get_scaled_instance_bounding_box() const; void start_dragging(); @@ -311,7 +314,8 @@ private: void do_remove_object(unsigned int object_idx); void calc_bounding_box() const; void calc_unscaled_instance_bounding_box() const; - void set_bounding_boxes_dirty() { m_bounding_box_dirty = true; m_unscaled_instance_bounding_box_dirty = true; } + void calc_scaled_instance_bounding_box() const; + void set_bounding_boxes_dirty() { m_bounding_box_dirty = true; m_unscaled_instance_bounding_box_dirty = true; m_scaled_instance_bounding_box_dirty = true; } void render_selected_volumes() const; void render_synchronized_volumes() const; void render_bounding_box(const BoundingBoxf3& box, float* color) const; |