1 // File: ModuleBase_Tools.cpp
2 // Created: 11 July 2014
3 // Author: Vitaly Smetannikov
5 #include "ModuleBase_Tools.h"
6 #include <ModelAPI_ResultBody.h>
7 #include <ModelAPI_ResultConstruction.h>
8 #include <ModelAPI_Document.h>
10 namespace ModuleBase_Tools
13 //******************************************************************
14 boost::shared_ptr<GeomAPI_Shape> shape(ResultPtr theResult)
16 ResultBodyPtr aBody = boost::dynamic_pointer_cast<ModelAPI_ResultBody>(theResult);
18 return aBody->shape();
20 ResultConstructionPtr aConstruct = boost::dynamic_pointer_cast<ModelAPI_ResultConstruction>(theResult);
22 return aConstruct->shape();
24 return boost::shared_ptr<GeomAPI_Shape>();
27 //******************************************************************
28 FeaturePtr feature(ObjectPtr theObject)
30 FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(theObject);
32 ResultPtr aResult = boost::dynamic_pointer_cast<ModelAPI_Result>(theObject);
34 PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
35 DocumentPtr aDoc = aMgr->rootDocument();
36 return aDoc->feature(aResult);