mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-30 19:30:35 +05:00
PAL19272 CEA patch 4.1.1 / 3.2.9: problem with nodes or corners
Remove nodes on vertices at CLEAN event if !algo->NeedDescretBoundary()
This commit is contained in:
parent
553f9198f9
commit
886d5de06c
@ -625,16 +625,16 @@ SMESH_Hypothesis::Hypothesis_Status
|
|||||||
if ( ! CanAddHypothesis( anHyp )) // check dimension
|
if ( ! CanAddHypothesis( anHyp )) // check dimension
|
||||||
return SMESH_Hypothesis::HYP_BAD_DIM;
|
return SMESH_Hypothesis::HYP_BAD_DIM;
|
||||||
|
|
||||||
if(anHyp->GetDim() == 3 && !_father->HasShapeToMesh()
|
// EAP: __NOT__ Only NETGEN_3D and GHS3D_3D can be assigned to the Mesh w/o geometryy,
|
||||||
&& event == ADD_ALGO) {
|
// but any algo which !NeedShape()
|
||||||
//Only NETGEN_3D and GHS3D_3D can be assigned to the Mesh w/o geometryy
|
// if(anHyp->GetDim() == 3 && !_father->HasShapeToMesh()
|
||||||
bool isNetgen3D = (strcmp( "NETGEN_3D", anHyp->GetName()) == 0);
|
// && event == ADD_ALGO) {
|
||||||
bool isGhs3d = (strcmp( "GHS3D_3D", anHyp->GetName()) == 0);
|
// //Only NETGEN_3D and GHS3D_3D can be assigned to the Mesh w/o geometryy
|
||||||
if( !isNetgen3D && !isGhs3d)
|
// bool isNetgen3D = (strcmp( "NETGEN_3D", anHyp->GetName()) == 0);
|
||||||
return SMESH_Hypothesis::HYP_BAD_DIM;
|
// bool isGhs3d = (strcmp( "GHS3D_3D", anHyp->GetName()) == 0);
|
||||||
}
|
// if( !isNetgen3D && !isGhs3d)
|
||||||
|
// return SMESH_Hypothesis::HYP_BAD_DIM;
|
||||||
|
// }
|
||||||
|
|
||||||
if ( /*!anHyp->IsAuxiliary() &&*/ GetSimilarAttached( _subShape, anHyp ) )
|
if ( /*!anHyp->IsAuxiliary() &&*/ GetSimilarAttached( _subShape, anHyp ) )
|
||||||
return SMESH_Hypothesis::HYP_ALREADY_EXIST;
|
return SMESH_Hypothesis::HYP_ALREADY_EXIST;
|
||||||
@ -1223,7 +1223,10 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
|
|||||||
_computeState = READY_TO_COMPUTE;
|
_computeState = READY_TO_COMPUTE;
|
||||||
SMESHDS_SubMesh* smDS = GetSubMeshDS();
|
SMESHDS_SubMesh* smDS = GetSubMeshDS();
|
||||||
if ( smDS && smDS->NbNodes() ) {
|
if ( smDS && smDS->NbNodes() ) {
|
||||||
_computeState = COMPUTE_OK;
|
if ( event == CLEAN ) // this occures for algo which !NeedDescretBoundary() (PAL19272)
|
||||||
|
cleanSubMesh( this );
|
||||||
|
else
|
||||||
|
_computeState = COMPUTE_OK;
|
||||||
}
|
}
|
||||||
else if ( event == COMPUTE && !_alwaysComputed ) {
|
else if ( event == COMPUTE && !_alwaysComputed ) {
|
||||||
const TopoDS_Vertex & V = TopoDS::Vertex( _subShape );
|
const TopoDS_Vertex & V = TopoDS::Vertex( _subShape );
|
||||||
|
Loading…
Reference in New Issue
Block a user