self.Parameters().SetMeshSizeFile(file)
pass
+ ## Set size of elements on a shape
+ # @param shape - geometry
+ # @param size - element size
+ def SetLocalSizeOnShape(self, shape, size ):
+ self.Parameters().SetLocalSizeOnShape(shape, size)
+ pass
+
+
pass # end of NETGEN_Algorithm class
_chordalError (GetDefaultChordalError() ),
_secondOrder (GetDefaultSecondOrder()),
_optimize (GetDefaultOptimize()),
- _localSize (GetDefaultLocalSize()),
_quadAllowed (GetDefaultQuadAllowed()),
_surfaceCurvature (GetDefaultSurfaceCurvature()),
_fuseEdges (GetDefaultFuseEdges())
double GetChordalError() const { return _chordalError; }
typedef std::map<std::string, double> TLocalSize;
- static TLocalSize GetDefaultLocalSize() { return TLocalSize(); }
- void SetLocalSizeOnEntry(const std::string& entry, double localSize);
+ void SetLocalSizeOnEntry(const std::string& entry, double localSize);
double GetLocalSizeOnEntry(const std::string& entry);
const TLocalSize& GetLocalSizesAndEntries() const { return _localSize; }
void UnsetLocalSizeOnEntry(const std::string& entry);
}
return "";
}
+
+//================================================================================
+/*!
+ * \brief Return geometry this hypothesis depends on. Return false if there is no geometry parameter
+ */
+//================================================================================
+
+bool
+NETGENPlugin_Hypothesis_i::getObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray ) const
+{
+ typedef ::NETGENPlugin_Hypothesis THyp;
+
+ const THyp* h = static_cast< ::NETGENPlugin_Hypothesis* >( myBaseImpl );
+ const THyp::TLocalSize& ls = h->GetLocalSizesAndEntries();
+
+ THyp::TLocalSize::const_iterator entry2size = ls.cbegin();
+ for ( ; entry2size != ls.cend(); ++entry2size )
+ entryArray.push_back( entry2size->first );
+
+ return true;
+}
+
+//================================================================================
+/*!
+ * \brief Set new geometry instead of that returned by getObjectsDependOn()
+ */
+//================================================================================
+
+bool
+NETGENPlugin_Hypothesis_i::setObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray )
+{
+ typedef ::NETGENPlugin_Hypothesis THyp;
+
+ const THyp* h = static_cast< ::NETGENPlugin_Hypothesis* >( myBaseImpl );
+
+ THyp::TLocalSize& lsNew = const_cast< THyp::TLocalSize& >( h->GetLocalSizesAndEntries() );
+ THyp::TLocalSize ls;
+ lsNew.swap( ls );
+
+ THyp::TLocalSize::const_iterator entry2size = ls.cbegin();
+ for ( int i = 0; entry2size != ls.cend(); ++entry2size, ++i )
+ if ( !entryArray[ i ].empty() )
+ lsNew[ entryArray[ i ]] = entry2size->second;
+
+ return true;
+}
// Verify whether hypothesis supports given entity type
CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+ // 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)
METH_SetFuseEdges = METH_SetSurfaceCurvature * 2,
METH_SetChordalErrorEnabled = METH_SetFuseEdges * 2,
METH_SetChordalError = METH_SetChordalErrorEnabled * 2,
- METH_LAST = METH_SetFuseEdges
+ METH_LAST = METH_SetChordalError
};
int mySetMethodFlags;
// 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;
+
+
+ // 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 { return 0; }
+
+ // Set new geometry instead of that returned by getObjectsDependOn()
+ virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray ) { return true; }
};
#endif
// Verify whether hypothesis supports given entity type
CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+
+ // 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 { return 0; }
+
+ // Set new geometry instead of that returned by getObjectsDependOn()
+ virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
+ std::vector< int > & subIDArray ) { return true; }
};
#endif