Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2019-05-07 16:43:53 +0300
committerbubnikv <bubnikv@gmail.com>2019-05-07 16:43:53 +0300
commit6881911411f40abee6770c21074f70579ab5992b (patch)
treee53df7d24af889e2e16a229d75d425d85d5d31eb /src/slic3r/GUI/Selection.hpp
parenta351e99bac5e74f36319da3525e77f2ae8a705e9 (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.hpp6
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;