Browse Source

Follow-up of 9e20d0ff173d7303bc02c4f39a025b29cb682b88 - Removal of obsolete struct VolumeCache::TransformCache

enricoturri1966 1 year ago
parent
commit
3c23e6d7c3
2 changed files with 7 additions and 51 deletions
  1. 1 14
      src/slic3r/GUI/Selection.cpp
  2. 6 37
      src/slic3r/GUI/Selection.hpp

+ 1 - 14
src/slic3r/GUI/Selection.cpp

@@ -32,19 +32,6 @@ static const Slic3r::ColorRGBA TRANSPARENT_PLANE_COLOR = { 0.8f, 0.8f, 0.8f, 0.5
 namespace Slic3r {
 namespace GUI {
 
-Selection::VolumeCache::TransformCache::TransformCache(const Geometry::Transformation& transform)
-    : position(transform.get_offset())
-    , rotation(transform.get_rotation())
-    , scaling_factor(transform.get_scaling_factor())
-    , mirror(transform.get_mirror())
-    , full_matrix(transform.get_matrix())
-    , transform(transform)
-    , rotation_matrix(transform.get_rotation_matrix())
-    , scale_matrix(transform.get_scaling_factor_matrix())
-    , mirror_matrix(transform.get_mirror_matrix())
-{
-}
-
 Selection::VolumeCache::VolumeCache(const Geometry::Transformation& volume_transform, const Geometry::Transformation& instance_transform)
     : m_volume(volume_transform)
     , m_instance(instance_transform)
@@ -953,7 +940,7 @@ void Selection::translate(const Vec3d& displacement, TransformationType transfor
             else {
                 Vec3d relative_disp = displacement;
                 if (transformation_type.world() && transformation_type.instance())
-                    relative_disp = volume_data.get_instance_scale_matrix().inverse() * relative_disp;
+                    relative_disp = volume_data.get_instance_transform().get_scaling_factor_matrix().inverse() * relative_disp;
 
                 transform_volume_relative(v, volume_data, transformation_type, Geometry::translation_transform(relative_disp), m_cache.dragging_center);
             }

+ 6 - 37
src/slic3r/GUI/Selection.hpp

@@ -57,46 +57,15 @@ public:
 private:
     struct VolumeCache
     {
-    private:
-        struct TransformCache
-        {
-            Vec3d position{ Vec3d::Zero() };
-            Vec3d rotation{ Vec3d::Zero() };
-            Vec3d scaling_factor{ Vec3d::Ones() };
-            Vec3d mirror{ Vec3d::Ones() };
-            Transform3d rotation_matrix{ Transform3d::Identity() };
-            Transform3d scale_matrix{ Transform3d::Identity() };
-            Transform3d mirror_matrix{ Transform3d::Identity() };
-            Transform3d full_matrix{ Transform3d::Identity() };
-            Geometry::Transformation transform;
-
-            TransformCache() = default;
-            explicit TransformCache(const Geometry::Transformation& transform);
-        };
-
-        TransformCache m_volume;
-        TransformCache m_instance;
-
-    public:
         VolumeCache() = default;
         VolumeCache(const Geometry::Transformation& volume_transform, const Geometry::Transformation& instance_transform);
 
-        const Vec3d& get_volume_position() const { return m_volume.position; }
-        const Transform3d& get_volume_rotation_matrix() const { return m_volume.rotation_matrix; }
-        const Transform3d& get_volume_scale_matrix() const { return m_volume.scale_matrix; }
-        const Transform3d& get_volume_mirror_matrix() const { return m_volume.mirror_matrix; }
-        const Transform3d& get_volume_full_matrix() const { return m_volume.full_matrix; }
-        const Geometry::Transformation& get_volume_transform() const { return m_volume.transform; }
-
-        const Vec3d& get_instance_position() const { return m_instance.position; }
-        const Vec3d& get_instance_rotation() const { return m_instance.rotation; }
-        const Vec3d& get_instance_scaling_factor() const { return m_instance.scaling_factor; }
-        const Vec3d& get_instance_mirror() const { return m_instance.mirror; }
-        const Transform3d& get_instance_rotation_matrix() const { return m_instance.rotation_matrix; }
-        const Transform3d& get_instance_scale_matrix() const { return m_instance.scale_matrix; }
-        const Transform3d& get_instance_mirror_matrix() const { return m_instance.mirror_matrix; }
-        const Transform3d& get_instance_full_matrix() const { return m_instance.full_matrix; }
-        const Geometry::Transformation& get_instance_transform() const { return m_instance.transform; }
+        const Geometry::Transformation& get_volume_transform() const { return m_volume; }
+        const Geometry::Transformation& get_instance_transform() const { return m_instance; }
+
+    private:
+        Geometry::Transformation m_volume;
+        Geometry::Transformation m_instance;
     };
 
 public: