*
* The only API method here is SMESH_2smeshpy::ConvertScript(), the rest ones are
* for internal usage
+ *
+ * See comments to _pyHypothesis class to know how to assure convertion of a new hypothesis
*/
class Resource_DataMapOfAsciiStringAsciiString;
static TCollection_AsciiString GetWord( const TCollection_AsciiString & theSring,
int & theStartPos, const bool theForward,
const bool dotIsWord = false);
+ DEFINE_STANDARD_RTTI (_pyCommand)
};
/*!
int GetCommandNb() { return myCreationCmd->GetOrderNb(); }
virtual void Process(const Handle(_pyCommand) & theCommand) = 0;
virtual void Flush() = 0;
+
+ DEFINE_STANDARD_RTTI (_pyObject)
};
/*!
std::list< Handle(_pyCommand) > myCommands;
int myNbCommands;
Resource_DataMapOfAsciiStringAsciiString& myID2AccessorMethod;
+
+ DEFINE_STANDARD_RTTI (_pyGen)
};
/*!
private:
static void AddMeshAccess( const Handle(_pyCommand)& theCommand )
{ theCommand->SetObject( theCommand->GetObject() + ".GetMesh()" ); }
+
+ DEFINE_STANDARD_RTTI (_pyMesh)
};
/*!
- * \brief Root class for smesh.Mesh_Algorithm
+ * \brief Root class for hypothesis
+ *
+ * HOWTO assure convertion of a new hypothesis
+ * In NewHypothesis():
+ * 1. add a case for the name of the new hypothesis and
+ * 2. initialize _pyHypothesis fields:
+ * . myDim - hypothesis dimention;
+ * . myType - type name of the algorithm creating the hypothesis;
+ * . myCreationMethod - method name of the algorithm creating the hypothesis;
+ * . append to myArgMethods interface methods setting param values in the
+ * order they are used when myCreationMethod is called. It is supposed that
+ * each interface method sets only one parameter, if it is not so, you are
+ * to derive a specific class from _pyHypothesis that would redefine Process(),
+ * see _pyComplexParamHypo for example
*/
class _pyHypothesis: public _pyObject
{
// void SetGeom( const _pyID& theGeomID ) { myGeom = theGeomID; }
void Process( const Handle(_pyCommand)& theCommand);
void Flush();
+
+ DEFINE_STANDARD_RTTI (_pyHypothesis)
};
/*!
public:
_pyComplexParamHypo(const Handle(_pyCommand)& theCreationCmd): _pyHypothesis(theCreationCmd) {}
void Process( const Handle(_pyCommand)& theCommand);
+
+ DEFINE_STANDARD_RTTI (_pyComplexParamHypo)
};
DEFINE_STANDARD_HANDLE (_pyComplexParamHypo, _pyHypothesis);
_pyNumberOfSegmentsHyp(const Handle(_pyCommand)& theCrCmd): _pyHypothesis(theCrCmd) {}
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
const _pyID& theMesh);
+
+ DEFINE_STANDARD_RTTI (_pyNumberOfSegmentsHyp)
};
DEFINE_STANDARD_HANDLE (_pyNumberOfSegmentsHyp, _pyHypothesis);
_pyAlgorithm(const Handle(_pyCommand)& theCreationCmd);
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
const _pyID& theMesh);
+
+ DEFINE_STANDARD_RTTI (_pyAlgorithm)
};
#endif