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

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_subMeshEventListener * | Get () |
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.
| VISCOUS._SrinkShapeListener._SrinkShapeListener | ( | ) | [private] |
Definition at line 123 of file StdMeshers_ViscousLayers.cxx.
: SMESH_subMeshEventListener(/*isDeletable=*/false) {}
| 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.
| 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.
| 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 );
}
}