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_Wire.h>
14 #include <BuildPlugin_Validators.h>
16 // the only created instance of this plugin
17 static BuildPlugin_Plugin* MY_INSTANCE = new BuildPlugin_Plugin();
19 //=================================================================================================
20 BuildPlugin_Plugin::BuildPlugin_Plugin()
22 // Register validators.
23 SessionPtr aMgr = ModelAPI_Session::get();
24 ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
25 aFactory->registerValidator("BuildPlugin_ValidatorBaseForBuild",
26 new BuildPlugin_ValidatorBaseForBuild());
27 aFactory->registerValidator("BuildPlugin_ValidatorBaseForWire",
28 new BuildPlugin_ValidatorBaseForWire());
30 // Register this plugin.
31 ModelAPI_Session::get()->registerPlugin(this);
34 //=================================================================================================
35 FeaturePtr BuildPlugin_Plugin::createFeature(std::string theFeatureID)
37 if(theFeatureID == BuildPlugin_Vertex::ID()) {
38 return FeaturePtr(new BuildPlugin_Vertex());
39 } else if(theFeatureID == BuildPlugin_Wire::ID()) {
40 return FeaturePtr(new BuildPlugin_Wire());
43 // Feature of such kind is not found.