From 2737db260c131be15f7b477d027717fb9159ef09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Mon, 23 Dec 2013 14:49:00 +0100 Subject: [PATCH] calculate geometry point on the correct storage --- .../Assembly/App/opendcm/core/geometry.hpp | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/Mod/Assembly/App/opendcm/core/geometry.hpp b/src/Mod/Assembly/App/opendcm/core/geometry.hpp index 7ba4bf9f5..a56df5691 100644 --- a/src/Mod/Assembly/App/opendcm/core/geometry.hpp +++ b/src/Mod/Assembly/App/opendcm/core/geometry.hpp @@ -49,21 +49,21 @@ struct recalculated {}; //all supported geometry types for easy access and comparison namespace geometry { enum types { - parameter = 0, - direction, - point, - line, - segment, - circle, - arc, - geometry, - ellipse, - elliptical_arc, - plane, - cylinder + parameter = 0, + direction, + point, + line, + segment, + circle, + arc, + geometry, + ellipse, + elliptical_arc, + plane, + cylinder }; }//namespace geometry - + namespace tag { struct undefined { @@ -239,9 +239,9 @@ public: geometry::types getGeometryType() { return geometry::types(m_general_type); }; - + int getExactType() { - return m_exact_type; + return m_exact_type; }; //allow accessing the internal values in unittests without making them public, @@ -327,7 +327,13 @@ public: void recalculate(DiffTransform& trans); typename Kernel::Vector3 getPoint() { - return m_toplocal.template segment(0); + if(m_isInCluster) + return m_toplocal.template segment(0); + else if(m_init) + return m_rotated.template segment(0); + else + return m_global.template segment(0); + }; //use m_value or parametermap as new value, dependend on the solving mode