Function sla_trafo made accessible from outside SLAPrint.cpp unit
This commit is contained in:
parent
1c0aedbbe5
commit
5ae2f8a467
@ -122,10 +122,10 @@ void SLAPrint::clear()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Transformation without rotation around Z and without a shift by X and Y.
|
// Transformation without rotation around Z and without a shift by X and Y.
|
||||||
static Transform3d sla_trafo(const SLAPrint& p, const ModelObject &model_object)
|
Transform3d SLAPrint::sla_trafo(const ModelObject &model_object) const
|
||||||
{
|
{
|
||||||
|
|
||||||
Vec3d corr = p.relative_correction();
|
Vec3d corr = this->relative_correction();
|
||||||
|
|
||||||
ModelInstance &model_instance = *model_object.instances.front();
|
ModelInstance &model_instance = *model_object.instances.front();
|
||||||
Vec3d offset = model_instance.get_offset();
|
Vec3d offset = model_instance.get_offset();
|
||||||
@ -376,7 +376,7 @@ SLAPrint::ApplyStatus SLAPrint::apply(const Model &model, DynamicPrintConfig con
|
|||||||
bool sla_trafo_differs =
|
bool sla_trafo_differs =
|
||||||
model_object.instances.empty() != model_object_new.instances.empty() ||
|
model_object.instances.empty() != model_object_new.instances.empty() ||
|
||||||
(! model_object.instances.empty() &&
|
(! model_object.instances.empty() &&
|
||||||
(! sla_trafo(*this, model_object).isApprox(sla_trafo(*this, model_object_new)) ||
|
(! sla_trafo(model_object).isApprox(sla_trafo(model_object_new)) ||
|
||||||
model_object.instances.front()->is_left_handed() != model_object_new.instances.front()->is_left_handed()));
|
model_object.instances.front()->is_left_handed() != model_object_new.instances.front()->is_left_handed()));
|
||||||
if (model_parts_differ || sla_trafo_differs) {
|
if (model_parts_differ || sla_trafo_differs) {
|
||||||
// The very first step (the slicing step) is invalidated. One may freely remove all associated PrintObjects.
|
// The very first step (the slicing step) is invalidated. One may freely remove all associated PrintObjects.
|
||||||
@ -453,7 +453,7 @@ SLAPrint::ApplyStatus SLAPrint::apply(const Model &model, DynamicPrintConfig con
|
|||||||
|
|
||||||
// FIXME: this invalidates the transformed mesh in SLAPrintObject
|
// FIXME: this invalidates the transformed mesh in SLAPrintObject
|
||||||
// which is expensive to calculate (especially the raw_mesh() call)
|
// which is expensive to calculate (especially the raw_mesh() call)
|
||||||
print_object->set_trafo(sla_trafo(*this, model_object), model_object.instances.front()->is_left_handed());
|
print_object->set_trafo(sla_trafo(model_object), model_object.instances.front()->is_left_handed());
|
||||||
|
|
||||||
print_object->set_instances(std::move(new_instances));
|
print_object->set_instances(std::move(new_instances));
|
||||||
|
|
||||||
|
@ -421,6 +421,9 @@ public:
|
|||||||
// Extracted value from the configuration objects
|
// Extracted value from the configuration objects
|
||||||
Vec3d relative_correction() const;
|
Vec3d relative_correction() const;
|
||||||
|
|
||||||
|
// Return sla tansformation for a given model_object
|
||||||
|
Transform3d sla_trafo(const ModelObject &model_object) const;
|
||||||
|
|
||||||
std::string output_filename(const std::string &filename_base = std::string()) const override;
|
std::string output_filename(const std::string &filename_base = std::string()) const override;
|
||||||
|
|
||||||
const SLAPrintStatistics& print_statistics() const { return m_print_statistics; }
|
const SLAPrintStatistics& print_statistics() const { return m_print_statistics; }
|
||||||
|
Loading…
Reference in New Issue
Block a user