SMESH_subMesh Class Reference

#include <SMESH_subMesh.hxx>

Classes

struct  OwnListenerData
 

Public Types

enum  algo_event {
  ADD_HYP , ADD_ALGO , REMOVE_HYP , REMOVE_ALGO ,
  ADD_FATHER_HYP , ADD_FATHER_ALGO , REMOVE_FATHER_HYP , REMOVE_FATHER_ALGO ,
  MODIF_HYP
}
 
enum  algo_state { NO_ALGO , MISSING_HYP , HYP_OK }
 
enum  compute_event {
  MODIF_ALGO_STATE , COMPUTE , COMPUTE_SUBMESH , COMPUTE_CANCELED ,
  CLEAN , SUBMESH_COMPUTED , SUBMESH_RESTORED , SUBMESH_LOADED ,
  MESH_ENTITY_REMOVED , CHECK_COMPUTE_STATE
}
 
enum  compute_state { NOT_READY , READY_TO_COMPUTE , COMPUTE_OK , FAILED_TO_COMPUTE }
 
enum  event_type { ALGO_EVENT , COMPUTE_EVENT }
 

Public Member Functions

SMESH_Hypothesis::Hypothesis_Status AlgoStateEngine (int event, SMESH_Hypothesis *anHyp)
 Treats modification of hypotheses definition. More...
 
bool CanAddHypothesis (const SMESH_Hypothesis *theHypothesis) const
 
SMESH_Hypothesis::Hypothesis_Status CheckConcurentHypothesis (const int theHypType)
 
void ClearAncestors ()
 Clears the vector of ancestor sub-meshes. More...
 
bool ComputeStateEngine (int event)
 
void ComputeSubMeshStateEngine (int event, const bool includeSelf=false)
 
SMESHDS_SubMeshCreateSubMeshDS ()
 
void DeleteEventListener (EventListener *listener)
 Unregister the listener and delete it and it's data. More...
 
const std::map< int, SMESH_subMesh * > & DependsOn ()
 
bool DependsOn (const SMESH_subMesh *other) const
 Return true if this sub-mesh depends on other. More...
 
void DumpAlgoState (bool isMain)
 
bool Evaluate (MapShapeNbElems &aResMap)
 
