From 3663cfbd0ea966bf83af474a3cc0a37666c614bc Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 8 Apr 2017 13:31:28 +0200 Subject: [PATCH] add method to create new tag id --- src/Mod/Part/App/Geometry.cpp | 27 ++++++++++++++++----------- src/Mod/Part/App/Geometry.h | 2 ++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index b457a90ff8..c7c58ab0da 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -183,17 +183,7 @@ TYPESYSTEM_SOURCE_ABSTRACT(Part::Geometry,Base::Persistence) Geometry::Geometry() : Construction(false) { - // Initialize a random number generator, to avoid Valgrind false positives. - static boost::mt19937 ran; - static bool seeded = false; - - if (!seeded) { - ran.seed(static_cast(std::time(0))); - seeded = true; - } - static boost::uuids::basic_random_generator gen(&ran); - - tag = gen(); + createNewTag(); } Geometry::~Geometry() @@ -225,6 +215,21 @@ boost::uuids::uuid Geometry::getTag() const return tag; } +void Geometry::createNewTag() +{ + // Initialize a random number generator, to avoid Valgrind false positives. + static boost::mt19937 ran; + static bool seeded = false; + + if (!seeded) { + ran.seed(static_cast(std::time(0))); + seeded = true; + } + static boost::uuids::basic_random_generator gen(&ran); + + tag = gen(); +} + // ------------------------------------------------- TYPESYSTEM_SOURCE(Part::GeomPoint,Part::Geometry) diff --git a/src/Mod/Part/App/Geometry.h b/src/Mod/Part/App/Geometry.h index 4fe9efe18b..fb338e7372 100644 --- a/src/Mod/Part/App/Geometry.h +++ b/src/Mod/Part/App/Geometry.h @@ -87,6 +87,8 @@ public: bool Construction; /// returns the tag of the geometry object boost::uuids::uuid getTag() const; + /// create a new tag for the geometry object + void createNewTag(); protected: Geometry();