1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
3 // File: BuildPlugin_Plugin.cpp
4 // Created: 18 April 2016
5 // Author: Dmitry Bobylev
7 #include "BuildPlugin_Plugin.h"
9 #include <ModelAPI_Session.h>
10 #include <ModelAPI_Validator.h>
12 #include <BuildPlugin_Vertex.h>
13 #include <BuildPlugin_Edge.h>
14 #include <BuildPlugin_Wire.h>
15 #include <BuildPlugin_Validators.h>
17 // the only created instance of this plugin
18 static BuildPlugin_Plugin* MY_INSTANCE = new BuildPlugin_Plugin();
20 //=================================================================================================
21 BuildPlugin_Plugin::BuildPlugin_Plugin()
23 // Register validators.
24 SessionPtr aMgr = ModelAPI_Session::get();
25 ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
26 aFactory->registerValidator("BuildPlugin_ValidatorBaseForBuild",
27 new BuildPlugin_ValidatorBaseForBuild());
28 aFactory->registerValidator("BuildPlugin_ValidatorBaseForWire",
29 new BuildPlugin_ValidatorBaseForWire());
31 // Register this plugin.
32 ModelAPI_Session::get()->registerPlugin(this);
35 //=================================================================================================
36 FeaturePtr BuildPlugin_Plugin::createFeature(std::string theFeatureID)
38 if(theFeatureID == BuildPlugin_Vertex::ID()) {
39 return FeaturePtr(new BuildPlugin_Vertex());
40 } else if(theFeatureID == BuildPlugin_Edge::ID()) {
41 return FeaturePtr(new BuildPlugin_Edge());
42 } else if(theFeatureID == BuildPlugin_Wire::ID()) {
43 return FeaturePtr(new BuildPlugin_Wire());
46 // Feature of such kind is not found.