+ return aCreator;
+}
+
+//=============================================================================
+/*!
+ * SMESH_Gen_i::createHypothesis
+ *
+ * Create hypothesis of given type
+ */
+//=============================================================================
+SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName,
+ const char* theLibName)
+{
+ SMESH_Hypothesis_i* myHypothesis_i = 0;
+ SMESH::SMESH_Hypothesis_var hypothesis_i;
+ std::string aPlatformLibName;
+ typedef GenericHypothesisCreator_i* (*GetHypothesisCreator)(const char* );
+ GenericHypothesisCreator_i* aCreator = getHypothesisCreator(theHypName, theLibName, aPlatformLibName);
+ // create a new hypothesis object, store its ref. in studyContext
+ if(MYDEBUG) MESSAGE("Create Hypothesis " << theHypName);
+ myHypothesis_i =
+ myHypCreatorMap[string(theHypName)]->Create(myPoa, GetCurrentStudyID(), &myGen);
+ myHypothesis_i->SetLibName(aPlatformLibName.c_str()); // for persistency assurance