Object notified on change of base objects and notifying dependent objects in its turn. More...
#include <SMESH_Filter_i.hxx>
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 |
Object notified on change of base objects and notifying dependent objects in its turn.
This interface is used to track the following dependencies:
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 |
||
) |
calls OnBaseObjModified(), if who != this, and myWaiters[i]->Modified(who)
References myWaiters, and OnBaseObjModified().
Referenced by SMESH_Group_i::Add(), SMESH_Group_i::AddFrom(), ChangeByPredicate(), SMESH_Group_i::Clear(), SMESH_Group_i::Remove(), SMESH_Mesh_i::RemoveGroup(), and SMESH::Filter_i::SetPredicate().
|
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().
std::list<NotifyerAndWaiter*> SMESH::NotifyerAndWaiter::myWaiters |
Referenced by AddModifWaiter(), ContainModifWaiter(), Modified(), and RemoveModifWaiter().