Version: 9.16.0
SMESH_GroupOnFilter_i Class Reference

#include <SMESH_Group_i.hxx>

Inheritance diagram for SMESH_GroupOnFilter_i:

Public Member Functions

 SMESH_GroupOnFilter_i (PortableServer::POA_ptr thePOA, SMESH_Mesh_i *theMeshServant, const int theLocalID)
 
 ~SMESH_GroupOnFilter_i ()
 Destructor of SMESH_GroupOnFilter_i. More...
 
std::string FilterToString () const
 Return a string to be used to store group definition in the study. More...
 
void SetFilter (SMESH::Filter_ptr theFilter)
 Sets the filter defining group contents. More...
 
SMESH::Filter_ptr GetFilter ()
 Return the filter defining group contents. More...
 
virtual CORBA::Boolean IsUpToDate ()
 
virtual SMESH::smIdType_arrayGetListOfID ()
 
virtual SMESH::smIdType_arrayGetMeshInfo ()
 Return statistic of mesh elements Result array of number enityties Inherited from SMESH_IDSource. More...
 
virtual bool IsMeshInfoCorrect ()
 
virtual void OnBaseObjModified (NotifyerAndWaiter *filter, bool)
 Method called when a predicate of myFilter changes. More...
 
void SetName (const char *name)
 
char * GetName ()
 
SMESH::ElementType GetType ()
 
SMESH::smIdType Size ()
 
CORBA::Boolean IsEmpty ()
 
CORBA::Boolean Contains (SMESH::smIdType elem_id)
 
SMESH::smIdType GetID (SMESH::smIdType elem_index)
 Return ID of theIndex-th group item. More...
 
SMESH::smIdType_arrayGetNodeIDs ()
 Return IDs of nodes of cells included to the group. More...
 
SMESH::smIdType GetNumberOfNodes ()
 return the number of nodes of cells included to the group More...
 
CORBA::Boolean IsNodeInfoAvailable ()
 Return true if GetNumberOfNodes() won't take a long time for computation. More...
 
virtual SMESH::SMESH_Mesh_ptr GetMesh ()
 
virtual SMESH::smIdType_arrayGetNbElementsByType ()
 Returns number of mesh elements of each ElementType. More...
 
virtual SMESH::smIdType_arrayGetIDs ()
 Returns a sequence of all element IDs. More...
 
virtual SMESH::array_of_ElementTypeGetTypes ()
 Returns types of elements it contains Inherited from SMESH_IDSource interface. More...
 
virtual SALOMEDS::TMPFile * GetVtkUgStream ()
 Returns mesh unstructed grid information. More...
 
virtual CORBA::Boolean IsInDependency (SMESH::SMESH_GroupBase_ptr other)
 Returns true if this group depends on the other via FT_BelongToMeshGroup predicate or vice versa. More...
 
int GetLocalID () const
 
SMESH_Mesh_iGetMeshServant () const
 
SMESH_GroupGetSmeshGroup () const
 
SMESHDS_GroupBaseGetGroupDS () const
 
void SetColor (const SALOMEDS::Color &color)
 
SALOMEDS::Color GetColor ()
 
void SetColorNumber (CORBA::Long color)
 
CORBA::Long GetColorNumber ()
 
virtual void OnBaseObjModified (NotifyerAndWaiter *, bool)
 
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 SMESH::Filter_ptr StringToFilter (const std::string &thePersistentString)
 Restore the filter by the persistent string. More...
 
static SMESH_PredicatePtr GetPredicate (SMESH::Filter_ptr)
 Retrieves the predicate from the filter. More...
 

Data Fields

std::list< NotifyerAndWaiter * > myWaiters
 

Protected Member Functions

SMESH_PreMeshInfo *& changePreMeshInfo ()
 

Protected Attributes

SMESH_PreMeshInfomyPreMeshInfo
 
int myNbNodes
 
int myGroupDSTic
 

Private Member Functions

void changeLocalId (int localId)
 

Private Attributes

SMESH::Filter_var myFilter
 
SMESH_Mesh_imyMeshServant
 
int myLocalID
 

Constructor & Destructor Documentation

◆ SMESH_GroupOnFilter_i()

SMESH_GroupOnFilter_i::SMESH_GroupOnFilter_i ( PortableServer::POA_ptr  thePOA,
SMESH_Mesh_i theMeshServant,
const int  theLocalID 
)

◆ ~SMESH_GroupOnFilter_i()

SMESH_GroupOnFilter_i::~SMESH_GroupOnFilter_i ( )

Destructor of SMESH_GroupOnFilter_i.

References myFilter.

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 SMESH::Filter_i::FindBaseObjects().

◆ changeLocalId()

void SMESH_GroupBase_i::changeLocalId ( int  localId)
privateinherited

◆ changePreMeshInfo()

SMESH_PreMeshInfo *& SMESH_GroupBase_i::changePreMeshInfo ( )
protectedinherited

◆ ContainModifWaiter()

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

Checks if a waiter is among myWaiters, maybe nested.

References SMESH::NotifyerAndWaiter::myWaiters.

◆ Contains()

CORBA::Boolean SMESH_GroupBase_i::Contains ( SMESH::smIdType  elem_id)
inherited

◆ FilterToString()

◆ GetColor()

SALOMEDS::Color SMESH_GroupBase_i::GetColor ( )
inherited

◆ GetColorNumber()

CORBA::Long SMESH_GroupBase_i::GetColorNumber ( )
inherited

◆ GetFilter()

SMESH::Filter_ptr SMESH_GroupOnFilter_i::GetFilter ( )

Return the filter defining group contents.

