5 #include "GeoModelKernel/GeoAlignableTransform.h" 6 #include "GeoModelKernel/GeoClearAbsPosAction.h" 7 #include "GeoModelKernel/GeoVAlignmentStore.h" 8 #include "GeoSelClearAbsPosAction.h" 11 GeoAlignableTransform::GeoAlignableTransform (
const GeoTrf::Transform3D& transform)
17 GeoAlignableTransform::~GeoAlignableTransform()
24 const GeoTrf::Transform3D* delta = (store==
nullptr ? m_delta : store->getDelta(
this));
31 if(m_delta && (m_delta->isApprox(delta)))
return;
37 m_delta =
new GeoTrf::Transform3D(delta);
40 std::set<GeoGraphNode*> uniqueParents;
42 if(uniqueParents.find(parent)==uniqueParents.end()) {
45 uniqueParents.insert(parent);
50 store->setDelta(
this,delta);
57 if(store!=
nullptr)
return;
62 std::set<GeoGraphNode*> uniqueParents;
64 if(uniqueParents.find(parent)==uniqueParents.end()) {
67 uniqueParents.insert(parent);
74 m_parentList.push_back (parent);
This action class has been introduced in order to speed up GeoAlignableTransform::setDelta(), which is heavily used by alignment callbacks.
Abstract base class for GeoModel alignment stores The interface allows to store/retrieve transformati...
Represents Nodes that can be assembled together to make a graph. Subclasses (for now): ...