Version: 6.3.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions

VISCOUS._SrinkShapeListener Class Reference

Listener of events of 3D sub-meshes computed with viscous layers. More...

Inheritance diagram for VISCOUS._SrinkShapeListener:
Inheritance graph
[legend]

Public Member Functions

virtual void ProcessEvent (const int event, const int eventType, SMESH_subMesh *solidSM, SMESH_subMeshEventListenerData *data, const SMESH_Hypothesis *hyp)
 Do something on a certain event.

Static Public Member Functions

static void ToClearSubMeshWithSolid (SMESH_subMesh *sm, const TopoDS_Shape &solid)

Private Member Functions

 _SrinkShapeListener ()
bool IsDeletable () const

Static Private Member Functions

static SMESH_subMeshEventListenerGet ()

Detailed Description

Listener of events of 3D sub-meshes computed with viscous layers.

It is used to clear an inferior dim sub-mesh modified by viscous layers

Definition at line 121 of file StdMeshers_ViscousLayers.cxx.


Constructor & Destructor Documentation

VISCOUS._SrinkShapeListener._SrinkShapeListener ( ) [private]

Definition at line 123 of file StdMeshers_ViscousLayers.cxx.

: SMESH_subMeshEventListener(/*isDeletable=*/false) {}

Member Function Documentation

static SMESH_subMeshEventListener* VISCOUS._SrinkShapeListener.Get ( ) [static, private]

Definition at line 124 of file StdMeshers_ViscousLayers.cxx.

{ static _SrinkShapeListener l; return &l; }
bool SMESH_subMeshEventListener.IsDeletable ( ) const [inherited]

Definition at line 52 of file SMESH_subMeshEventListener.hxx.

{ return myIsDeletable; }
virtual void VISCOUS._SrinkShapeListener.ProcessEvent ( const int  event,
const int  eventType,
SMESH_subMesh subMesh,
SMESH_subMeshEventListenerData data,
const SMESH_Hypothesis hyp 
) [virtual]

Do something on a certain event.

Parameters:
event- algo_event or compute_event itself (of SMESH_subMesh)
eventType- ALGO_EVENT or COMPUTE_EVENT (of SMESH_subMesh)
subMesh- the submesh where the event occures
data- listener data stored in the subMesh
hyp- hypothesis, if eventType is algo_event

The base implementation (see SMESH_subMesh.cxx) translates CLEAN event to the subMesh stored in the listener data. Also it sends SUBMESH_COMPUTED event in case of successful COMPUTE event.

Parameters:
event- algo_event or compute_event itself
eventType- algo_event or compute_event
subMesh- the submesh where the event occures
data- listener data stored in the subMesh
hyp- hypothesis, if eventType is algo_event

The base implementation translates CLEAN event to the subMesh stored in listener data. Also it sends SUBMESH_COMPUTED event in case of successful COMPUTE event.

Reimplemented from SMESH_subMeshEventListener.

Definition at line 126 of file StdMeshers_ViscousLayers.cxx.

References SMESH_subMesh.COMPUTE_EVENT, and SMESH_subMeshEventListener.ProcessEvent().

    {
      if ( SMESH_subMesh::COMPUTE_EVENT == eventType && solidSM->IsEmpty() && data )
      {
        SMESH_subMeshEventListener::ProcessEvent(event,eventType,solidSM,data,hyp);
      }
    }
static void VISCOUS._SrinkShapeListener.ToClearSubMeshWithSolid ( SMESH_subMesh sm,
const TopoDS_Shape &  solid 
) [static]

Definition at line 137 of file StdMeshers_ViscousLayers.cxx.

References SMESH_subMeshEventListenerData.MakeData(), and SMESH_subMeshEventListenerData.mySubMeshes.

    {
      SMESH_subMesh* solidSM = sm->GetFather()->GetSubMesh( solid );
      SMESH_subMeshEventListenerData* data = solidSM->GetEventListenerData( Get());
      if ( data )
      {
        if ( find( data->mySubMeshes.begin(), data->mySubMeshes.end(), sm ) ==
             data->mySubMeshes.end())
          data->mySubMeshes.push_back( sm );
      }
      else
      {
        data = SMESH_subMeshEventListenerData::MakeData( /*dependent=*/sm );
        sm->SetEventListener( Get(), data, /*whereToListenTo=*/solidSM );
      }
    }
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS