PAL7358. Add BadOrientedVolume predicate

This commit is contained in:
eap 2005-01-21 12:21:36 +00:00
parent 08e0a4de43
commit 283a9b4f5a
2 changed files with 48 additions and 0 deletions

View File

@ -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

View File

@ -304,6 +304,22 @@ namespace SMESH{
};
/*
Class : BadOrientedVolume
Description : Predicate bad oriented volumes
*/
class BadOrientedVolume: public virtual Predicate{
public:
BadOrientedVolume();
virtual void SetMesh( SMDS_Mesh* theMesh );
virtual bool IsSatisfy( long theElementId );
virtual SMDSAbs_ElementType GetType() const;
protected:
SMDS_Mesh* myMesh;
};
/*
Class : FreeEdges
Description : Predicate for free Edges