References myFilter.

◆ GetGroupDS()

◆ GetID()

SMESH::smIdType SMESH_GroupBase_i::GetID ( SMESH::smIdType  elem_index)
inherited

◆ GetIDs()

SMESH::smIdType_array * SMESH_GroupBase_i::GetIDs ( )
virtualinherited

Returns a sequence of all element IDs.

References SMESH_GroupBase_i::GetListOfID().

◆ GetListOfID()

◆ GetLocalID()

int SMESH_GroupBase_i::GetLocalID ( ) const
inherited

◆ GetMesh()

SMESH::SMESH_Mesh_ptr SMESH_GroupBase_i::GetMesh ( )
virtualinherited

◆ GetMeshInfo()

SMESH::smIdType_array * SMESH_GroupOnFilter_i::GetMeshInfo ( )
virtual

Return statistic of mesh elements Result array of number enityties Inherited from SMESH_IDSource.

Reimplemented from SMESH_GroupBase_i.

References SMESH::Entity_Last, SMESH::Entity_Node, SMESH_GroupBase_i::GetGroupDS(), GetMeshInfo(), SMESH_PreMeshInfo::GetMeshInfo(), SMESH_GroupBase_i::GetNumberOfNodes(), SMESH_GroupBase_i::myPreMeshInfo, SMDSAbs_Node, and SMDSEntity_Node.

Referenced by GetMeshInfo().

◆ GetMeshServant()

◆ GetName()

char * SMESH_GroupBase_i::GetName ( )
inherited

◆ GetNbElementsByType()

SMESH::smIdType_array * SMESH_GroupBase_i::GetNbElementsByType ( )
virtualinherited

◆ GetNodeIDs()

◆ GetNumberOfNodes()

◆ GetPredicate()

SMESH_PredicatePtr SMESH_GroupOnFilter_i::GetPredicate ( SMESH::Filter_ptr  filter)
static

Retrieves the predicate from the filter.

Referenced by SMESH_Mesh_i::CreateGroupFromFilter(), SMESH_Gen_i::Load(), OnBaseObjModified(), and SetFilter().

◆ GetSmeshGroup()

◆ GetType()

◆ GetTypes()

SMESH::array_of_ElementType * SMESH_GroupBase_i::GetTypes ( )
virtualinherited

Returns types of elements it contains Inherited from SMESH_IDSource interface.

References SMESH_GroupBase_i::GetType(), and SMESH_GroupBase_i::IsEmpty().

◆ GetVtkUgStream()

SALOMEDS::TMPFile * SMESH_GroupBase_i::GetVtkUgStream ( )
virtualinherited

Returns mesh unstructed grid information.

◆ IsEmpty()

◆ IsInDependency()

bool SMESH_GroupBase_i::IsInDependency ( SMESH::SMESH_GroupBase_ptr  other)
virtualinherited

Returns true if this group depends on the other via FT_BelongToMeshGroup predicate or vice versa.

◆ IsMeshInfoCorrect()

bool SMESH_GroupOnFilter_i::IsMeshInfoCorrect ( )
virtual
Returns
false in two cases: 1) if mesh not loaded and GetMeshInfo() returns incorrect information 2) mesh loaded but group contents is not computed.

Reimplemented from SMESH_GroupBase_i.

References SMESH_PreMeshInfo::IsMeshInfoCorrect(), IsUpToDate(), and SMESH_GroupBase_i::myPreMeshInfo.

◆ IsNodeInfoAvailable()

CORBA::Boolean SMESH_GroupBase_i::IsNodeInfoAvailable ( )
inherited

◆ IsUpToDate()

CORBA::Boolean SMESH_GroupOnFilter_i::IsUpToDate ( )
virtual
Returns
true if group contents is computed

References SMESH_GroupBase_i::GetGroupDS(), and SMESH_GroupBase_i::myPreMeshInfo.

Referenced by IsMeshInfoCorrect().

◆ Modified()

void SMESH::NotifyerAndWaiter::Modified ( bool  removed = false,
NotifyerAndWaiter who = 0 
)
inherited

◆ OnBaseObjModified() [1/2]

virtual void SMESH::NotifyerAndWaiter::OnBaseObjModified ( NotifyerAndWaiter ,
bool   
)
virtualinherited

Reimplemented in SMESH::Filter_i.

Referenced by SMESH::NotifyerAndWaiter::Modified().

◆ OnBaseObjModified() [2/2]

void SMESH_GroupOnFilter_i::OnBaseObjModified ( NotifyerAndWaiter *  filter,
bool   
)
virtual

◆ RemoveModifWaiter()

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

Removes an object to be notified on change of predicate.

References SMESH::NotifyerAndWaiter::myWaiters.

◆ SetColor()

void SMESH_GroupBase_i::SetColor ( const SALOMEDS::Color &  color)
inherited

◆ SetColorNumber()

void SMESH_GroupBase_i::SetColorNumber ( CORBA::Long  color)
inherited

◆ SetFilter()

◆ SetName()

◆ Size()

◆ StringToFilter()

Field Documentation

◆ myFilter

SMESH::Filter_var SMESH_GroupOnFilter_i::myFilter
private

◆ myGroupDSTic

int SMESH_GroupBase_i::myGroupDSTic
protectedinherited

◆ myLocalID

int SMESH_GroupBase_i::myLocalID
privateinherited

◆ myMeshServant

SMESH_Mesh_i* SMESH_GroupBase_i::myMeshServant
privateinherited

◆ myNbNodes

int SMESH_GroupBase_i::myNbNodes
protectedinherited

◆ myPreMeshInfo

◆ myWaiters