mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50:34 +05:00
PAL13473 (Build repetitive mesh):
in CheckHypothesis(), check that src shape is not equal to target one in the same mesh
This commit is contained in:
parent
4a217d2243
commit
44a5da549d
@ -132,11 +132,24 @@ bool StdMeshers_Projection_1D::CheckHypothesis(SMESH_Mesh&
|
|||||||
!TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), aShape ) ||
|
!TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), aShape ) ||
|
||||||
!TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(),
|
!TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(),
|
||||||
_sourceHypo->GetSourceEdge() ))
|
_sourceHypo->GetSourceEdge() ))
|
||||||
|
{
|
||||||
aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
|
aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(), srcMesh )));
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), tgtMesh )));
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), aShape ) ));
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(),
|
||||||
|
_sourceHypo->GetSourceEdge() )));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// check source edge
|
// check source edge
|
||||||
if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceEdge(), srcMesh ))
|
if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceEdge(), srcMesh ) ||
|
||||||
aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
|
( srcMesh == tgtMesh && aShape == _sourceHypo->GetSourceEdge() ))
|
||||||
|
{
|
||||||
|
aStatus = HYP_BAD_PARAMETER;
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceEdge(), srcMesh )));
|
||||||
|
SCRUTE((srcMesh == tgtMesh));
|
||||||
|
SCRUTE(( aShape == _sourceHypo->GetSourceEdge() ));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -133,10 +133,10 @@ bool StdMeshers_Projection_2D::CheckHypothesis(SMESH_Mesh&
|
|||||||
!TAssocTool::IsSubShape( edge, srcMesh ) ||
|
!TAssocTool::IsSubShape( edge, srcMesh ) ||
|
||||||
!TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() ))
|
!TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() ))
|
||||||
{
|
{
|
||||||
|
theStatus = HYP_BAD_PARAMETER;
|
||||||
SCRUTE((edge.IsNull()));
|
SCRUTE((edge.IsNull()));
|
||||||
SCRUTE((TAssocTool::IsSubShape( edge, srcMesh )));
|
SCRUTE((TAssocTool::IsSubShape( edge, srcMesh )));
|
||||||
SCRUTE((TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() )));
|
SCRUTE((TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() )));
|
||||||
theStatus = HYP_BAD_PARAMETER;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -147,17 +147,21 @@ bool StdMeshers_Projection_2D::CheckHypothesis(SMESH_Mesh&
|
|||||||
!TAssocTool::IsSubShape( edge, tgtMesh ) ||
|
!TAssocTool::IsSubShape( edge, tgtMesh ) ||
|
||||||
!TAssocTool::IsSubShape( edge, theShape ))
|
!TAssocTool::IsSubShape( edge, theShape ))
|
||||||
{
|
{
|
||||||
|
theStatus = HYP_BAD_PARAMETER;
|
||||||
SCRUTE((edge.IsNull()));
|
SCRUTE((edge.IsNull()));
|
||||||
SCRUTE((TAssocTool::IsSubShape( edge, tgtMesh )));
|
SCRUTE((TAssocTool::IsSubShape( edge, tgtMesh )));
|
||||||
SCRUTE((TAssocTool::IsSubShape( edge, theShape )));
|
SCRUTE((TAssocTool::IsSubShape( edge, theShape )));
|
||||||
theStatus = HYP_BAD_PARAMETER;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check a source face
|
// check a source face
|
||||||
if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceFace(), srcMesh )) {
|
if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceFace(), srcMesh ) ||
|
||||||
MESSAGE("Bad source face");
|
( srcMesh == tgtMesh && theShape == _sourceHypo->GetSourceFace() ))
|
||||||
|
{
|
||||||
theStatus = HYP_BAD_PARAMETER;
|
theStatus = HYP_BAD_PARAMETER;
|
||||||
|
SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceFace(), srcMesh )));
|
||||||
|
SCRUTE((srcMesh == tgtMesh));
|
||||||
|
SCRUTE(( theShape == _sourceHypo->GetSourceFace() ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user