bool FindIntersection (const SMESH_subMesh *theOther, std::set< const SMESH_subMesh * > &theSetOfCommon) const
 Find common submeshes (based on shared subshapes with other. More...
 
SMESH_AlgoGetAlgo () const
 Returns a current algorithm. More...
 
algo_state GetAlgoState () const
 
const std::vector< SMESH_subMesh * > & GetAncestors () const
 Returns ancestor sub-meshes. Finds them if not yet found. More...
 
int GetComputeCost () const
 Return cost of computing this sub-mesh. If hypotheses are not well defined, zero is returned. More...
 
SMESH_ComputeErrorPtr & GetComputeError ()
 
compute_state GetComputeState () const
 
SMESH_subMeshIteratorPtr getDependsOnIterator (const bool includeSelf, const bool complexShapeFirst=false) const
 Return iterator on the sub-meshes this one depends on. By default most simple sub-meshes go first. More...
 
EventListenerDataGetEventListenerData (const std::string &listenerName, const bool myOwn=false) const
 Return an event listener data. More...
 
EventListenerDataGetEventListenerData (EventListener *listener, const bool myOwn=false) const
 Return an event listener data. More...
 
SMESH_MeshGetFather ()
 
SMESH_subMeshGetFirstToCompute ()
 
int GetId () const
 
SMESHDS_SubMeshGetSubMeshDS ()
 
const SMESHDS_SubMeshGetSubMeshDS () const
 
const TopoDS_Shape & GetSubShape () const
 
bool IsAlwaysComputed ()
 
bool IsApplicableHypotesis (const SMESH_Hypothesis *theHypothesis) const
 
bool IsConform (const SMESH_Algo *theAlgo)
 
bool IsEmpty () const
 Return true if no mesh entities is bound to the submesh. More...
 
bool IsMeshComputed () const
 
void SetEventListener (EventListener *listener, EventListenerData *data, SMESH_subMesh *where)
 Sets an event listener and its data to a submesh. More...
 
void SetIsAlwaysComputed (bool isAlCo)
 Allow algo->Compute() if a subshape of lower dim is meshed but none mesh entity is bound to it. More...
 
 SMESH_subMesh (int Id, SMESH_Mesh *father, SMESHDS_Mesh *meshDS, const TopoDS_Shape &aSubShape)
 
SMESH_Hypothesis::Hypothesis_Status SubMeshesAlgoStateEngine (int event, SMESH_Hypothesis *anHyp, bool exitOnFatal=false)
 Send an event to sub-meshes. More...
 
bool SubMeshesComputed (bool *isFailedToCompute=0) const
 
virtual ~SMESH_subMesh ()
 

Static Public Member Functions

static bool IsApplicableHypotesis (const SMESH_Hypothesis *theHypothesis, const TopAbs_ShapeEnum theShapeType)
 

Protected Member Functions

bool checkComputeError (SMESH_Algo *theAlgo, const bool theComputeOK, const TopoDS_Shape &theShape=TopoDS_Shape())
 Update compute_state by _computeError. More...
 
void cleanDependants ()
 
void cleanDependsOn (SMESH_Algo *algoRequiringCleaning=0)
 Remove elements from sub-meshes. More...
 
int computeCost () const
 Return cost of computing this sub-mesh. The cost depends on the shape type and number of sub-meshes this one DependsOn(). More...
 
void deleteOwnListeners ()
 Delete event listeners depending on algo of this submesh. More...
 
TopoDS_Shape getCollection (SMESH_Gen *theGen, SMESH_Algo *theAlgo, bool &theSubComputed, bool &theSubFailed, std::vector< SMESH_subMesh * > &theSubs)
 Return a shape containing all sub-shapes of the MainShape that can be meshed at once along with _subShape. More...
 
const SMESH_HypothesisgetSimilarAttached (const TopoDS_Shape &theShape, const SMESH_Hypothesis *theHyp, const int theHypType=0)
 Return a hypothesis attached to theShape. More...
 
void insertDependence (const TopoDS_Shape aShape, TopAbs_ShapeEnum aSubType)
 
void loadDependentMeshes ()
 loads dependent meshes on SUBMESH_LOADED event More...
 
void notifyListenersOnEvent (const int event, const event_type eventType, SMESH_Hypothesis *hyp=0)
 Notify stored event listeners on the occurred event. More...
 
void removeSubMeshElementsAndNodes ()
 
void setAlgoState (algo_state state)
 
void setEventListener (EventListener *listener, EventListenerData *data)
 Sets an event listener and its data to a submesh. More...
 
void updateDependantsState (const compute_event theEvent)
 
void updateSubMeshState (const compute_state theState)
 

Member Enumeration Documentation

◆ algo_event

Enumerator
ADD_HYP 
ADD_ALGO 
REMOVE_HYP 
REMOVE_ALGO 
ADD_FATHER_HYP 
ADD_FATHER_ALGO 
REMOVE_FATHER_HYP 
REMOVE_FATHER_ALGO 
MODIF_HYP 

◆ algo_state

Enumerator
NO_ALGO 
MISSING_HYP 
HYP_OK 

◆ compute_event

Enumerator
MODIF_ALGO_STATE 
COMPUTE 
COMPUTE_SUBMESH 
COMPUTE_CANCELED 
CLEAN 
SUBMESH_COMPUTED 
SUBMESH_RESTORED 
SUBMESH_LOADED 
MESH_ENTITY_REMOVED 
CHECK_COMPUTE_STATE 

◆ compute_state

Enumerator
NOT_READY 
READY_TO_COMPUTE 
COMPUTE_OK 
FAILED_TO_COMPUTE 

◆ event_type

Enumerator
ALGO_EVENT 
COMPUTE_EVENT 

Constructor & Destructor Documentation

◆ SMESH_subMesh()

SMESH_subMesh::SMESH_subMesh ( int  Id,
SMESH_Mesh father,
SMESHDS_Mesh meshDS,
const TopoDS_Shape &  aSubShape 
)

default constructor:

References HYP_OK, SMESHDS_Mesh::MeshElements(), NO_ALGO, NOT_READY, and READY_TO_COMPUTE.

◆ ~SMESH_subMesh()

SMESH_subMesh::~SMESH_subMesh ( )
virtual

References deleteOwnListeners().

Member Function Documentation

◆ AlgoStateEngine()

SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::AlgoStateEngine ( int  event,
SMESH_Hypothesis anHyp 
)

Treats modification of hypotheses definition.

Parameters
[in]event- what happens
[in]anHyp- a hypothesis
Returns
SMESH_Hypothesis::Hypothesis_Status - a treatment result.

Optional description of a problematic situation (if any) can be retrieved via GetComputeError().

References ADD_ALGO, ADD_FATHER_ALGO, ADD_FATHER_HYP, ADD_HYP, SMESHDS_Mesh::AddHypothesis(), ALGO_EVENT, SMESH_HypoFilter::And(), SMESH_HypoFilter::AndNot(), CanAddHypothesis(), CHECK_COMPUTE_STATE, SMESH_Algo::CheckHypothesis(), CLEAN, cleanDependsOn(), computeCost(), ComputeStateEngine(), ComputeSubMeshStateEngine(), deleteOwnListeners(), GetAlgo(), SMESH_Gen::GetAlgo(), GetAncestors(), SMESH_Hypothesis::GetDim(), SMESHDS_Hypothesis::GetName(), getSimilarAttached(), SMESHDS_Hypothesis::GetType(), SMESH_HypoFilter::HasType(), SMESH_Hypothesis::HYP_ALREADY_EXIST, SMESH_Hypothesis::HYP_BAD_DIM, SMESH_Hypothesis::HYP_HIDDEN_ALGO, SMESH_Hypothesis::HYP_HIDING_ALGO, SMESH_Hypothesis::HYP_INCOMPATIBLE, SMESH_Hypothesis::HYP_NEED_SHAPE, SMESH_Hypothesis::HYP_NOTCONFORM, SMESH_Hypothesis::HYP_OK, HYP_OK, SMESH_HypoFilter::Init(), SMESH_Algo::InitComputeError(), SMESH_HypoFilter::Is(), SMESH_HypoFilter::IsAlgo(), IsApplicableHypotesis(), SMESH_HypoFilter::IsApplicableTo(), SMESH_Hypothesis::IsAuxiliary(), IsConform(), SMESH_Hypothesis::IsStatusFatal(), SMESH_MesherHelper::IsSubShape(), MISSING_HYP, MODIF_ALGO_STATE, MODIF_HYP, SMESH_Algo::NeedDiscreteBoundary(), SMESH_Algo::NeedShape(), NO_ALGO, notifyListenersOnEvent(), READY_TO_COMPUTE, REMOVE_ALGO, REMOVE_FATHER_ALGO, REMOVE_FATHER_HYP, REMOVE_HYP, SMESHDS_Mesh::RemoveHypothesis(), setAlgoState(), SMESH_Algo::SetEventListener(), SetIsAlwaysComputed(), and SMESH_Algo::SupportSubmeshes().

Referenced by SMESH_Mesh::AddHypothesis(), SMESH_Mesh::RemoveHypothesis(), and SubMeshesAlgoStateEngine().

◆ CanAddHypothesis()

bool SMESH_subMesh::CanAddHypothesis ( const SMESH_Hypothesis theHypothesis) const

◆ checkComputeError()

bool SMESH_subMesh::checkComputeError ( SMESH_Algo theAlgo,
const bool  theComputeOK,
const TopoDS_Shape &  theShape = TopoDS_Shape() 
)
protected

Update compute_state by _computeError.

Update compute_state by _computeError and send proper events to dependent submeshes.

Return values
bool- false if there are errors
bool- true if _computeError is NOT set

References checkComputeError(), COMPUTE_OK, FAILED_TO_COMPUTE, getDependsOnIterator(), SMESHDS_Hypothesis::GetName(), GetSubShape(), SMESH_Algo::isDegenerated(), IsMeshComputed(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), SMESH_Algo::OnlyUnaryInput(), SUBMESH_COMPUTED, and updateDependantsState().

Referenced by checkComputeError(), and ComputeStateEngine().

◆ CheckConcurentHypothesis()

◆ cleanDependants()

void SMESH_subMesh::cleanDependants ( )
protected

◆ cleanDependsOn()

void SMESH_subMesh::cleanDependsOn ( SMESH_Algo algoRequiringCleaning = 0)
protected

Remove elements from sub-meshes.

Parameters
algoRequiringCleaning- an all-dimensional algorithm whose presence causes the cleaning.

References CHECK_COMPUTE_STATE, CLEAN, ComputeStateEngine(), getDependsOnIterator(), SMESHDS_Mesh::GetHypothesis(), SMESH_Gen::GetShapeDim(), GetSubShape(), IsEmpty(), SMESH_Algo::NeedLowerHyps(), SMESHDS_Hypothesis::PARAM_ALGO, and SMESH_Algo::SupportSubmeshes().

Referenced by AlgoStateEngine(), and ComputeStateEngine().

◆ ClearAncestors()

void SMESH_subMesh::ClearAncestors ( )

Clears the vector of ancestor sub-meshes.

◆ computeCost()

int SMESH_subMesh::computeCost ( ) const
protected

Return cost of computing this sub-mesh. The cost depends on the shape type and number of sub-meshes this one DependsOn().

Returns
int - the computation cost in abstract units.

References computeCost(), and getDependsOnIterator().

Referenced by AlgoStateEngine(), and computeCost().

◆ ComputeStateEngine()

bool SMESH_subMesh::ComputeStateEngine ( int  event)

References SMESH_Algo::CancelCompute(), CHECK_COMPUTE_STATE, checkComputeError(), SMESH_Algo::CheckHypothesis(), SMDS_Mesh::CheckMemory(), CLEAN, cleanDependants(), cleanDependsOn(), SMESH_Algo::Compute(), COMPUTE, COMPUTE_CANCELED, COMPUTE_EVENT, COMPUTE_OK, COMPUTE_SUBMESH, ComputeStateEngine(), ComputeSubMeshStateEngine(), FAILED_TO_COMPUTE, GetAlgo(), GetAlgoState(), getCollection(), SMESH_Algo::GetComputeError(), getDependsOnIterator(), GetSubMeshDS(), GetSubShape(), HYP_OK, SMESH_Algo::InitComputeError(), SMESH_Algo::isDegenerated(), IsEmpty(), IsMeshComputed(), loadDependentMeshes(), MESH_ENTITY_REMOVED, MISSING_HYP, MODIF_ALGO_STATE, SMESHDS_SubMesh::NbNodes(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), NOT_READY, notifyListenersOnEvent(), SMESH_Algo::OnlyUnaryInput(), READY_TO_COMPUTE, removeSubMeshElementsAndNodes(), setAlgoState(), SMESH_MesherHelper::SetElementsOnShape(), SMESH_MesherHelper::SetSubShape(), SUBMESH_COMPUTED, SUBMESH_LOADED, SUBMESH_RESTORED, SubMeshesComputed(), SMESH_Algo::SubMeshesToCompute(), SMESH_Algo::SubmeshRestored(), SMESH_Algo::SupportSubmeshes(), updateDependantsState(), SALOME_Exception::what(), and SMESH_ComputeError::Worst().

Referenced by NETGENPlugin_Mesher::AddIntVerticesInFaces(), AlgoStateEngine(), cleanDependsOn(), StdMeshers_Penta_3D::ClearMeshOnFxy1(), SMESH_Gen::Compute(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_Import_1D2D::Compute(), ComputeStateEngine(), StdMeshers_Quadrangle_2D::getEnforcedUV(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), and SetIsAlwaysComputed().

◆ ComputeSubMeshStateEngine()

void SMESH_subMesh::ComputeSubMeshStateEngine ( int  event,
const bool  includeSelf = false 
)

◆ CreateSubMeshDS()

SMESHDS_SubMesh * SMESH_subMesh::CreateSubMeshDS ( )

◆ DeleteEventListener()

void SMESH_subMesh::DeleteEventListener ( EventListener listener)

Unregister the listener and delete it and it's data.

Unregister the listener and delete listener's data.

Parameters
listener- the event listener to delete
listener- the event listener

Referenced by VISCOUS_3D::_ViscousListener::ProcessEvent().

◆ deleteOwnListeners()

void SMESH_subMesh::deleteOwnListeners ( )
protected

Delete event listeners depending on algo of this submesh.

Referenced by AlgoStateEngine(), and ~SMESH_subMesh().

◆ DependsOn() [1/2]

const map< int, SMESH_subMesh * > & SMESH_subMesh::DependsOn ( )

Returns all sub-meshes this one depend on

References insertDependence().

Referenced by DumpAlgoState(), SMESH_Mesh::GetComputeProgress(), getDependsOnIterator(), and insertDependence().

◆ DependsOn() [2/2]

bool SMESH_subMesh::DependsOn ( const SMESH_subMesh other) const

Return true if this sub-mesh depends on other.

◆ DumpAlgoState()

◆ Evaluate()

◆ FindIntersection()

bool SMESH_subMesh::FindIntersection ( const SMESH_subMesh theOther,
std::set< const SMESH_subMesh * > &  theSetOfCommon 
) const

Find common submeshes (based on shared subshapes with other.

Find common submeshes (based on shared sub-shapes with other.

Parameters
theOthersubmesh to check
theCommonIdsset of common submesh IDs NOTE: this method does not cleat set before collect common IDs
theOthersubmesh to check
theSetOfCommonset of common submesh

References GetId().

◆ GetAlgo()

◆ GetAlgoState()

◆ GetAncestors()

const std::vector< SMESH_subMesh * > & SMESH_subMesh::GetAncestors ( ) const

Returns ancestor sub-meshes. Finds them if not yet found.

Referenced by AlgoStateEngine(), cleanDependants(), SMESH_Mesh::GetHypotheses(), SMESH_Mesh::GetHypothesis(), IsConform(), and updateDependantsState().

◆ getCollection()

TopoDS_Shape SMESH_subMesh::getCollection ( SMESH_Gen theGen,
SMESH_Algo theAlgo,
bool theSubComputed,
bool theSubFailed,
std::vector< SMESH_subMesh * > &  theSubs 
)
protected

Return a shape containing all sub-shapes of the MainShape that can be meshed at once along with _subShape.

References GetAlgo(), GetComputeState(), SMESH_Algo::GetUsedHypothesis(), SMESHDS_Hypothesis::IsSameName(), draftfunctions.move::move(), READY_TO_COMPUTE, and SubMeshesComputed().

Referenced by ComputeStateEngine().

◆ GetComputeCost()

int SMESH_subMesh::GetComputeCost ( ) const

Return cost of computing this sub-mesh. If hypotheses are not well defined, zero is returned.

Returns
int - the computation cost in abstract units.

Referenced by SMESH_Mesh::GetComputeProgress().

◆ GetComputeError()

◆ GetComputeState()

◆ getDependsOnIterator()

SMESH_subMeshIteratorPtr SMESH_subMesh::getDependsOnIterator ( const bool  includeSelf,
const bool  reverse = false 
) const

◆ GetEventListenerData() [1/2]

EventListenerData * SMESH_subMesh::GetEventListenerData ( const std::string &  listenerName,
const bool  myOwn = false 
) const

Return an event listener data.

Parameters
listenerName- the listener name
myOwn- if true, returns a listener set by this sub-mesh, else returns a listener listening to events of this sub-mesh
Return values
EventListenerData*- found data, maybe NULL

◆ GetEventListenerData() [2/2]

EventListenerData * SMESH_subMesh::GetEventListenerData ( EventListener listener,
const bool  myOwn = false 
) const

Return an event listener data.

Parameters
listener- the listener whose data is
myOwn- if true, returns a listener set by this sub-mesh, else returns a listener listening to events of this sub-mesh
Return values
EventListenerData*- found data, maybe NULL

Referenced by VISCOUS_2D::_ProxyMeshHolder::FindProxyMeshOfFace(), VISCOUS_3D::_ViscousListener::GetSolidMesh(), StdMeshers_ProjectionUtils::SetEventListener(), and VISCOUS_3D::ToClearSubWithMain().

◆ GetFather()

◆ GetFirstToCompute()

SMESH_subMesh * SMESH_subMesh::GetFirstToCompute ( )

◆ GetId()

◆ getSimilarAttached()

const SMESH_Hypothesis * SMESH_subMesh::getSimilarAttached ( const TopoDS_Shape &  theShape,
const SMESH_Hypothesis theHyp,
const int  theHypType = 0 
)
protected

◆ GetSubMeshDS() [1/2]

◆ GetSubMeshDS() [2/2]

const SMESHDS_SubMesh * SMESH_subMesh::GetSubMeshDS ( ) const

◆ GetSubShape()

◆ insertDependence()

void SMESH_subMesh::insertDependence ( const TopoDS_Shape  aShape,
TopAbs_ShapeEnum  aSubType 
)
protected

Add sub-meshes on sub-shapes of a given type into the dependence map.

References DependsOn(), and GetId().

Referenced by DependsOn().

◆ IsAlwaysComputed()

bool SMESH_subMesh::IsAlwaysComputed ( )

◆ IsApplicableHypotesis() [1/2]

bool SMESH_subMesh::IsApplicableHypotesis ( const SMESH_Hypothesis theHypothesis) const

◆ IsApplicableHypotesis() [2/2]

◆ IsConform()

bool SMESH_subMesh::IsConform ( const SMESH_Algo theAlgo)

◆ IsEmpty()

◆ IsMeshComputed()

◆ loadDependentMeshes()

void SMESH_subMesh::loadDependentMeshes ( )
protected

loads dependent meshes on SUBMESH_LOADED event

Referenced by ComputeStateEngine().

◆ notifyListenersOnEvent()

void SMESH_subMesh::notifyListenersOnEvent ( const int  event,
const event_type  eventType,
SMESH_Hypothesis hyp = 0 
)
protected

Notify stored event listeners on the occurred event.

Parameters
event- algo_event or compute_event itself
eventType- algo_event or compute_event
hyp- hypothesis, if eventType is algo_event

Referenced by AlgoStateEngine(), and ComputeStateEngine().

◆ removeSubMeshElementsAndNodes()

void SMESH_subMesh::removeSubMeshElementsAndNodes ( )
protected

References SMESH_Gen::GetShapeDim().

Referenced by ComputeStateEngine().

◆ setAlgoState()

void SMESH_subMesh::setAlgoState ( algo_state  state)
protected

◆ setEventListener()

void SMESH_subMesh::setEventListener ( EventListener listener,
EventListenerData data 
)
protected

Sets an event listener and its data to a submesh.

Parameters
listener- the listener to store
data- the listener data to store

After being set, event listener is notified on each event of a submesh.

References SMESH_subMeshEventListener::GetName(), SMESH_subMeshEventListener::IsDeletable(), and SMESH_subMeshEventListenerData::IsDeletable().

Referenced by SetEventListener().

◆ SetEventListener()

void SMESH_subMesh::SetEventListener ( EventListener listener,
EventListenerData data,
SMESH_subMesh where 
)

Sets an event listener and its data to a submesh.

Parameters
listener- the listener to store
data- the listener data to store
where- the submesh to store the listener and it's data

The method remembers the submesh \awhere it puts the listener in order to delete it when HYP_OK algo_state is lost After being set, event listener is notified on each event of \awhere submesh.

Parameters
listener- the listener to store
data- the listener data to store
where- the submesh to store the listener and it's data

It remembers the submesh where it puts the listener in order to delete them when HYP_OK algo_state is lost After being set, event listener is notified on each event of where submesh.

References setEventListener().

Referenced by VISCOUS_3D::_ViscousListener::GetSolidMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_QuadFromMedialAxis_1D2D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), and VISCOUS_3D::ToClearSubWithMain().

◆ SetIsAlwaysComputed()

void SMESH_subMesh::SetIsAlwaysComputed ( bool  isAlCo)

Allow algo->Compute() if a subshape of lower dim is meshed but none mesh entity is bound to it.

Allow algo->Compute() if a sub-shape of lower dim is meshed but none mesh entity is bound to it (PAL13615, 2nd part)

References CHECK_COMPUTE_STATE, COMPUTE_OK, and ComputeStateEngine().

Referenced by AlgoStateEngine(), NETGENPlugin_Mesher::Compute(), StdMeshers_CompositeSegment_1D::Compute(), and StdMeshers_CompositeSegment_1D::SetEventListener().

◆ SubMeshesAlgoStateEngine()

SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::SubMeshesAlgoStateEngine ( int  event,
SMESH_Hypothesis anHyp,
bool  exitOnFatal = false 
)

Send an event to sub-meshes.

Parameters
[in]event- the event
[in]anHyp- an hypothesis
[in]exitOnFatal- to stop iteration on sub-meshes if a sub-mesh reports a fatal result
Returns
SMESH_Hypothesis::Hypothesis_Status - the worst result

Optional description of a problematic situation (if any) can be retrieved via GetComputeError().

References AlgoStateEngine(), getDependsOnIterator(), SMESH_Hypothesis::HYP_OK, and SMESH_Hypothesis::IsStatusFatal().

Referenced by SMESH_Mesh::AddHypothesis(), and SMESH_Mesh::RemoveHypothesis().

◆ SubMeshesComputed()

bool SMESH_subMesh::SubMeshesComputed ( bool isFailedToCompute = 0) const

◆ updateDependantsState()

void SMESH_subMesh::updateDependantsState ( const compute_event  theEvent)
protected

References GetAncestors().

Referenced by checkComputeError(), and ComputeStateEngine().

◆ updateSubMeshState()

void SMESH_subMesh::updateSubMeshState ( const compute_state  theState)
protected

The documentation for this class was generated from the following files: