_param_algo_dim = 1; // is used by SMESH_Regular_1D
_mesh = 0;
+ _fineness = 0;
}
//=============================================================================
{
}
+//================================================================================
+/*!
+ * \brief Set Fineness
+ * \param theFineness - The Fineness value [0.0-1.0],
+ * 0 - coarse mesh
+ * 1 - fine mesh
+ *
+ * Raise if theFineness is out of range
+ * The "Initial Number of Elements on the Shortest Edge" (S0)
+ * is divided by (0.5 + 4.5 x theFineness)
+ */
+//================================================================================
+
+void StdMeshers_AutomaticLength::SetFineness(double theFineness)
+ throw(SALOME_Exception)
+{
+ if ( theFineness < 0.0 || theFineness > 1.0 )
+ throw SALOME_Exception(LOCALIZED("theFineness is out of range [0.0-1.0]"));
+
+ if ( _fineness != theFineness )
+ {
+ NotifySubMeshesHypothesisModification();
+ _fineness = theFineness;
+ }
+}
+
//================================================================================
/*!
* \brief Return pointer to TopoDS_TShape
if ( tshape_length == _TShapeToLength.end() )
return 1; // it is a dgenerated edge
- return tshape_length->second;
+ return tshape_length->second / (0.5 + 4.5 * _fineness);
}
//=============================================================================
ostream & StdMeshers_AutomaticLength::SaveTo(ostream & save)
{
+ save << _fineness;
return save;
}
istream & StdMeshers_AutomaticLength::LoadFrom(istream & load)
{
+ if ( ! ( load >> _fineness ))
+ load.clear(ios::badbit | load.rdstate());
return load;
}