X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FControls%2FSMESH_Controls.cxx;h=4aa92f1d286bdc826d53061b31d4f8753dbdec10;hp=2bf885a7a29a0d1500bc03e04f0818c4e2eda230;hb=283a9b4f5af948bec54f81e3296d3185933eda1b;hpb=08e0a4de43baa17209cefa536be155f1585297a0 diff --git a/src/Controls/SMESH_Controls.cxx b/src/Controls/SMESH_Controls.cxx index 2bf885a7a..4aa92f1d2 100644 --- a/src/Controls/SMESH_Controls.cxx +++ b/src/Controls/SMESH_Controls.cxx @@ -45,6 +45,7 @@ #include "SMDS_Iterator.hxx" #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMDS_VolumeTool.hxx" /* @@ -1165,6 +1166,37 @@ void MultiConnection2D::GetValues(MValues& theValues){ PREDICATES */ +/* + Class : BadOrientedVolume + Description : Predicate bad oriented volumes +*/ + +BadOrientedVolume::BadOrientedVolume() +{ + myMesh = 0; +} + +void BadOrientedVolume::SetMesh( SMDS_Mesh* theMesh ) +{ + myMesh = theMesh; +} + +bool BadOrientedVolume::IsSatisfy( long theId ) +{ + if ( myMesh == 0 ) + return false; + + SMDS_VolumeTool vTool( myMesh->FindElement( theId )); + return !vTool.IsForward(); +} + +SMDSAbs_ElementType BadOrientedVolume::GetType() const +{ + return SMDSAbs_Volume; +} + + + /* Class : FreeBorders Description : Predicate for free borders