Gui: Rework TaskCSysDragger into new Transform Dialog
This commit refactor ViewProviderDragger and TaskCSysDragger to be more modern and to support selecting TransformOrigin.
This commit is contained in:
@@ -61,12 +61,7 @@ void GeoFeature::transformPlacement(const Base::Placement& transform)
|
||||
|
||||
Base::Placement GeoFeature::globalPlacement() const
|
||||
{
|
||||
auto* group = GeoFeatureGroupExtension::getGroupOfObject(this);
|
||||
if (group) {
|
||||
auto ext = group->getExtensionByType<GeoFeatureGroupExtension>();
|
||||
return ext->globalGroupPlacement() * Placement.getValue();
|
||||
}
|
||||
return Placement.getValue();
|
||||
return GeoFeature::getGlobalPlacement(this);
|
||||
}
|
||||
|
||||
const PropertyComplexGeoData* GeoFeature::getPropertyOfGeometry() const
|
||||
@@ -351,3 +346,20 @@ Base::Placement GeoFeature::getGlobalPlacement(App::DocumentObject* targetObj,
|
||||
|
||||
return getGlobalPlacement(targetObj, prop->getValue(), subs[0]);
|
||||
}
|
||||
|
||||
Base::Placement GeoFeature::getGlobalPlacement(const DocumentObject* obj)
|
||||
{
|
||||
auto placementProperty = obj->getPropertyByName<App::PropertyPlacement>("Placement");
|
||||
|
||||
if (!placementProperty) {
|
||||
return {};
|
||||
}
|
||||
|
||||
auto* group = GeoFeatureGroupExtension::getGroupOfObject(obj);
|
||||
if (group) {
|
||||
auto ext = group->getExtensionByType<GeoFeatureGroupExtension>();
|
||||
return ext->globalGroupPlacement() * placementProperty->getValue();
|
||||
}
|
||||
|
||||
return placementProperty->getValue();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user