#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_SubMesh * | CreateSubMeshDS () |
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_Algo * | GetAlgo () 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... | |
EventListenerData * | GetEventListenerData (const std::string &listenerName, const bool myOwn=false) const |
Return an event listener data. More... | |
EventListenerData * | GetEventListenerData (EventListener *listener, const bool myOwn=false) const |
Return an event listener data. More... | |
SMESH_Mesh * | GetFather () |
SMESH_subMesh * | GetFirstToCompute () |
int | GetId () const |
SMESHDS_SubMesh * | GetSubMeshDS () |
const SMESHDS_SubMesh * | GetSubMeshDS () 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_Hypothesis * | getSimilarAttached (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 occured 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
◆ algo_state
◆ compute_event
◆ compute_state
◆ event_type
Constructor & Destructor Documentation
◆ SMESH_subMesh()
SMESH_subMesh::SMESH_subMesh | ( | int | Id, |
SMESH_Mesh * | father, | ||
SMESHDS_Mesh * | meshDS, | ||
const TopoDS_Shape & | aSubShape | ||
) |
default constructor:
References SMESHDS_Mesh::MeshElements().
◆ ~ SMESH_subMesh()
|
virtual |
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 SMESHDS_Mesh::AddHypothesis(), SMESH_HypoFilter::And(), SMESH_HypoFilter::AndNot(), SMESH_Algo::CheckHypothesis(), SMESH_Gen::GetAlgo(), SMESH_Hypothesis::GetDim(), SMESHDS_Hypothesis::GetName(), 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, SMESH_HypoFilter::Init(), SMESH_Algo::InitComputeError(), SMESH_HypoFilter::Is(), SMESH_HypoFilter::IsAlgo(), SMESH_HypoFilter::IsApplicableTo(), SMESH_Hypothesis::IsAuxiliary(), SMESH_Hypothesis::IsStatusFatal(), SMESH_MesherHelper::IsSubShape(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_Algo::NeedShape(), SMESHDS_Mesh::RemoveHypothesis(), SMESH_Algo::SetEventListener(), and SMESH_Algo::SupportSubmeshes().
Referenced by SMESH_Mesh::AddHypothesis(), SMESH_Mesh::RemoveHypothesis(), and SubMeshesAlgoStateEngine().
◆ CanAddHypothesis()
bool SMESH_subMesh::CanAddHypothesis | ( | const SMESH_Hypothesis * | theHypothesis | ) | const |
References SMESH_Hypothesis::GetDim(), and SMESH_Gen::GetShapeDim().
◆ checkComputeError()
|
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(), SMESHDS_Hypothesis::GetName(), GetSubShape(), SMESH_Algo::isDegenerated(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), and SMESH_Algo::OnlyUnaryInput().
Referenced by checkComputeError().
◆ CheckConcurentHypothesis()
SMESH_Hypothesis::Hypothesis_Status SMESH_subMesh::CheckConcurentHypothesis | ( | const int | theHypType | ) |
References SMESH_Hypothesis::HYP_CONCURENT, and SMESH_Hypothesis::HYP_OK.
Referenced by SMESH_Mesh::AddHypothesis(), and SMESH_Mesh::RemoveHypothesis().
◆ cleanDependants()
|
protected |
References SMESH_Gen::GetShapeDim().
◆ cleanDependsOn()
|
protected |
Remove elements from sub-meshes.
- Parameters
-
algoRequiringCleaning - an all-dimensional algorithm whose presence causes the cleaning.
References ComputeStateEngine(), SMESHDS_Mesh::GetHypothesis(), SMESH_Gen::GetShapeDim(), GetSubShape(), IsEmpty(), SMESH_Algo::NeedLowerHyps(), SMESHDS_Hypothesis::PARAM_ALGO, and SMESH_Algo::SupportSubmeshes().
◆ ClearAncestors()
void SMESH_subMesh::ClearAncestors | ( | ) |
Clears the vector of ancestor sub-meshes.
◆ computeCost()
|
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.
◆ ComputeStateEngine()
bool SMESH_subMesh::ComputeStateEngine | ( | int | event | ) |
References SMESH_Algo::CancelCompute(), SMESH_Algo::CheckHypothesis(), SMDS_Mesh::CheckMemory(), SMESH_Algo::Compute(), SMESH_Algo::GetComputeError(), getDependsOnIterator(), GetSubShape(), SMESH_Algo::InitComputeError(), SMESH_Algo::isDegenerated(), IsMeshComputed(), SMESHDS_SubMesh::NbNodes(), SMESH_Algo::NeedDiscreteBoundary(), SMESH_ComputeError::New(), SMESH_Algo::OnlyUnaryInput(), SMESH_MesherHelper::SetElementsOnShape(), SMESH_MesherHelper::SetSubShape(), SMESH_Algo::SubMeshesToCompute(), SMESH_Algo::SubmeshRestored(), SMESH_Algo::SupportSubmeshes(), updateDependantsState(), SALOME_Exception::what(), and SMESH_ComputeError::Worst().
Referenced by NETGENPlugin_Mesher::AddIntVerticesInFaces(), NETGENPlugin_Mesher::AddIntVerticesInSolids(), cleanDependsOn(), StdMeshers_Penta_3D::ClearMeshOnFxy1(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_Import_1D2D::Compute(), SMESH_Gen::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Quadrangle_2D::getEnforcedUV(), and StdMeshers_Penta_3D::MakeMeshOnFxy1().
◆ ComputeSubMeshStateEngine()
void SMESH_subMesh::ComputeSubMeshStateEngine | ( | int | event, |
const bool | includeSelf = false |
||
) |
◆ CreateSubMeshDS()
SMESHDS_SubMesh * SMESH_subMesh::CreateSubMeshDS | ( | ) |
References SMESHDS_Mesh::NewSubMesh(), and SMESHDS_Mesh::ShapeToIndex().
◆ 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()
|
protected |
Delete event listeners depending on algo of this submesh.
◆ DependsOn() [1/2]
const map< int, SMESH_subMesh * > & SMESH_subMesh::DependsOn | ( | ) |
Returns all sub-meshes this one depend on
Referenced by 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()
void SMESH_subMesh::DumpAlgoState | ( | bool | isMain | ) |
References DumpAlgoState(), and SMESH_Gen::GetShapeDim().
Referenced by SMESH_Mesh::AddHypothesis(), DumpAlgoState(), and SMESH_Mesh::RemoveHypothesis().
◆ Evaluate()
bool SMESH_subMesh::Evaluate | ( | MapShapeNbElems & | aResMap | ) |
◆ 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
-
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 GetId().
◆ GetAlgo()
SMESH_Algo * SMESH_subMesh::GetAlgo | ( | ) | const |
Returns a current algorithm.
References GetAlgo().
Referenced by GetAlgo(), getCollection(), SMESH_Mesh::GetComputeProgress(), SMESH_Mesh::IsUsedHypothesis(), StdMeshers_ProjectionUtils::MakeComputed(), and SMESH_Mesh::NotifySubMeshesHypothesisModification().
◆ GetAlgoState()
algo_state SMESH_subMesh::GetAlgoState | ( | ) | const |
◆ GetAncestors()
const std::vector< SMESH_subMesh * > & SMESH_subMesh::GetAncestors | ( | ) | const |
Returns ancestor sub-meshes. Finds them if not yet found.
Referenced by SMESH_Mesh::GetHypotheses(), and SMESH_Mesh::GetHypothesis().
◆ getCollection()
|
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(), and SubMeshesComputed().
◆ 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()
SMESH_ComputeErrorPtr& SMESH_subMesh::GetComputeError | ( | ) |
Referenced by SMESH_Mesh::AddHypothesis(), StdMeshers_Quadrangle_2D::check(), StdMeshers_ViscousLayers2D::Compute(), NETGENPlugin_NETGEN_2D_ONLY::Compute(), SMESH_Gen::Compute(), StdMeshers_ViscousLayers::Compute(), NETGENPlugin_Mesher::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), StdMeshers_RadialQuadrangle_1D2D::Evaluate(), StdMeshers_Regular_1D::Evaluate(), StdMeshers_RadialPrism_3D::Evaluate(), StdMeshers_Hexa_3D::Evaluate(), NETGENPlugin_NETGEN_2D_ONLY::Evaluate(), StdMeshers_MEFISTO_2D::Evaluate(), NETGENPlugin_NETGEN_3D::Evaluate(), NETGENPlugin_Mesher::Evaluate(), StdMeshers_Quadrangle_2D::Evaluate(), and NETGENPlugin_Mesher::FillNgMesh().
◆ GetComputeState()
compute_state SMESH_subMesh::GetComputeState | ( | ) | const |
Referenced by StdMeshers_Import_1D2D::Compute(), SMESH_Gen::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), getCollection(), SMESH_Mesh::GetComputeProgress(), GetFirstToCompute(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), SMESH_subMeshEventListener::ProcessEvent(), and SubMeshesComputed().
◆ getDependsOnIterator()
SMESH_subMeshIteratorPtr SMESH_subMesh::getDependsOnIterator | ( | const bool | includeSelf, |
const bool | reverse = false |
||
) | const |
Return iterator on the sub-meshes this one depends on. By default most simple sub-meshes go first.
Return iterator on the submeshes this one depends on.
- Parameters
-
includeSelf - this submesh to be returned also reverse - if true, complex shape submeshes go first
References DependsOn().
Referenced by SMESH_Mesh::AddHypothesis(), StdMeshers_Projection_2D::Compute(), SMESH_Gen::Compute(), StdMeshers_Prism_3D::Compute(), ComputeStateEngine(), StdMeshers_Projection_1D2D::Evaluate(), SMESH_Gen::Evaluate(), SMESH_MeshEditor::ExtrusionAlongTrack(), SMESH_Gen::GetAlgoState(), NETGENPlugin_Internals::getInternalFaces(), SMESH_Mesh::GetSubMesh(), StdMeshers_MEFISTO_2D::LoadPoints(), NETGENPlugin_Mesher::PrepareOCCgeometry(), SMESH_Mesh::RemoveHypothesis(), and StdMeshers_CompositeSegment_1D::SetEventListener().
◆ 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()
SMESH_Mesh* SMESH_subMesh::GetFather | ( | ) |
Referenced by SMESH_MeshEditor::ExtrusionAlongTrack(), NETGENPlugin_Mesher::FillNgMesh(), SMESH_Gen::GetAlgo(), SMESH_MesherHelper::IsDistorted2D(), SMESH_MesherHelper::IsStructured(), StdMeshers_ProjectionUtils::MakeComputed(), StdMeshers_Import_1D2D::SetEventListener(), StdMeshers_Import_1D::SetEventListener(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), StdMeshers_ProjectionUtils::SourceNotComputedError(), and VISCOUS_3D::ToClearSubWithMain().
◆ GetFirstToCompute()
SMESH_subMesh * SMESH_subMesh::GetFirstToCompute | ( | ) |
References GetComputeState().
◆ GetId()
int SMESH_subMesh::GetId | ( | ) | const |
Referenced by SMESH_Mesh::AddHypothesis(), StdMeshers_Projection_2D::Compute(), StdMeshers_Import_1D2D::Compute(), SMESH_Gen::Compute(), NETGENPlugin_Mesher::Compute(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_Gen::Evaluate(), FindIntersection(), SMESH_Mesh::GetComputeProgress(), insertDependence(), SMESH_Mesh::IsOrderOK(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), and NETGENPlugin_Internals::NETGENPlugin_Internals().
◆ getSimilarAttached()
|
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 SMESH_HypoFilter::And(), SMESH_HypoFilter::AndNot(), SMESH_Hypothesis::GetDim(), 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().
◆ GetSubMeshDS() [1/2]
const SMESHDS_SubMesh * SMESH_subMesh::GetSubMeshDS | ( | ) |
Referenced by StdMeshers_Projection_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_1D::Compute(), NETGENPlugin_Mesher::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), SMESH_MeshEditor::ConvertFromQuadratic(), SMESH_MeshEditor::ConvertToQuadratic(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), StdMeshers_Projection_2D::Evaluate(), StdMeshers_Projection_1D::Evaluate(), SMESH_MeshEditor::ExtrusionAlongTrack(), NETGENPlugin_Mesher::FillNgMesh(), NETGENPlugin_Internals::findBorderElements(), StdMeshers_Penta_3D::FindNodeOnShape(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Mesh::GetGroupSubMeshesContaining(), SMESH_Algo::GetMeshError(), SMESH_MesherHelper::IsStructured(), StdMeshers_MEFISTO_2D::LoadPoints(), StdMeshers_Penta_3D::MakeBlock(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_Algo::NumberOfPoints(), StdMeshers_ProjectionUtils::SetEventListener(), NETGENPlugin_SimpleHypothesis_3D::SetParametersByMesh(), NETGENPlugin_SimpleHypothesis_2D::SetParametersByMesh(), and SubMeshesComputed().
◆ GetSubMeshDS() [2/2]
const SMESHDS_SubMesh* SMESH_subMesh::GetSubMeshDS | ( | ) | const |
◆ GetSubShape()
const TopoDS_Shape & SMESH_subMesh::GetSubShape | ( | ) | const |
Return a shape of this sub-mesh
Referenced by checkComputeError(), cleanDependsOn(), StdMeshers_Projection_2D::Compute(), SMESH_Gen::Compute(), ComputeStateEngine(), SMESH_MeshEditor::ConvertToQuadratic(), StdMeshers_Projection_1D2D::Evaluate(), SMESH_Gen::Evaluate(), Evaluate(), SMESH_MeshEditor::ExtrusionAlongTrack(), NETGENPlugin_Mesher::FillNgMesh(), SMESH_Gen::GetAlgo(), SMESH_Gen::GetAlgoState(), SMESH_Mesh::GetGroupSubMeshesContaining(), SMESH_Mesh::GetHypotheses(), SMESH_Mesh::GetHypothesis(), NETGENPlugin_Internals::getInternalFaces(), SMESH_Algo::GetMeshError(), SMESH_Mesh::HasModificationsToDiscard(), SMESH_MesherHelper::IsDistorted2D(), SMESH_MesherHelper::IsStructured(), StdMeshers_ProjectionUtils::MakeComputed(), VISCOUS_3D::_ViscousBuilder::MakeN2NMap(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), NETGENPlugin_Mesher::PrepareOCCgeometry(), StdMeshers_Import_1D2D::SetEventListener(), StdMeshers_Import_1D::SetEventListener(), StdMeshers_CompositeSegment_1D::SetEventListener(), StdMeshers_ProjectionUtils::SetEventListener(), StdMeshers_ProjectionUtils::SourceNotComputedError(), SubMeshesComputed(), and StdMeshers_RadialQuadrangle_1D2D::SubmeshRestored().
◆ insertDependence()
|
protected |
Add sub-meshes on sub-shapes of a given type into the dependence map.
References DependsOn(), and GetId().
◆ IsAlwaysComputed()
bool SMESH_subMesh::IsAlwaysComputed | ( | ) |
◆ IsApplicableHypotesis() [1/2]
bool SMESH_subMesh::IsApplicableHypotesis | ( | const SMESH_Hypothesis * | theHypothesis | ) | const |
◆ IsApplicableHypotesis() [2/2]
|
static |
References SMESH_Hypothesis::GetDim(), SMESH_Gen::GetShapeDim(), SMESH_Hypothesis::GetShapeType(), SMESHDS_Hypothesis::GetType(), and SMESHDS_Hypothesis::PARAM_ALGO.
Referenced by SMESH_Mesh::AddHypothesis(), SMESH_HypoFilter::ApplicablePredicate::IsOk(), SMESH_Mesh::IsUsedHypothesis(), SMESH_Mesh::NotifySubMeshesHypothesisModification(), and SMESH_Mesh::RemoveHypothesis().
◆ IsConform()
bool SMESH_subMesh::IsConform | ( | const SMESH_Algo * | theAlgo | ) |
References SMESH_Algo::NeedDiscreteBoundary(), and SMESH_Algo::OnlyUnaryInput().
◆ IsEmpty()
bool SMESH_subMesh::IsEmpty | ( | ) | const |
Return true if no mesh entities is bound to the submesh.
Referenced by cleanDependsOn(), NETGENPlugin_Mesher::Compute(), StdMeshers_Prism_3D::Compute(), NETGENPlugin_Mesher::FillNgMesh(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Mesh::GetComputeProgress(), NETGENPlugin_Internals::getInternalFaces(), StdMeshers_PrismAsBlock::GetLayersTransformation(), NETGENPlugin_Internals::NETGENPlugin_Internals(), NETGENPlugin_Mesher::PrepareOCCgeometry(), VISCOUS_3D::_ShrinkShapeListener::ProcessEvent(), NETGENPlugin_SimpleHypothesis_3D::SetParametersByMesh(), NETGENPlugin_SimpleHypothesis_2D::SetParametersByMesh(), and StdMeshers_RadialQuadrangle_1D2D::SubmeshRestored().
◆ IsMeshComputed()
bool SMESH_subMesh::IsMeshComputed | ( | ) | const |
References SMESH_Gen::GetShapeDim(), and SMESHDS_Mesh::MeshElements().
Referenced by StdMeshers_Projection_3D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_1D::Compute(), NETGENPlugin_Mesher::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Regular_1D::computeInternalParameters(), ComputeStateEngine(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), StdMeshers_Projection_2D::Evaluate(), StdMeshers_Projection_1D::Evaluate(), SMESH_Mesh::HasModificationsToDiscard(), and StdMeshers_ProjectionUtils::MakeComputed().
◆ loadDependentMeshes()
|
protected |
loads dependent meshes on SUBMESH_LOADED event
◆ notifyListenersOnEvent()
|
protected |
Notify stored event listeners on the occured event.
- Parameters
-
event - algo_event or compute_event itself eventType - algo_event or compute_event hyp - hypothesis, if eventType is algo_event
◆ removeSubMeshElementsAndNodes()
|
protected |
References SMESH_Gen::GetShapeDim().
◆ setAlgoState()
|
protected |
◆ setEventListener()
|
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(), 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)
Referenced by StdMeshers_CompositeSegment_1D::Compute(), NETGENPlugin_Mesher::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(), SMESH_Hypothesis::HYP_OK, and SMESH_Hypothesis::IsStatusFatal().
Referenced by SMESH_Mesh::AddHypothesis(), and SMESH_Mesh::RemoveHypothesis().
◆ SubMeshesComputed()
Return true if all sub-meshes have been meshed
References GetComputeState(), SMESH_Gen::GetShapeDim(), GetSubMeshDS(), GetSubShape(), SMESHDS_SubMesh::NbElements(), and SMESHDS_SubMesh::NbNodes().
Referenced by getCollection().
◆ updateDependantsState()
|
protected |
Referenced by ComputeStateEngine().
◆ updateSubMeshState()
|
protected |
The documentation for this class was generated from the following files:
- src/3rdParty/salomesmesh/inc/SMESH_subMesh.hxx
- src/3rdParty/salomesmesh/src/SMESH/SMESH_subMesh.cpp