// but it is useful that the user can change it to disable all preprocessing options
"remove_tiny_uv_edges", // default = 1
"compute_ridges", // true
+ "split_overconstrained_surface_edges", // default = 0
"" // mark of end
};
const char* preCADintOptionNames[] = { // "manifold_geometry", // default = 0
_defaultOptionValues["remove_tiny_uv_edges" ] = "no";
_defaultOptionValues["required_entities" ] = "respect";
_defaultOptionValues["sewing_tolerance" ] = "5e-4*D";
+ _defaultOptionValues["split_overconstrained_surface_edges" ] = "no";
_defaultOptionValues["tags" ] = "respect";
_defaultOptionValues["compute_ridges" ] = "yes";
}
{
return ToDbl( GetPreCADOptionValue("sewing_tolerance", GET_DEFAULT()));
}
+
+//=============================================================================
+void BLSURFPlugin_Hypothesis::SetSplitOverConstrainedSurfaceEdges( bool isOverConstrained )
+{
+ if ( GetSplitOverConstrainedSurfaceEdges() != isOverConstrained )
+ {
+ SetPreCADOptionValue("split_overconstrained_surface_edges", isOverConstrained ? "yes" : "no" );
+ NotifySubMeshesHypothesisModification();
+ }
+}
//=============================================================================
+bool BLSURFPlugin_Hypothesis::GetSplitOverConstrainedSurfaceEdges()
+{
+ return ToBool( GetPreCADOptionValue("split_overconstrained_surface_edges", GET_DEFAULT()));
+}
+//=============================================================================
void BLSURFPlugin_Hypothesis::SetTags( const std::string& howToTreat )
{
if ( howToTreat != "respect" && howToTreat != "ignore" && howToTreat != "clear" )
void SetSewingTolerance( double tol );
double GetSewingTolerance();
+ void SetSplitOverConstrainedSurfaceEdges( bool isOverConstrained );
+ bool GetSplitOverConstrainedSurfaceEdges();
+
void SetTags( const std::string& howToTreat );
std::string GetTags();
return -1;
}
//=============================================================================
+void BLSURFPlugin_Hypothesis_i::SetSplitOverConstrainedSurfaceEdges( CORBA::Boolean isOverConstrained )
+{
+ if ( GetSplitOverConstrainedSurfaceEdges() != isOverConstrained )
+ {
+ this->GetImpl()->SetSplitOverConstrainedSurfaceEdges(isOverConstrained);
+ SMESH::TPythonDump() << _this() << ".SetSplitOverConstrainedSurfaceEdges( " << isOverConstrained << " )";
+ }
+}
+//=============================================================================
+CORBA::Boolean BLSURFPlugin_Hypothesis_i::GetSplitOverConstrainedSurfaceEdges()
+{
+ return this->GetImpl()->GetSplitOverConstrainedSurfaceEdges();
+}
+//=============================================================================
void BLSURFPlugin_Hypothesis_i::SetTags( const char* howToTreat )
{
void SetSewingTolerance( CORBA::Double tol );
CORBA::Double GetSewingTolerance();
+ void SetSplitOverConstrainedSurfaceEdges( CORBA::Boolean isClosed );
+ CORBA::Boolean GetSplitOverConstrainedSurfaceEdges();
+
void SetTags( const char* howToTreat );
char* GetTags();
<source>sewing_tolerance</source>
<translation>Sewing tolerance</translation>
</message>
+ <message>
+ <source>split_overconstrained_surface_edges</source>
+ <translation>Split triangles at edges</translation>
+ </message>
<message>
<source>tags</source>
<translation>Tags</translation>
<source>sewing_tolerance</source>
<translation>Tolérance de fusion</translation>
</message>
+ <message>
+ <source>split_overconstrained_surface_edges</source>
+ <translation>Division triangles au bord</translation>
+ </message>
<message>
<source>tags</source>
<translation>Etiquettes</translation>
<source>sewing_tolerance</source>
<translation>繕いのトレランス</translation>
</message>
+ <message>
+ <source>split_overconstrained_surface_edges</source>
+ <translation>三角形を分割する</translation>
+ </message>
<message>
<source>tags</source>
<translation>タグ</translation>