[Sketcher] Attempt to fix toponaming issue on trim refactor
TNP fix algorithm doesn't seem to like when edge with geoId 0 is deleted/made construction after new geometry is added. Instead, we just ensure that one of the newly added geometries becomes geoId 0 instead. Making a `generateId(const Part::Geometry*)` was part of earlier attempts, but still appears to remain relevant. This part can be reverted if necessary.
This commit is contained in:
@@ -55,7 +55,8 @@ GeometryFacade::~GeometryFacade()
|
||||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<GeometryFacade> GeometryFacade::getFacade(Part::Geometry* geometry, bool owner)
|
||||
std::unique_ptr<GeometryFacade> GeometryFacade::getFacade(const Part::Geometry* geometry,
|
||||
bool owner)
|
||||
{
|
||||
if (geometry) {
|
||||
return std::unique_ptr<GeometryFacade>(new GeometryFacade(geometry, owner));
|
||||
@@ -67,17 +68,17 @@ std::unique_ptr<GeometryFacade> GeometryFacade::getFacade(Part::Geometry* geomet
|
||||
// return std::make_unique<GeometryFacade>(geometry);
|
||||
}
|
||||
|
||||
std::unique_ptr<const GeometryFacade> GeometryFacade::getFacade(const Part::Geometry* geometry)
|
||||
{
|
||||
if (geometry) {
|
||||
return std::unique_ptr<const GeometryFacade>(new GeometryFacade(geometry));
|
||||
}
|
||||
else {
|
||||
return std::unique_ptr<const GeometryFacade>(nullptr);
|
||||
}
|
||||
// make_unique has no access to private constructor
|
||||
// return std::make_unique<const GeometryFacade>(geometry);
|
||||
}
|
||||
// std::unique_ptr<const GeometryFacade> GeometryFacade::getFacade(const Part::Geometry* geometry)
|
||||
// {
|
||||
// if (geometry) {
|
||||
// return std::unique_ptr<const GeometryFacade>(new GeometryFacade(geometry));
|
||||
// }
|
||||
// else {
|
||||
// return std::unique_ptr<const GeometryFacade>(nullptr);
|
||||
// }
|
||||
// // make_unique has no access to private constructor
|
||||
// // return std::make_unique<const GeometryFacade>(geometry);
|
||||
// }
|
||||
|
||||
void GeometryFacade::setGeometry(Part::Geometry* geometry)
|
||||
{
|
||||
@@ -152,7 +153,7 @@ int GeometryFacade::getId(const Part::Geometry* geometry)
|
||||
return gf->getId();
|
||||
}
|
||||
|
||||
void GeometryFacade::setId(Part::Geometry* geometry, int id)
|
||||
void GeometryFacade::setId(const Part::Geometry* geometry, int id)
|
||||
{
|
||||
auto gf = GeometryFacade::getFacade(geometry);
|
||||
gf->setId(id);
|
||||
|
||||
Reference in New Issue
Block a user