#include <SMESH_subMesh.hxx>
Data Structures | |
| struct | OwnListenerData |
Public Types | |
| enum | compute_state { NOT_READY , READY_TO_COMPUTE , COMPUTE_OK , FAILED_TO_COMPUTE } |
| enum | algo_state { NO_ALGO , MISSING_HYP , HYP_OK } |
| 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 | compute_event { MODIF_ALGO_STATE , COMPUTE , COMPUTE_SUBMESH , COMPUTE_NOGEOM , COMPUTE_CANCELED , CLEAN , SUBMESH_COMPUTED , SUBMESH_RESTORED , SUBMESH_LOADED , MESH_ENTITY_REMOVED , CHECK_COMPUTE_STATE } |
| enum | event_type { ALGO_EVENT , COMPUTE_EVENT } |
Public Member Functions | |
| SMESH_subMesh (int Id, SMESH_Mesh *father, SMESHDS_Mesh *meshDS, const TopoDS_Shape &aSubShape) | |
| default constructor: More... | |
| virtual | ~SMESH_subMesh () |
| int | GetId () const |
| SMESH_Mesh * | GetFather () |
| SMESHDS_SubMesh * | GetSubMeshDS () |
| const SMESHDS_SubMesh * | GetSubMeshDS () const |
| SMESHDS_SubMesh * | CreateSubMeshDS () |
| SMESH_subMesh * | GetFirstToCompute () |
| SMESH_Algo * | GetAlgo () const |
| Returns a current algorithm. More... | |
| SMESH_Algo * | CopyAlgo () const |
| const std::map< int, SMESH_subMesh * > & | DependsOn () |
| Returns all sub-meshes this one depend on. More... | |
| bool | DependsOn (const SMESH_subMesh *other) const |
Return true if this sub-mesh depends on other. More... | |
| bool | DependsOn (const int shapeID) const |
Return true if this sub-mesh depends on a shape. More... | |
| SMESH_subMeshIteratorPtr | getDependsOnIterator (const bool includeSelf, const bool complexShapeFirst=false) const |
| Return iterator on the sub-meshes this one depends on. More... | |
| const std::vector< SMESH_subMesh * > & | GetAncestors () const |
| Returns ancestor sub-meshes. More... | |
| void | ClearAncestors () |
| Clears the vector of ancestor sub-meshes. More... | |
| const TopoDS_Shape & | GetSubShape () const |
| Return a shape of this sub-mesh. More... | |
| void | SetEventListener (EventListener *listener, EventListenerData *data, SMESH_subMesh *where) |
| Set an event listener and its data to a submesh. More... | |
| void | AddOwnListener (EventListener *listener) |
| Adds event listener to a submesh. More... | |
| EventListenerData * | GetEventListenerData (EventListener *listener, const bool myOwn=false) const |
| Return an event listener data. More... | |
| EventListenerData * | GetEventListenerData (const std::string &listenerName, const bool myOwn=false) const |
| Return an event listener data. More... | |
| void | DeleteEventListener (EventListener *listener) |
| Unregister the listener and delete it and it's data. More... | |
| SMESH_Hypothesis::Hypothesis_Status | AlgoStateEngine (algo_event event, SMESH_Hypothesis *anHyp) |
| Treats modification of hypotheses definition. More... | |
| SMESH_Hypothesis::Hypothesis_Status | SubMeshesAlgoStateEngine (algo_event event, SMESH_Hypothesis *anHyp, bool exitOnFatal=false) |
| Send an event to sub-meshes. More... | |
| algo_state | GetAlgoState () const |
| compute_state | GetComputeState () const |
| SMESH_ComputeErrorPtr & | GetComputeError () |
| void | DumpAlgoState (bool isMain) |
| bool | ComputeStateEngine (compute_event event) |
| void | ComputeSubMeshStateEngine (compute_event event, const bool includeSelf=false) |
| bool | Evaluate (MapShapeNbElems &aResMap) |
| bool | IsConform (const SMESH_Algo *theAlgo) |
| bool | CanAddHypothesis (const SMESH_Hypothesis *theHypothesis) const |
| bool | IsApplicableHypothesis (const SMESH_Hypothesis *theHypothesis) const |
| SMESH_Hypothesis::Hypothesis_Status | CheckConcurrentHypothesis (SMESH_Hypothesis *theHypothesis) |
| bool | IsEmpty () const |
| Return true if no mesh entities is bound to the submesh. More... | |
| bool | IsMeshComputed () const |
| bool | IsComputedPartially () const |
| Check if any upper level sub-shape is not computed. More... | |
| void | SetAllowedSubShapes (const TopTools_IndexedMapOfShape *subShapes) |
| Set sub-shapes that are allowed to compute at once by a multidimensional algo. 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... | |
| bool | IsAlwaysComputed () const |
| bool | SubMeshesComputed (bool *isFailedToCompute=0) const |
| Return true if all sub-meshes have been meshed. More... | |
| int | GetComputeCost () const |
| Return cost of computing this sub-mesh. More... | |
| bool | FindIntersection (const SMESH_subMesh *theOther, std::set< const SMESH_subMesh * > &theSetOfCommon) const |
| Find common submeshes (based on shared subshapes with other. More... | |
Static Public Member Functions | |
| static bool | IsApplicableHypothesis (const SMESH_Hypothesis *theHypothesis, const TopAbs_ShapeEnum theShapeType) |
Protected Member Functions | |
| void | setEventListener (EventListener *listener, EventListenerData *data) |
| Sets an event listener and its data to a submesh. More... | |
| void | notifyListenersOnEvent (const int event, const event_type eventType, SMESH_Hypothesis *hyp=0) |
| Notify stored event listeners on the occurred event. More... | |
| void | deleteOwnListeners () |
| Delete event listeners depending on algo of this submesh. More... | |
| void | loadDependentMeshes () |
| loads dependent meshes on SUBMESH_LOADED event More... | |
| void | insertDependence (const TopoDS_Shape aShape, TopAbs_ShapeEnum aSubType, TopAbs_ShapeEnum avoidType=TopAbs_SHAPE) |
| Add sub-meshes on sub-shapes of a given type into the dependence map. More... | |
| void | removeSubMeshElementsAndNodes () |
| void | updateDependantsState (const compute_event theEvent) |
| void | updateSubMeshState (const compute_state theState) |
| void | cleanDependants () |
| void | cleanDependsOn (SMESH_Algo *algoRequiringCleaning=0) |
| Remove elements from sub-meshes. More... | |
| void | setAlgoState (algo_state state) |
| 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... | |
| bool | checkComputeError (SMESH_Algo *theAlgo, const bool theComputeOK, const TopoDS_Shape &theShape=TopoDS_Shape()) |
| Update compute_state by _computeError. More... | |
| const SMESH_Hypothesis * | getSimilarAttached (const TopoDS_Shape &theShape, const SMESH_Hypothesis *theHyp, const int theHypType=0) |
| Return a hypothesis attached to theShape. More... | |
| int | computeCost () const |
| Return cost of computing this sub-mesh. More... | |
Protected Attributes | |
| std::map< EventListener *, EventListenerData * > | _eventListeners |
| < event listeners to notify More... | |
| std::list< OwnListenerData > | _ownListeners |
| TopoDS_Shape | _subShape |
| SMESHDS_SubMesh * | _subMeshDS |
| SMESH_Mesh * | _father |
| int | _Id |
| std::map< int, SMESH_subMesh * > | _mapDepend |
| bool | _dependenceAnalysed |
| std::vector< SMESH_subMesh * > | _ancestors |
| SMESH_Algo * | _algo |
| TopoDS_Shape | _algoShape |
| algo_state | _algoState |
| compute_state | _computeState |
| SMESH_ComputeErrorPtr | _computeError |
| int | _computeCost |
| int | _realComputeCost |
| bool | _alwaysComputed |
| const TopTools_IndexedMapOfShape * | _allowedSubShapes |
| SMESH_subMesh::SMESH_subMesh | ( | int | Id, |
| SMESH_Mesh * | father, | ||
| SMESHDS_Mesh * | meshDS, | ||
| const TopoDS_Shape & | aSubShape | ||
| ) |
default constructor:
References _algo, _algoState, _allowedSubShapes, _alwaysComputed, _computeCost, _computeState, _dependenceAnalysed, _father, _Id, _realComputeCost, _subMeshDS, _subShape, HYP_OK, SMESHDS_Mesh::MeshElements(), NO_ALGO, NOT_READY, and READY_TO_COMPUTE.
|
virtual |
References deleteOwnListeners().
| void SMESH_subMesh::AddOwnListener | ( | EventListener * | listener | ) |
Adds event listener to a submesh.
| listener | - the listener to store |
It remembers the listener in order to clean it when submesh is deleted
References _ownListeners.
| SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::AlgoStateEngine | ( | algo_event | event, |
| SMESH_Hypothesis * | anHyp | ||
| ) |
Treats modification of hypotheses definition.
| [in] | event | - what happens |
| [in] | anHyp | - a hypothesis |
Optional description of a problematic situation (if any) can be retrieved via GetComputeError().
References _algo, _algoState, _computeError, _computeState, _father, _Id, _mapDepend, _realComputeCost, _subShape, 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_Algo::GetComputeError(), SMESH_Hypothesis::GetDim(), SMESH_Mesh::GetGen(), SMESH_Mesh::GetHypothesis(), SMESH_Mesh::GetMeshDS(), SMESHDS_Hypothesis::GetName(), getSimilarAttached(), SMESHDS_Hypothesis::GetType(), SMESH_Mesh::HasShapeToMesh(), 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(), IsApplicableHypothesis(), SMESH_HypoFilter::IsApplicableTo(), SMESH_Hypothesis::IsAuxiliary(), IsConform(), SMESH_Mesh::IsNotConformAllowed(), SMESH_Hypothesis::IsStatusFatal(), SMESH_MesherHelper::IsSubShape(), SMESH_Mesh::IsUsedHypothesis(), MESSAGE, MISSING_HYP, MODIF_ALGO_STATE, MODIF_HYP, SMESH_Algo::NeedDiscreteBoundary(), SMESH_Algo::NeedShape(), NO_ALGO, notifyListenersOnEvent(), SMESH_HypoFilter::Or(), 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().
| bool SMESH_subMesh::CanAddHypothesis | ( | const SMESH_Hypothesis * | theHypothesis | ) | const |
References _subShape, SMESH_Hypothesis::GetDim(), and SMESH_Gen::GetShapeDim().
Referenced by AlgoStateEngine().
|
protected |
Update compute_state by _computeError.
Update compute_state by _computeError and send proper events to dependent submeshes.
| bool | - false if there are errors |
| bool | - true if _computeError is NOT set |
References _computeError, _computeState, _father, _Id, _subShape, checkComputeError(), COMPERR_NO_MESH_ON_SHAPE, COMPUTE_OK, Edge, FAILED_TO_COMPUTE, getDependsOnIterator(), SMESHDS_Hypothesis::GetName(), SMESH_Mesh::GetSubMesh(), GetSubShape(), SMESH_Algo::isDegenerated(), IsMeshComputed(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), SMESH_Algo::OnlyUnaryInput(), SUBMESH_COMPUTED, and updateDependantsState().
Referenced by checkComputeError(), and ComputeStateEngine().
| SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::CheckConcurrentHypothesis | ( | SMESH_Hypothesis * | theHypothesis | ) |
References _father, _subShape, SMESH_Mesh::GetAncestors(), getSimilarAttached(), SMESH_Hypothesis::HYP_CONCURRENT, and SMESH_Hypothesis::HYP_OK.
Referenced by SMESH_Mesh::AddHypothesis(), and SMESH_Mesh::RemoveHypothesis().
|
protected |
References _subShape, CLEAN, GetAncestors(), and SMESH_Gen::GetShapeDim().
Referenced by ComputeStateEngine().
|
protected |
Remove elements from sub-meshes.
| algoRequiringCleaning | - an all-dimensional algorithm whose presence causes the cleaning. |
References _father, _subShape, SMESH_HypoFilter::And(), CHECK_COMPUTE_STATE, CLEAN, ComputeStateEngine(), getDependsOnIterator(), SMESH_Mesh::GetHypothesis(), SMESH_Gen::GetShapeDim(), SMESH_MesherHelper::GetShapeOfHypothesis(), GetSubShape(), SMESH_HypoFilter::Init(), SMESH_HypoFilter::IsAlgo(), IsEmpty(), SMESH_HypoFilter::IsMoreLocalThan(), SMESH_Mesh::NbNodes(), SMESH_Algo::NeedLowerHyps(), and SMESH_Algo::SupportSubmeshes().
Referenced by AlgoStateEngine(), and ComputeStateEngine().
| void SMESH_subMesh::ClearAncestors | ( | ) |
Clears the vector of ancestor sub-meshes.
References _ancestors.
|
protected |
Return cost of computing this sub-mesh.
The cost depends on the shape type and number of sub-meshes this one DependsOn().
References _computeCost, _subShape, computeCost(), and getDependsOnIterator().
Referenced by AlgoStateEngine(), and computeCost().
| bool SMESH_subMesh::ComputeStateEngine | ( | compute_event | event | ) |
References _algo, _algoState, _alwaysComputed, _computeError, _computeState, _father, _Id, _subShape, SMESHDS_Mesh::AddNode(), SMESHDS_Hypothesis::ALGO_1D, SMESHDS_Hypothesis::ALGO_3D, SMESH_Algo::CancelCompute(), CHECK_COMPUTE_STATE, checkComputeError(), SMESH_Algo::CheckHypothesis(), SMDS_Mesh::CheckMemory(), CLEAN, cleanDependants(), cleanDependsOn(), cleanSubMesh(), COMPERR_ALGO_FAILED, COMPERR_BAD_INPUT_MESH, COMPERR_EXCEPTION, COMPERR_MEMORY_PB, COMPERR_OCC_EXCEPTION, COMPERR_OK, COMPERR_SLM_EXCEPTION, COMPERR_STD_EXCEPTION, COMPERR_WARNING, SMESH_Algo::Compute(), COMPUTE, COMPUTE_CANCELED, COMPUTE_EVENT, COMPUTE_NOGEOM, COMPUTE_OK, COMPUTE_SUBMESH, ComputeStateEngine(), ComputeSubMeshStateEngine(), Edge, FAILED_TO_COMPUTE, GetAlgo(), getCollection(), SMESH_Algo::GetComputeError(), GetComputeState(), getDependsOnIterator(), SMESH_Mesh::GetGen(), SMESH_Mesh::GetHypothesisList(), GetId(), SMESH_Mesh::GetIsModified(), SMESH_Mesh::GetMeshDS(), SMESHDS_Hypothesis::GetName(), SMESH_Mesh::GetParallelElement(), SMESH_Mesh::GetSubMesh(), GetSubMeshDS(), GetSubShape(), SMESH_Algo::GetUsedHypothesis(), SMESH_Mesh::HasShapeToMesh(), HYP_OK, SMESH_Algo::InitComputeError(), SMESH_Algo::isDegenerated(), IsEmpty(), IsMeshComputed(), SMESH_Mesh::IsNotConformAllowed(), SMESH_Mesh::IsParallel(), loadDependentMeshes(), MESH_ENTITY_REMOVED, MESSAGE, MISSING_HYP, MODIF_ALGO_STATE, SMESHDS_SubMesh::NbNodes(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), NOT_READY, notifyListenersOnEvent(), OCC_CATCH_SIGNALS, SMESH_Algo::OnlyUnaryInput(), READY_TO_COMPUTE, removeSubMeshElementsAndNodes(), setAlgoState(), SMESH_MesherHelper::SetElementsOnShape(), SMESHDS_Mesh::SetNodeOnVertex(), SMESH_Algo::setSubMeshesToCompute(), SMESH_MesherHelper::SetSubShape(), SMESH_Comment::Stream(), SUBMESH_COMPUTED, SUBMESH_LOADED, SUBMESH_RESTORED, SubMeshesComputed(), SMESH_Algo::SubMeshesToCompute(), SMESH_Algo::SubmeshRestored(), SMESH_Algo::SupportSubmeshes(), updateDependantsState(), and SMESH_ComputeError::Worst().
Referenced by AlgoStateEngine(), cleanDependsOn(), StdMeshers_Penta_3D::ClearMeshOnFxy1(), StdMeshers_Prism_3D::compute(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Prism_3D::computeBase(), ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), SMESH_Gen_i::CopyMeshWithGeom(), SMESH_Pattern::createElements(), VISCOUS_3D::_ViscousBuilder::error(), SMESH_PreMeshInfo::FullLoadFromFile(), StdMeshers_Quadrangle_2D::getEnforcedUV(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Prism_3D::makeQuadsForOutInProjection(), SMESH_Gen::parallelComputeSubMeshes(), StdMeshers_Prism_3D::project2dMesh(), VISCOUS_2D::_ViscousBuilder2D::refine(), VISCOUS_2D::_ViscousBuilder2D::removeMeshFaces(), SMESH_Gen::sequentialComputeSubMeshes(), SetIsAlwaysComputed(), and VISCOUS_3D::_ViscousBuilder::shrink().
| void SMESH_subMesh::ComputeSubMeshStateEngine | ( | compute_event | event, |
| const bool | includeSelf = false |
||
| ) |
| SMESH_Algo * SMESH_subMesh::CopyAlgo | ( | ) | const |
| SMESHDS_SubMesh * SMESH_subMesh::CreateSubMeshDS | ( | ) |
| void SMESH_subMesh::DeleteEventListener | ( | EventListener * | listener | ) |
Unregister the listener and delete it and it's data.
Unregister the listener and delete listener's data.
| listener | - the event listener to delete |
| listener | - the event listener |
References _eventListeners.
Referenced by VISCOUS_3D::_ViscousListener::ProcessEvent(), and VISCOUS_3D::_ViscousListener::RemoveSolidMesh().
|
protected |
Delete event listeners depending on algo of this submesh.
References _father, _ownListeners, MESHCUT::d, SMESH_Mesh::FindMesh(), and SMESH_Mesh::GetSubMeshContaining().
Referenced by AlgoStateEngine(), and ~SMESH_subMesh().
| const std::map< int, SMESH_subMesh * > & SMESH_subMesh::DependsOn | ( | ) |
Returns all sub-meshes this one depend on.
References _dependenceAnalysed, _father, _mapDepend, _subShape, SMESH_Mesh::HasShapeToMesh(), and insertDependence().
Referenced by DependsOn(), DumpAlgoState(), GetAncestors(), SMESH_Mesh::GetComputeProgress(), getDependsOnIterator(), insertDependence(), testNRTJ4(), testNRTM1(), and testShape().
| bool SMESH_subMesh::DependsOn | ( | const int | shapeID | ) | const |
Return true if this sub-mesh depends on a shape.
References _father, DependsOn(), and SMESH_Mesh::GetSubMeshContaining().
| bool SMESH_subMesh::DependsOn | ( | const SMESH_subMesh * | other | ) | const |
Return true if this sub-mesh depends on other.
References _mapDepend.
| void SMESH_subMesh::DumpAlgoState | ( | bool | isMain | ) |
References _algoState, _computeState, _subShape, COMPUTE_OK, DependsOn(), DumpAlgoState(), FAILED_TO_COMPUTE, SMESH_Gen::GetShapeDim(), HYP_OK, MESSAGE, MISSING_HYP, NO_ALGO, NOT_READY, and READY_TO_COMPUTE.
Referenced by SMESH_Mesh::AddHypothesis(), DumpAlgoState(), and SMESH_Mesh::RemoveHypothesis().
| bool SMESH_subMesh::Evaluate | ( | MapShapeNbElems & | aResMap | ) |
References _computeError, _father, _subShape, SMESH_Algo::CheckHypothesis(), COMPERR_OK, SMESH_Algo::Evaluate(), GetAlgo(), getDependsOnIterator(), SMESH_Gen::GetShapeDim(), GetSubMeshDS(), GetSubShape(), SMESH_Mesh::HasShapeToMesh(), IsMeshComputed(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), SMDSEntity_Last, and SMDSEntity_Node.
Referenced by StdMeshers_Import_1D::Evaluate(), and StdMeshers_Import_1D2D::Evaluate().
| 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.
| theOther | submesh to check |
| theCommonIds | set of common submesh IDs NOTE: this method does not cleat set before collect common IDs |
| theOther | submesh to check |
| theSetOfCommon | set of common submesh |
References _mapDepend, and GetId().
| SMESH_Algo * SMESH_subMesh::GetAlgo | ( | ) | const |
Returns a current algorithm.
References _algo, _algoShape, _father, SMESH_Gen::GetAlgo(), and SMESH_Mesh::GetGen().
Referenced by AlgoStateEngine(), SMESH_Mesh::CheckHypothesesOnSubMeshes(), checkMissing(), StdMeshers_Prism_3D::Compute(), StdMeshers_Prism_3D::computeBase(), ComputeStateEngine(), Evaluate(), SMESH_Gen_i::Evaluate(), VISCOUS_3D::_ViscousBuilder::findFacesWithLayers(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), getCollection(), SMESH_Gen_i::GetComputeErrors(), SMESH_Mesh::GetComputeProgress(), getSubMeshes(), SMESH_Mesh::IsUsedHypothesis(), StdMeshers_ProjectionUtils::MakeComputed(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), and VISCOUS_3D::_ViscousBuilder::shrink().
| algo_state SMESH_subMesh::GetAlgoState | ( | ) | const |
| const std::vector< SMESH_subMesh * > & SMESH_subMesh::GetAncestors | ( | ) | const |
Returns ancestor sub-meshes.
Finds them if not yet found.
References _ancestors, _father, _subShape, DependsOn(), SMESH_Mesh::GetAncestors(), SMESH_Mesh::GetShapeToMesh(), SMESH_Mesh::GetSubMesh(), and SMESH_Mesh::GetSubMeshContaining().
Referenced by AlgoStateEngine(), cleanDependants(), SMESH_Mesh::GetHypotheses(), SMESH_Mesh::GetHypothesis(), IsConform(), and updateDependantsState().
|
protected |
Return a shape containing all sub-shapes of the MainShape that can be meshed at once along with _subShape.
References _algoShape, _allowedSubShapes, _father, _subShape, GetAlgo(), SMESH_Algo::GetAssignedShapes(), GetComputeState(), getDependsOnIterator(), SMESH_Mesh::GetMeshDS(), SMESH_Mesh::GetSubMesh(), SMESH_Algo::GetUsedHypothesis(), SMESHDS_Hypothesis::IsSameName(), READY_TO_COMPUTE, SMESHDS_Mesh::ShapeToMesh(), and SubMeshesComputed().
Referenced by ComputeStateEngine().
| int SMESH_subMesh::GetComputeCost | ( | ) | const |
Return cost of computing this sub-mesh.
If hypotheses are not well defined, zero is returned
References _realComputeCost.
Referenced by SMESH_Mesh::GetComputeProgress().
| SMESH_ComputeErrorPtr & SMESH_subMesh::GetComputeError | ( | ) |
Referenced by SMESH_Mesh::AddHypothesis(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Prism_3D::compute(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_ViscousLayers2D::Compute(), StdMeshers_ViscousLayers::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), StdMeshers_Prism_3D::computeWalls(), VISCOUS_3D::_ViscousBuilder::error(), SMESH_Gen_i::Evaluate(), StdMeshers_Hexa_3D::Evaluate(), StdMeshers_Quadrangle_2D::Evaluate(), StdMeshers_RadialPrism_3D::Evaluate(), StdMeshers_Regular_1D::Evaluate(), SMESH_Gen_i::GetComputeErrors(), VISCOUS_3D::_ViscousBuilder::refine(), and StdMeshers_Prism_3D::toSM().
| compute_state SMESH_subMesh::GetComputeState | ( | ) | const |
Referenced by StdMeshers_Import_1D2D::Compute(), compute_function(), StdMeshers_Regular_1D::computeInternalParameters(), ComputeStateEngine(), getCollection(), SMESH_Mesh::GetComputeProgress(), GetFirstToCompute(), SMESH_Mesh::IsComputedOK(), IsComputedPartially(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), SMESH_subMeshEventListener::ProcessEvent(), VISCOUS_2D::_ViscousBuilder2D::refine(), SMESH_Gen::sequentialComputeSubMeshes(), VISCOUS_3D::_ViscousBuilder::shrink(), and SubMeshesComputed().
| SMESH_subMeshIteratorPtr SMESH_subMesh::getDependsOnIterator | ( | const bool | includeSelf, |
| const bool | reverse = false |
||
| ) | const |
Return iterator on the sub-meshes this one depends on.
Return iterator on the submeshes this one depends on.
By default most simple sub-meshes go first.
| includeSelf | - this submesh to be returned also |
| reverse | - if true, complex shape submeshes go first |
References DependsOn(), and reverse().
Referenced by SMESH_Mesh::AddHypothesis(), checkComputeError(), checkConformIgnoredAlgos(), SMESH_Mesh::CheckHypothesesOnSubMeshes(), checkMissing(), cleanDependsOn(), StdMeshers_Prism_3D::compute(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Prism_3D::computeBase(), computeCost(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), ComputeStateEngine(), ComputeSubMeshStateEngine(), StdMeshers_Prism_3D::computeWalls(), SMESH_Gen_i::CopyMeshWithGeom(), Evaluate(), StdMeshers_PolyhedronPerSolid_3D::Evaluate(), StdMeshers_Projection_1D2D::Evaluate(), VISCOUS_3D::_ViscousBuilder::findCollisionEdges(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), SMESH_Gen::GetAlgoState(), getCollection(), SMESH_Gen_i::GetComputeErrors(), GetFirstToCompute(), VISCOUS_3D::_ConvexFace::GetMaxCurvature(), SMESH_subMesh_i::GetNumberOfNodes(), SMESH_Mesh::GetSubMesh(), getSubMeshes(), StdMeshers_Prism_3D::initPrism(), IsComputedPartially(), SMESH_MesherHelper::IsDistorted2D(), SMESH_Gen::parallelComputeSubMeshes(), SMESH_Gen_i::Precompute(), VISCOUS_3D::_ViscousBuilder::putOnOffsetSurface(), SMESH_Mesh::RemoveHypothesis(), SMESH_Gen::sequentialComputeSubMeshes(), MeshEditor_I::TSearchersDeleter::Set(), StdMeshers_CompositeSegment_1D::SetEventListener(), VISCOUS_3D::_ViscousBuilder::shrink(), SubMeshesAlgoStateEngine(), SubMeshesComputed(), and updateSubMeshState().
| EventListenerData * SMESH_subMesh::GetEventListenerData | ( | const std::string & | listenerName, |
| const bool | myOwn = false |
||
| ) | const |
Return an event listener data.
| 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 |
| EventListenerData* | - found data, maybe NULL |
References _eventListeners, _father, _ownListeners, MESHCUT::d, and SMESH_Mesh::MeshExists().
| EventListenerData * SMESH_subMesh::GetEventListenerData | ( | EventListener * | listener, |
| const bool | myOwn = false |
||
| ) | const |
Return an event listener data.
| 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 |
| EventListenerData* | - found data, maybe NULL |
References _eventListeners, _father, _ownListeners, MESHCUT::d, and SMESH_Mesh::MeshExists().
Referenced by VISCOUS_2D::_ProxyMeshHolder::FindProxyMeshOfFace(), VISCOUS_3D::_ViscousListener::GetSolidMesh(), StdMeshers_ProjectionUtils::SetEventListener(), and VISCOUS_3D::ToClearSubWithMain().
| SMESH_Mesh * SMESH_subMesh::GetFather | ( | ) |
Referenced by cleanSubMesh(), StdMeshers_Prism_3D::computeBase(), SMESH_Gen::GetAlgo(), SMESH_MesherHelper::IsDistorted2D(), SMESH_MesherHelper::IsStructured(), StdMeshers_ProjectionUtils::MakeComputed(), MeshEditor_I::TSearchersDeleter::ProcessEvent(), VISCOUS_3D::ShrinkFace::SetBoundary(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_Import_1D::SetEventListener(), StdMeshers_Import_1D2D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), StdMeshers_ProjectionUtils::SourceNotComputedError(), and VISCOUS_3D::ToClearSubWithMain().
| SMESH_subMesh * SMESH_subMesh::GetFirstToCompute | ( | ) |
References GetComputeState(), getDependsOnIterator(), and READY_TO_COMPUTE.
| int SMESH_subMesh::GetId | ( | ) | const |
References _Id.
Referenced by SMESH_Mesh::AddHypothesis(), StdMeshers_Prism_3D::assocOrProjBottom2Top(), SMESH_Mesh_i::CheckGeomGroupModif(), SMESH_Mesh_i::CheckGeomModif(), StdMeshers_Prism_3D::compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Projection_2D::Compute(), compute_function(), ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_Mesh_i::createSubMesh(), FindIntersection(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), SMESH_Gen_i::GetComputeErrors(), SMESH_Mesh::GetComputeProgress(), VISCOUS_3D::_ConvexFace::GetMaxCurvature(), insertDependence(), SMESH_MesherHelper::IsDistorted2D(), SMESH_Mesh::IsOrderOK(), VISCOUS_3D::_ViscousBuilder::makeLayer(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), VISCOUS_3D::PeriodicFaces::MoveNodes(), StdMeshers_Prism_3D::projectBottomToTop(), VISCOUS_3D::_ViscousBuilder::putOnOffsetSurface(), SMESH_Gen::sequentialComputeSubMeshes(), VISCOUS_3D::_ViscousBuilder::setShapeData(), and VISCOUS_3D::_ViscousBuilder::shrink().
|
protected |
Return a hypothesis attached to theShape.
If theHyp is provided, similar but not same hypotheses is returned; else an applicable ones having theHypType is returned
References _father, SMESH_HypoFilter::And(), SMESH_HypoFilter::AndNot(), SMESH_Hypothesis::GetDim(), SMESH_Mesh::GetHypothesis(), SMESHDS_Hypothesis::GetName(), SMESHDS_Hypothesis::GetType(), SMESH_HypoFilter::HasDim(), SMESH_HypoFilter::HasName(), SMESH_HypoFilter::HasType(), SMESH_HypoFilter::Init(), SMESH_HypoFilter::Is(), SMESH_HypoFilter::IsApplicableTo(), SMESH_HypoFilter::IsAuxiliary(), and SMESH_Hypothesis::IsAuxiliary().
Referenced by AlgoStateEngine(), and CheckConcurrentHypothesis().
| SMESHDS_SubMesh * SMESH_subMesh::GetSubMeshDS | ( | ) |
References _father, _subMeshDS, _subShape, SMESH_Mesh::GetMeshDS(), and SMESHDS_Mesh::MeshElements().
Referenced by StdMeshers_Prism_3D::assocOrProjBottom2Top(), cleanSubMesh(), StdMeshers_Prism_3D::Compute(), StdMeshers_Projection_1D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), ComputePentahedralMesh(), ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Gen_i::CopyMeshWithGeom(), CreateSubMeshDS(), Evaluate(), StdMeshers_Projection_1D::Evaluate(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_Projection_2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), SMESH_MeshEditor_i::ExtrusionAlongPathObjects(), VISCOUS_3D::_ViscousBuilder::findNeiborsOnEdge(), StdMeshers_Penta_3D::FindNodeOnShape(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), SMESH_MesherHelper::FixQuadraticElements(), VISCOUS_3D::ShrinkFace::GetElements(), SMESH_Mesh::GetGroupSubMeshesContaining(), SMESH_Algo::GetMeshError(), SMESH_subMesh_i::GetNumberOfNodes(), SMESH_Mesh_i::GetSubMeshElementsId(), SMESH_Mesh_i::GetSubMeshElementType(), getSubMeshes(), SMESH_Mesh_i::GetSubMeshNodesId(), Handle(), StdMeshers_Prism_3D::initPrism(), IsEmpty(), VISCOUS_3D::ShrinkFace::IsSameNbElements(), SMESH_MesherHelper::IsStructured(), SMESH_MeshEditor_i::LinearAnglesVariation(), StdMeshers_Penta_3D::MakeBlock(), VISCOUS_3D::_ViscousBuilder::makeLayer(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_Algo::NumberOfPoints(), StdMeshers_ProjectionUtils::Morph::Perform(), SMESH_Gen_i::Precompute(), VISCOUS_3D::_SolidData::PrepareEdgesToSmoothOnFace(), StdMeshers_Prism_3D::project2dMesh(), StdMeshers_Prism_3D::projectBottomToTop(), VISCOUS_2D::_ViscousBuilder2D::removeMeshFaces(), StdMeshers_ProjectionUtils::SetEventListener(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::shrink(), and SubMeshesComputed().
| const SMESHDS_SubMesh * SMESH_subMesh::GetSubMeshDS | ( | ) | const |
| const TopoDS_Shape & SMESH_subMesh::GetSubShape | ( | ) | const |
Return a shape of this sub-mesh.
References _subShape.
Referenced by StdMeshers_Prism_3D::assocOrProjBottom2Top(), checkComputeError(), checkConformIgnoredAlgos(), checkMissing(), cleanDependsOn(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Prism_3D::computeBase(), VISCOUS_3D::_ViscousBuilder::computeGeomSize(), ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), SMESH_MeshEditor::ConvertToQuadratic(), SMESH_Gen_i::CopyMeshWithGeom(), VISCOUS_3D::_ViscousBuilder::error(), Evaluate(), StdMeshers_PolyhedronPerSolid_3D::Evaluate(), StdMeshers_Projection_1D2D::Evaluate(), SMESH_Mesh_i::findConcurrentSubMeshes(), VISCOUS_3D::_ViscousBuilder::findShapesToSmooth(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), SMESH_Gen::GetAlgo(), SMESH_Gen::GetAlgoState(), SMESH_Mesh::GetGroupSubMeshesContaining(), SMESH_Mesh::GetHypotheses(), SMESH_Mesh::GetHypothesis(), SMESH_Algo::GetMeshError(), SMESH_Mesh_i::GetSubMeshElementType(), getSubMeshes(), SMESH_Mesh::HasModificationsToDiscard(), StdMeshers_Prism_3D::initPrism(), IsComputedPartially(), SMESH_MesherHelper::IsDistorted2D(), VISCOUS_3D::ShrinkFace::IsSame(), VISCOUS_3D::ShrinkFace::IsShrunk(), SMESH_MesherHelper::IsStructured(), StdMeshers_ProjectionUtils::MakeComputed(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), SMESH_Gen::parallelComputeSubMeshes(), SMESH_Gen_i::Precompute(), SMESH_Mesh_i::removeSubMesh(), SMESH_Gen::sequentialComputeSubMeshes(), VISCOUS_3D::ShrinkFace::SetBoundary(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_Import_1D::SetEventListener(), StdMeshers_Import_1D2D::SetEventListener(), StdMeshers_RadialQuadrangle_1D2D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), VISCOUS_3D::_ViscousBuilder::setShapeData(), VISCOUS_3D::_ViscousBuilder::shrink(), StdMeshers_ProjectionUtils::SourceNotComputedError(), and SubMeshesComputed().
|
protected |
Add sub-meshes on sub-shapes of a given type into the dependence map.
References _father, _mapDepend, DependsOn(), GetId(), and SMESH_Mesh::GetSubMesh().
Referenced by DependsOn().
| bool SMESH_subMesh::IsAlwaysComputed | ( | ) | const |
Referenced by SMESH_Mesh::IsComputedOK().
| bool SMESH_subMesh::IsApplicableHypothesis | ( | const SMESH_Hypothesis * | theHypothesis | ) | const |
References _father, _subShape, SMESH_Mesh::HasShapeToMesh(), and IsApplicableHypothesis().
|
static |
References SMESH_Hypothesis::GetDim(), SMESH_Gen::GetShapeDim(), SMESH_Hypothesis::GetShapeType(), SMESHDS_Hypothesis::GetType(), and SMESHDS_Hypothesis::PARAM_ALGO.
Referenced by SMESH_Mesh::AddHypothesis(), AlgoStateEngine(), IsApplicableHypothesis(), SMESH_HypoFilter::ApplicablePredicate::IsOk(), SMESH_Mesh::IsUsedHypothesis(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), and SMESH_Mesh::RemoveHypothesis().
| bool SMESH_subMesh::IsComputedPartially | ( | ) | const |
Check if any upper level sub-shape is not computed.
Used to update a sub-mesh icon
References COMPUTE_OK, FAILED_TO_COMPUTE, GetComputeState(), getDependsOnIterator(), GetSubShape(), NOT_READY, and READY_TO_COMPUTE.
| bool SMESH_subMesh::IsConform | ( | const SMESH_Algo * | theAlgo | ) |
References _father, _subShape, GetAncestors(), SMESH_Mesh::GetMeshDS(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_Algo::OnlyUnaryInput(), and SMESHDS_Mesh::ShapeToMesh().
Referenced by AlgoStateEngine(), and checkConformIgnoredAlgos().
| bool SMESH_subMesh::IsEmpty | ( | ) | const |
Return true if no mesh entities is bound to the submesh.
References GetSubMeshDS().
Referenced by cleanDependsOn(), StdMeshers_PolyhedronPerSolid_3D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_RadialQuadrangle_1D2D::Compute(), StdMeshers_Prism_3D::computeBase(), StdMeshers_RadialQuadrangle_1D2D::computeLayerPositions(), ComputeStateEngine(), SMESH_Gen_i::CopyMeshWithGeom(), VISCOUS_3D::_ViscousBuilder::error(), VISCOUS_3D::_ViscousBuilder::findFacesWithLayers(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Mesh::GetComputeProgress(), StdMeshers_PrismAsBlock::GetLayersTransformation(), getSubMeshes(), StdMeshers_Prism_3D::initPrism(), SMESH_MesherHelper::IsDistorted2D(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), VISCOUS_3D::_ShrinkShapeListener::ProcessEvent(), and StdMeshers_RadialQuadrangle_1D2D::SubmeshRestored().
| bool SMESH_subMesh::IsMeshComputed | ( | ) | const |
References _alwaysComputed, _father, _subShape, SMESH_Mesh::GetMeshDS(), SMESH_Gen::GetShapeDim(), and SMESHDS_Mesh::MeshElements().
Referenced by StdMeshers_Prism_3D::assocOrProjBottom2Top(), checkComputeError(), StdMeshers_Prism_3D::Compute(), StdMeshers_Projection_1D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_Prism_3D::computeBase(), StdMeshers_Regular_1D::computeInternalParameters(), ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), Evaluate(), StdMeshers_Projection_1D::Evaluate(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_Projection_2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), VISCOUS_3D::_ViscousBuilder::findSolidsWithLayers(), SMESH_Mesh::HasModificationsToDiscard(), StdMeshers_ProjectionUtils::MakeComputed(), StdMeshers_Prism_3D::makeQuadsForOutInProjection(), and SMESH_Gen_i::Precompute().
|
protected |
loads dependent meshes on SUBMESH_LOADED event
References _father, _ownListeners, MESHCUT::d, and SMESH_Mesh::FindMesh().
Referenced by ComputeStateEngine().
|
protected |
Notify stored event listeners on the occurred event.
| event | - algo_event or compute_event itself |
| eventType | - algo_event or compute_event |
| hyp | - hypothesis, if eventType is algo_event |
References _eventListeners.
Referenced by AlgoStateEngine(), and ComputeStateEngine().
|
protected |
References _father, _subShape, cleanSubMesh(), SMESH_Gen::GetShapeDim(), and SMESH_Mesh::GetSubMeshContaining().
Referenced by ComputeStateEngine().
|
protected |
References _algoState.
Referenced by AlgoStateEngine(), and ComputeStateEngine().
| void SMESH_subMesh::SetAllowedSubShapes | ( | const TopTools_IndexedMapOfShape * | subShapes | ) |
Set sub-shapes that are allowed to compute at once by a multidimensional algo.
Referenced by SMESH_Gen::sequentialComputeSubMeshes(), and VISCOUS_3D::_ViscousBuilder::shrink().
|
protected |
Sets an event listener and its data to a submesh.
| 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 _eventListeners, SMESH_subMeshEventListener::GetName(), SMESH_subMeshEventListener::IsDeletable(), and SMESH_subMeshEventListenerData::IsDeletable().
Referenced by SetEventListener().
| void SMESH_subMesh::SetEventListener | ( | EventListener * | listener, |
| EventListenerData * | data, | ||
| SMESH_subMesh * | where | ||
| ) |
Set an event listener and its data to a submesh.
Sets an event listener and its data to a submesh.
| 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.
| 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 _ownListeners, and setEventListener().
Referenced by VISCOUS_2D::_ProxyMeshHolder::_ProxyMeshHolder(), VISCOUS_3D::_ViscousListener::GetSolidMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), MeshEditor_I::TSearchersDeleter::Set(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_QuadFromMedialAxis_1D2D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), and VISCOUS_3D::ToClearSubWithMain().
| 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 _alwaysComputed, _computeState, CHECK_COMPUTE_STATE, COMPUTE_OK, and ComputeStateEngine().
Referenced by AlgoStateEngine(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_UseExisting_2D::Compute(), StdMeshers_UseExisting_1D::Compute(), and StdMeshers_CompositeSegment_1D::SetEventListener().
| SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::SubMeshesAlgoStateEngine | ( | algo_event | event, |
| SMESH_Hypothesis * | anHyp, | ||
| bool | exitOnFatal = false |
||
| ) |
Send an event to sub-meshes.
| [in] | event | - the event |
| [in] | anHyp | - an hypothesis |
| [in] | exitOnFatal | - to stop iteration on sub-meshes if a sub-mesh reports a fatal result |
Optional description of a problematic situation (if any) can be retrieved via GetComputeError().
References _computeError, AlgoStateEngine(), getDependsOnIterator(), SMESH_Hypothesis::HYP_OK, and SMESH_Hypothesis::IsStatusFatal().
Referenced by SMESH_Mesh::AddHypothesis(), SMESH_Mesh::CheckHypothesesOnSubMeshes(), and SMESH_Mesh::RemoveHypothesis().
Return true if all sub-meshes have been meshed.
References _algo, _alwaysComputed, _subShape, COMPUTE_OK, FAILED_TO_COMPUTE, GetComputeState(), getDependsOnIterator(), SMESH_Gen::GetShapeDim(), GetSubMeshDS(), GetSubShape(), SMESHDS_SubMesh::NbElements(), SMESHDS_SubMesh::NbNodes(), and SMESH_Algo::NeedDiscreteBoundary().
Referenced by ComputeStateEngine(), StdMeshers_Prism_3D::computeWalls(), and getCollection().
|
protected |
References GetAncestors().
Referenced by checkComputeError(), and ComputeStateEngine().
|
protected |
References getDependsOnIterator().
|
protected |
Referenced by AlgoStateEngine(), ComputeStateEngine(), GetAlgo(), SMESH_subMesh(), and SubMeshesComputed().
|
protected |
Referenced by GetAlgo(), and getCollection().
|
protected |
Referenced by AlgoStateEngine(), ComputeStateEngine(), DumpAlgoState(), setAlgoState(), and SMESH_subMesh().
|
protected |
Referenced by getCollection(), and SMESH_subMesh().
|
protected |
Referenced by ComputeStateEngine(), IsMeshComputed(), SetIsAlwaysComputed(), SMESH_subMesh(), and SubMeshesComputed().
|
protected |
Referenced by ClearAncestors(), and GetAncestors().
|
protected |
Referenced by computeCost(), and SMESH_subMesh().
|
protected |
Referenced by AlgoStateEngine(), checkComputeError(), ComputeStateEngine(), Evaluate(), and SubMeshesAlgoStateEngine().
|
protected |
Referenced by AlgoStateEngine(), checkComputeError(), ComputeStateEngine(), DumpAlgoState(), SetIsAlwaysComputed(), and SMESH_subMesh().
|
protected |
Referenced by DependsOn(), and SMESH_subMesh().
|
protected |
< event listeners to notify
event listeners to delete when HYP_OK algo_state is lost
Referenced by DeleteEventListener(), GetEventListenerData(), notifyListenersOnEvent(), and setEventListener().
|
protected |
Referenced by AlgoStateEngine(), checkComputeError(), CheckConcurrentHypothesis(), cleanDependsOn(), ComputeStateEngine(), CreateSubMeshDS(), deleteOwnListeners(), DependsOn(), Evaluate(), GetAlgo(), GetAncestors(), getCollection(), GetEventListenerData(), getSimilarAttached(), GetSubMeshDS(), insertDependence(), IsApplicableHypothesis(), IsConform(), IsMeshComputed(), loadDependentMeshes(), removeSubMeshElementsAndNodes(), and SMESH_subMesh().
|
protected |
Referenced by AlgoStateEngine(), checkComputeError(), ComputeStateEngine(), GetId(), and SMESH_subMesh().
|
protected |
Referenced by AlgoStateEngine(), DependsOn(), FindIntersection(), and insertDependence().
|
protected |
Referenced by AddOwnListener(), deleteOwnListeners(), GetEventListenerData(), loadDependentMeshes(), and SetEventListener().
|
protected |
Referenced by AlgoStateEngine(), GetComputeCost(), and SMESH_subMesh().
|
protected |
Referenced by GetSubMeshDS(), and SMESH_subMesh().
|
protected |
Referenced by AlgoStateEngine(), CanAddHypothesis(), checkComputeError(), CheckConcurrentHypothesis(), cleanDependants(), cleanDependsOn(), computeCost(), ComputeStateEngine(), CreateSubMeshDS(), DependsOn(), DumpAlgoState(), Evaluate(), GetAncestors(), getCollection(), GetSubMeshDS(), GetSubShape(), IsApplicableHypothesis(), IsConform(), IsMeshComputed(), removeSubMeshElementsAndNodes(), SMESH_subMesh(), and SubMeshesComputed().