Version: 9.16.0
SMESH::Filter_i Class Reference

#include <SMESH_Filter_i.hxx>

Inheritance diagram for SMESH::Filter_i:

Public Member Functions

 Filter_i ()
 
 ~Filter_i ()
 
virtual void SetPredicate (Predicate_ptr)
 
virtual void SetMesh (SMESH_Mesh_ptr)
 
virtual smIdType_arrayGetElementsId (SMESH_Mesh_ptr)
 
virtual smIdType_arrayGetElementsIdFromParts (const ListOfIDSources &theParts)
 
virtual ElementType GetElementType ()
 
virtual CORBA::Boolean GetCriteria (SMESH::Filter::Criteria_out theCriteria)
 
virtual CORBA::Boolean SetCriteria (const SMESH::Filter::Criteria &theCriteria)
 
virtual Predicate_ptr GetPredicate ()
 
Predicate_iGetPredicate_i ()
 
void FindBaseObjects ()
 Find groups it depends on. More...
 
virtual void OnBaseObjModified (NotifyerAndWaiter *group, bool removed)
 When notified on removal of myBaseGroups[i], remove a reference to a group from a predicate. More...
 
virtual SMESH::smIdType_arrayGetIDs ()
 
virtual SMESH::smIdType_arrayGetMeshInfo ()
 Returns number of mesh elements per each EntityType. More...
 
virtual SMESH::smIdType_arrayGetNbElementsByType ()
 Returns number of mesh elements of each ElementType. More...
 
virtual SMESH::array_of_ElementTypeGetTypes ()
 Return GetElementType() within an array Implement SMESH_IDSource interface. More...
 
virtual SMESH::SMESH_Mesh_ptr GetMesh ()
 
virtual bool IsMeshInfoCorrect ()
 
virtual SALOMEDS::TMPFile * GetVtkUgStream ()
 
void Modified (bool removed=false, NotifyerAndWaiter *who=0)
 calls OnBaseObjModified(), if who != this, and myWaiters[i]->Modified(who) More...
 
void AddModifWaiter (NotifyerAndWaiter *waiter)
 Stores an object to be notified on change of predicate. More...
 
void RemoveModifWaiter (NotifyerAndWaiter *waiter)
 Removes an object to be notified on change of predicate. More...
 
bool ContainModifWaiter (NotifyerAndWaiter *waiter)
 Checks if a waiter is among myWaiters, maybe nested. More...
 

Static Public Member Functions

static void GetElementsId (Predicate_i *, const SMDS_Mesh *, Controls::Filter::TIdSequence &)
 
static void GetElementsId (Predicate_i *, SMESH_Mesh_ptr, Controls::Filter::TIdSequence &)
 

Data Fields

std::list< NotifyerAndWaiter * > myWaiters
 

Private Attributes

Controls::Filter myFilter
 
Predicate_imyPredicate
 
SMESH_Mesh_var myMesh
 
std::vector< SMESH_GroupBase_i * > myBaseGroups
 

Constructor & Destructor Documentation

◆ Filter_i()

SMESH::Filter_i::Filter_i ( )

◆ ~Filter_i()

SMESH::Filter_i::~Filter_i ( )

Member Function Documentation

◆ AddModifWaiter()

void SMESH::NotifyerAndWaiter::AddModifWaiter ( NotifyerAndWaiter waiter)
inherited

Stores an object to be notified on change of predicate.

References SMESH::NotifyerAndWaiter::myWaiters.

Referenced by FindBaseObjects().

◆ ContainModifWaiter()

bool SMESH::NotifyerAndWaiter::ContainModifWaiter ( NotifyerAndWaiter waiter)
inherited

Checks if a waiter is among myWaiters, maybe nested.

References SMESH::NotifyerAndWaiter::myWaiters.

◆ FindBaseObjects()

void SMESH::Filter_i::FindBaseObjects ( )

◆ GetCriteria()

CORBA::Boolean SMESH::Filter_i::GetCriteria ( SMESH::Filter::Criteria_out  theCriteria)
virtual

◆ GetElementsId() [1/3]

void SMESH::Filter_i::GetElementsId ( Predicate_i thePredicate,
const SMDS_Mesh theMesh,
Controls::Filter::TIdSequence theSequence 
)
static

◆ GetElementsId() [2/3]

void SMESH::Filter_i::GetElementsId ( Predicate_i thePredicate,
SMESH_Mesh_ptr  theMesh,
Controls::Filter::TIdSequence theSequence 
)
static

◆ GetElementsId() [3/3]

SMESH::smIdType_array * SMESH::Filter_i::GetElementsId ( SMESH_Mesh_ptr  theMesh)
virtual

References GetElementsId(), and myPredicate.

◆ GetElementsIdFromParts()

◆ GetElementType()

◆ GetIDs()

SMESH::smIdType_array * SMESH::Filter_i::GetIDs ( )
virtual

References GetElementsId(), and myMesh.

◆ GetMesh()

SMESH::SMESH_Mesh_ptr SMESH::Filter_i::GetMesh ( )
virtual

References myMesh.

◆ GetMeshInfo()

◆ GetNbElementsByType()

SMESH::smIdType_array * SMESH::Filter_i::GetNbElementsByType ( )
virtual

◆ GetPredicate()

Predicate_ptr SMESH::Filter_i::GetPredicate ( )
virtual

References myPredicate.

◆ GetPredicate_i()

Predicate_i * SMESH::Filter_i::GetPredicate_i ( )

References myPredicate.

◆ GetTypes()

SMESH::array_of_ElementType * SMESH::Filter_i::GetTypes ( )
virtual

◆ GetVtkUgStream()

SALOMEDS::TMPFile * SMESH::Filter_i::GetVtkUgStream ( )
virtual

◆ IsMeshInfoCorrect()

virtual bool SMESH::Filter_i::IsMeshInfoCorrect ( )
virtual

◆ Modified()

◆ OnBaseObjModified()

void SMESH::Filter_i::OnBaseObjModified ( NotifyerAndWaiter group,
bool  removed 
)
virtual

When notified on removal of myBaseGroups[i], remove a reference to a group from a predicate.

Reimplemented from SMESH::NotifyerAndWaiter.

References FindBaseObjects(), SMESH::getPrediacates(), and myPredicate.

◆ RemoveModifWaiter()

void SMESH::NotifyerAndWaiter::RemoveModifWaiter ( NotifyerAndWaiter waiter)
inherited

Removes an object to be notified on change of predicate.

References SMESH::NotifyerAndWaiter::myWaiters.

◆ SetCriteria()

◆ SetMesh()

void SMESH::Filter_i::SetMesh ( SMESH_Mesh_ptr  theMesh)
virtual

◆ SetPredicate()

Field Documentation

◆ myBaseGroups

std::vector< SMESH_GroupBase_i* > SMESH::Filter_i::myBaseGroups
private

Referenced by FindBaseObjects().

◆ myFilter

Controls::Filter SMESH::Filter_i::myFilter
private

Referenced by SetPredicate().

◆ myMesh

SMESH_Mesh_var SMESH::Filter_i::myMesh
private

◆ myPredicate

◆ myWaiters