Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - Volumes translation in all reference systems using Move gizmo and part manipulator fields

Fixed conflicts during rebase with master
This commit is contained in:
enricoturri1966 2021-11-04 10:07:11 +01:00
parent 4f1df27309
commit 5e5fdc4844
10 changed files with 151 additions and 22 deletions

View file

@ -2,6 +2,9 @@
#define slic3r_GUI_Selection_hpp_
#include "libslic3r/Geometry.hpp"
#if ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
#include "slic3r/GUI/GUI_Geometry.hpp"
#endif // ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
#include "GLModel.hpp"
#include <set>
@ -24,6 +27,7 @@ using ModelObjectPtrs = std::vector<ModelObject*>;
namespace GUI {
#if !ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
class TransformationType
{
public:
@ -76,6 +80,7 @@ private:
Enum m_value;
};
#endif // !ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
class Selection
{
@ -326,7 +331,11 @@ public:
void setup_cache();
#if ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
void translate(const Vec3d& displacement, ECoordinatesType type = ECoordinatesType::World);
#else
void translate(const Vec3d& displacement, bool local = false);
#endif // ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES
void rotate(const Vec3d& rotation, TransformationType transformation_type);
void flattening_rotate(const Vec3d& normal);
void scale(const Vec3d& scale, TransformationType transformation_type);