diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2020-01-17 14:12:38 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2020-01-17 14:12:38 +0300 |
commit | cc19e9c48f36da2484fea8cebb1074fad342f7fa (patch) | |
tree | 25a06e1fff726915aa2252933e30d2ac9d6c316a /src | |
parent | 94a3d38afd8fb6e55292d7b64ba92a6f57fed99c (diff) |
ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE set as default
Diffstat (limited to 'src')
-rw-r--r-- | src/libslic3r/Format/3mf.cpp | 21 | ||||
-rw-r--r-- | src/libslic3r/Format/AMF.cpp | 20 | ||||
-rw-r--r-- | src/libslic3r/Model.hpp | 4 | ||||
-rw-r--r-- | src/libslic3r/Technologies.hpp | 3 | ||||
-rw-r--r-- | src/slic3r/GUI/Plater.cpp | 10 |
5 files changed, 0 insertions, 58 deletions
diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index ab4848c9a..14177ed88 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -1717,9 +1717,6 @@ namespace Slic3r { break; } } -#if !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE - Transform3d inv_matrix = volume_matrix_to_object.inverse(); -#endif // !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE // splits volume out of imported geometry TriangleMesh triangle_mesh; @@ -1739,15 +1736,7 @@ namespace Slic3r { for (unsigned int v = 0; v < 3; ++v) { unsigned int tri_id = geometry.triangles[src_start_id + ii + v] * 3; -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE facet.vertex[v] = Vec3f(geometry.vertices[tri_id + 0], geometry.vertices[tri_id + 1], geometry.vertices[tri_id + 2]); -#else - Vec3f vertex(geometry.vertices[tri_id + 0], geometry.vertices[tri_id + 1], geometry.vertices[tri_id + 2]); - facet.vertex[v] = has_transform ? - // revert the vertices to the original mesh reference system - (inv_matrix * vertex.cast<double>()).cast<float>() : - vertex; -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE } } @@ -1755,15 +1744,9 @@ namespace Slic3r { triangle_mesh.repair(); ModelVolume* volume = object.add_volume(std::move(triangle_mesh)); -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE // stores the volume matrix taken from the metadata, if present if (has_transform) volume->source.transform = Slic3r::Geometry::Transformation(volume_matrix_to_object); -#else - // apply the volume matrix taken from the metadata, if present - if (has_transform) - volume->set_transformation(Slic3r::Geometry::Transformation(volume_matrix_to_object)); -#endif //ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE volume->calculate_convex_hull(); // apply the remaining volume's metadata @@ -2567,11 +2550,7 @@ namespace Slic3r { // stores volume's local matrix stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"" << MATRIX_KEY << "\" " << VALUE_ATTR << "=\""; -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE Transform3d matrix = volume->get_matrix() * volume->source.transform.get_matrix(); -#else - const Transform3d& matrix = volume->get_matrix(); -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE for (int r = 0; r < 4; ++r) { for (int c = 0; c < 4; ++c) diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index efb90f592..7041956ba 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -585,36 +585,20 @@ void AMFParserContext::endElement(const char * /* name */) stl_allocate(&stl); bool has_transform = ! m_volume_transform.isApprox(Transform3d::Identity(), 1e-10); -#if !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE - Transform3d inv_matrix = m_volume_transform.inverse(); -#endif // !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE for (size_t i = 0; i < m_volume_facets.size();) { stl_facet &facet = stl.facet_start[i/3]; for (unsigned int v = 0; v < 3; ++v) { unsigned int tri_id = m_volume_facets[i++] * 3; -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE facet.vertex[v] = Vec3f(m_object_vertices[tri_id + 0], m_object_vertices[tri_id + 1], m_object_vertices[tri_id + 2]); -#else - Vec3f vertex(m_object_vertices[tri_id + 0], m_object_vertices[tri_id + 1], m_object_vertices[tri_id + 2]); - facet.vertex[v] = has_transform ? - // revert the vertices to the original mesh reference system - (inv_matrix * vertex.cast<double>()).cast<float>() : - vertex; -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE } } stl_get_size(&stl); mesh.repair(); m_volume->set_mesh(std::move(mesh)); -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE // stores the volume matrix taken from the metadata, if present if (has_transform) m_volume->source.transform = Slic3r::Geometry::Transformation(m_volume_transform); -#else - if (has_transform) - m_volume->set_transformation(m_volume_transform); -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE if (m_volume->source.input_file.empty() && (m_volume->type() == ModelVolumeType::MODEL_PART)) { m_volume->source.object_idx = (int)m_model.objects.size() - 1; @@ -1163,11 +1147,7 @@ bool store_amf(const char *path, Model *model, const DynamicPrintConfig *config) stream << " <metadata type=\"slic3r.modifier\">1</metadata>\n"; stream << " <metadata type=\"slic3r.volume_type\">" << ModelVolume::type_to_string(volume->type()) << "</metadata>\n"; stream << " <metadata type=\"slic3r.matrix\">"; -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE const Transform3d& matrix = volume->get_matrix() * volume->source.transform.get_matrix(); -#else - const Transform3d& matrix = volume->get_matrix(); -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE stream << std::setprecision(std::numeric_limits<double>::max_digits10); for (int r = 0; r < 4; ++r) { diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 509c70b15..4c1a914c3 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -399,13 +399,9 @@ public: int object_idx{ -1 }; int volume_idx{ -1 }; Vec3d mesh_offset{ Vec3d::Zero() }; -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE Geometry::Transformation transform; template<class Archive> void serialize(Archive& ar) { ar(input_file, object_idx, volume_idx, mesh_offset, transform); } -#else - template<class Archive> void serialize(Archive& ar) { ar(input_file, object_idx, volume_idx, mesh_offset); } -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE }; Source source; diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 4d76c1b2f..be1fbd001 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -41,9 +41,6 @@ #define ENABLE_THUMBNAIL_GENERATOR (1 && ENABLE_2_2_0_ALPHA1) #define ENABLE_THUMBNAIL_GENERATOR_DEBUG (0 && ENABLE_THUMBNAIL_GENERATOR) -// Enable not applying volume transformation during 3mf and amf loading, but keeping it as a ModelVolume member -#define ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE (1 && ENABLE_2_2_0_ALPHA1) - //================== // 2.2.0.beta1 techs diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 69a3f6763..83570ae74 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3340,27 +3340,17 @@ void Plater::priv::reload_from_disk() new_volume->config.apply(old_volume->config); new_volume->set_type(old_volume->type()); new_volume->set_material_id(old_volume->material_id()); -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE new_volume->set_transformation(old_volume->get_transformation() * old_volume->source.transform); -#else - new_volume->set_transformation(old_volume->get_transformation()); -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE new_volume->translate(new_volume->get_transformation().get_matrix(true) * (new_volume->source.mesh_offset - old_volume->source.mesh_offset)); new_volume->source.input_file = path; std::swap(old_model_object->volumes[old_v.volume_idx], old_model_object->volumes.back()); old_model_object->delete_volume(old_model_object->volumes.size() - 1); -#if ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE old_model_object->ensure_on_bed(); -#endif // ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE } } } } -#if !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE - model.adjust_min_z(); -#endif // !ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE - // update 3D scene update(); |