+
+
+ // Methods for copying mesh definition to other geometry
+
+ // Return geometry this hypothesis depends on. Return false if there is no geometry parameter
+ virtual bool getObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray ) const;
+
+ // Set new geometry instead of that returned by getObjectsDependOn()
+ virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray );
+
+ protected:
+
+ // to remember whether a parameter is already set (issue 0021364)
+ enum SettingMethod
+ {
+ METH_SetMaxSize = 1,
+ METH_SetMinSize = 2,
+ METH_SetSecondOrder = 4,
+ METH_SetOptimize = 8,
+ METH_SetFineness = 16,
+ METH_SetGrowthRate = 32,
+ METH_SetNbSegPerEdge = 64,
+ METH_SetNbSegPerRadius = 128,
+ METH_SetLocalSizeOnEntry = 256,
+ METH_SetQuadAllowed = METH_SetLocalSizeOnEntry * 2,
+ METH_SetSurfaceCurvature = METH_SetQuadAllowed * 2,
+ METH_SetFuseEdges = METH_SetSurfaceCurvature * 2,
+ METH_SetChordalErrorEnabled = METH_SetFuseEdges * 2,
+ METH_SetChordalError = METH_SetChordalErrorEnabled * 2,
+ METH_LAST = METH_SetChordalError
+ };
+ int mySetMethodFlags;
+
+ // Return true if a parameter is not yet set, else return true if a parameter changes.
+ // PythonDumping depends on the result of this function.
+ // Checking only change of a parameter is not enough because then the default values are
+ // not dumped and if the defaults will change then the behaviour of scripts
+ // created without dump of the default parameters will also change what is not good.
+ template<typename T>
+ bool isToSetParameter(T curValue, T newValue, /*SettingMethod*/int meth)
+ {
+ if ( mySetMethodFlags & meth ) // already set, check if a value is changing
+ return ( curValue != newValue );
+ else
+ return ( mySetMethodFlags |= meth ); // == return true
+ }
+
+ public:
+ // method intended to remove explicit treatment of Netgen hypotheses from
+ // SMESH_NoteBook to assure backward compatibility after implemeneting
+ // issue 0021308: Remove hard-coded dependency of the external mesh plugins
+ virtual int getParamIndex(const TCollection_AsciiString& method, int nbVars) const;
+
+ // method used to convert variable parameters stored in an old study
+ // into myMethod2VarParams. It should return a method name for an index of
+ // variable parameters. Index is countered from zero
+ virtual std::string getMethodOfParameter(const int paramIndex, int nbVars) const;