Version: 8.3.0
SMESH::NotifyerAndWaiter Struct Reference

Object notified on change of base objects and notifying dependent objects in its turn. More...

#include <SMESH_Filter_i.hxx>

Inheritance diagram for SMESH::NotifyerAndWaiter:

Public Member Functions

virtual void OnBaseObjModified (NotifyerAndWaiter *obj, bool removed)
 
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...
 

Data Fields

std::list< NotifyerAndWaiter * > myWaiters
 

Detailed Description

Object notified on change of base objects and notifying dependent objects in its turn.

This interface is used to track the following dependencies:

  • GroupOnFiler depending on Filter predicates
  • Filter depending on a Group via FT_BelongToMeshGroup predicate

Member Function Documentation

void NotifyerAndWaiter::AddModifWaiter ( NotifyerAndWaiter waiter)

Stores an object to be notified on change of predicate.

References myWaiters.

Referenced by SMESH::Filter_i::FindBaseObjects().

bool NotifyerAndWaiter::ContainModifWaiter ( NotifyerAndWaiter waiter)

Checks if a waiter is among myWaiters, maybe nested.

References myWaiters.

Referenced by SMESH_GroupBase_i::IsInDependency().

void NotifyerAndWaiter::Modified ( bool  removed = false,
NotifyerAndWaiter who = 0 
)
virtual void SMESH::NotifyerAndWaiter::OnBaseObjModified ( NotifyerAndWaiter obj,
bool  removed 
)
virtual

Reimplemented in SMESH::Filter_i.

Referenced by Modified().

void NotifyerAndWaiter::RemoveModifWaiter ( NotifyerAndWaiter waiter)

Removes an object to be notified on change of predicate.

References myWaiters.

Referenced by SMESH_GroupOnFilter_i::~SMESH_GroupOnFilter_i().

Field Documentation

std::list<NotifyerAndWaiter*> SMESH::NotifyerAndWaiter::myWaiters