#include <StdMeshers_RadialPrism_3D.hxx>
Public Member Functions | |
virtual bool | CheckHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, SMESH_Hypothesis::Hypothesis_Status &aStatus) |
Check hypothesis definition to mesh a shape. More... | |
virtual bool | Compute (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape) |
Computes mesh on a shape. More... | |
virtual bool | Evaluate (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, MapShapeNbElems &aResMap) |
evaluates size of prospective mesh on a shape More... | |
StdMeshers_RadialPrism_3D (int hypId, int studyId, SMESH_Gen *gen) | |
virtual | ~StdMeshers_RadialPrism_3D () |
Destructor. More... | |
Public Member Functions inherited from SMESH_3D_Algo | |
SMESH_3D_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
SMESH_3D_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
virtual | ~SMESH_3D_Algo () |
Public Member Functions inherited from SMESH_Algo | |
virtual void | CancelCompute () |
Sets _computeCanceled to true. It's usage depends on implementation of a particular mesher. More... | |
virtual bool | Compute (SMESH_Mesh &aMesh, SMESH_MesherHelper *aHelper) |
Computes mesh without geometry. More... | |
const std::list< const SMESHDS_Hypothesis * > & | GetAppliedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) const |
Returns a list of compatible hypotheses assigned to a shape in a mesh. More... | |
const SMESH_HypoFilter * | GetCompatibleHypoFilter (const bool ignoreAuxiliary) const |
Returns the filter recognizing only compatible hypotheses. More... | |
const std::vector< std::string > & | GetCompatibleHypothesis () |
Returns all types of compatible hypotheses. More... | |
SMESH_ComputeErrorPtr | GetComputeError () const |
return compute error More... | |
const Features & | GetFeatures () const |
virtual double | GetProgress () const |
If possible, returns progress of computation [0.,1.]. More... | |
double | GetProgressByTic () const |
Return compute progress by nb of calls of this method. More... | |
virtual const std::list< const SMESHDS_Hypothesis * > & | GetUsedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) const |
Returns a list of compatible hypotheses used to mesh a shape. More... | |
void | InitComputeError () |
initialize compute error etc. before call of Compute() More... | |
virtual std::istream & | LoadFrom (std::istream &load) |
Loads nothing from a stream. More... | |
bool | NeedDiscreteBoundary () const |
bool | NeedLowerHyps (int dim) const |
bool | NeedShape () const |
int | NumberOfPoints (SMESH_Mesh &aMesh, const TopoDS_Wire &W) |
bool | OnlyUnaryInput () const |
virtual std::ostream & | SaveTo (std::ostream &save) |
Saves nothing in a stream. More... | |
virtual void | SetEventListener (SMESH_subMesh *subMesh) |
Sets event listener to submeshes if necessary. More... | |
virtual bool | SetParametersByDefaults (const TDefaults &dflts, const SMESH_Mesh *theMesh=0) |
Initialize my parameter values by default parameters. More... | |
virtual bool | SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape) |
Just return false as the algorithm does not hold parameters values. More... | |
SMESH_Algo (int hypId, int studyId, SMESH_Gen *gen) | |
Creates algorithm. More... | |
std::vector< SMESH_subMesh * > & | SubMeshesToCompute () |
virtual void | SubmeshRestored (SMESH_subMesh *subMesh) |
Allow algo to do something after persistent restoration. More... | |
bool | SupportSubmeshes () const |
virtual | ~ SMESH_Algo () |
Destructor. More... | |
Public Member Functions inherited from SMESH_Hypothesis | |
void | ClearParameters () |
virtual bool | DataDependOnParams () const |
The returned value is used by NotifySubMeshesHypothesisModification() to decide to call subMesh->AlgoStateEngine( MODIF_HYP, hyp ) or not if subMesh is ready to be computed (algo+hyp==OK) but not yet computed. True result is reasonable for example if EventListeners depend on parameters of hypothesis. More... | |
virtual int | GetDim () const |
SMESH_Gen * | GetGen () const |
char * | GetLastParameters () const |
virtual const char * | GetLibName () const |
SMESH_Mesh * | GetMeshByPersistentID (int id) |
Find a mesh with given persistent ID. More... | |
char * | GetParameters () const |
virtual int | GetShapeType () const |
int | GetStudyId () const |
virtual bool | IsAuxiliary () const |
Return true if me is an auxiliary hypothesis. More... | |
virtual void | NotifySubMeshesHypothesisModification () |
void | SetLastParameters (const char *theParameters) |
void | SetLibName (const char *theLibName) |
void | SetParameters (const char *theParameters) |
SMESH_Hypothesis (int hypId, int studyId, SMESH_Gen *gen) | |
virtual | ~SMESH_Hypothesis () |
Public Member Functions inherited from SMESHDS_Hypothesis | |
int | GetID () const |
const char * | GetName () const |
int | GetType () const |
bool | IsSameName (const SMESHDS_Hypothesis &other) const |
Compare types of hypotheses. More... | |
bool | operator!= (const SMESHDS_Hypothesis &other) const |
virtual bool | operator== (const SMESHDS_Hypothesis &other) const |
SMESHDS_Hypothesis (int hypId) | |
virtual | ~SMESHDS_Hypothesis () |
Static Public Member Functions | |
static bool | IsApplicable (const TopoDS_Shape &aShape, bool toCheckAll) |
Return true if the algorithm can mesh this shape. More... | |
Static Public Member Functions inherited from SMESH_Algo | |
static GeomAbs_Shape | Continuity (TopoDS_Edge E1, TopoDS_Edge E2) |
Return continuity of two edges. More... | |
static double | EdgeLength (const TopoDS_Edge &E) |
Compute length of an edge. More... | |
static const Features & | GetFeatures (const std::string &algoType) |
Returns a structure describing algorithm features. More... | |
static EMeshError | GetMeshError (SMESH_subMesh *subMesh) |
Finds topological errors of a sub-mesh. More... | |
static bool | GetNodeParamOnEdge (const SMESHDS_Mesh *theMesh, const TopoDS_Edge &theEdge, std::vector< double > &theParams) |
Fill vector of node parameters on geometrical edge, including vertex nodes. More... | |
static bool | GetSortedNodesOnEdge (const SMESHDS_Mesh *theMesh, const TopoDS_Edge &theEdge, const bool ignoreMediumNodes, std::map< double, const SMDS_MeshNode * > &theNodes, const SMDSAbs_ElementType typeToCheck=SMDSAbs_All) |
Fill map of node parameter on geometrical edge to node it-self. More... | |
static bool | IsContinuous (const TopoDS_Edge &E1, const TopoDS_Edge &E2) |
Return true if an edge can be considered as a continuation of another. More... | |
static bool | isDegenerated (const TopoDS_Edge &E) |
Return true if an edge has no 3D curve. More... | |
static bool | IsStraight (const TopoDS_Edge &E, const bool degenResult=false) |
Return true if an edge can be considered straight. More... | |
static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESH_Mesh *mesh) |
Return the node built on a vertex. A node moved to other geometry by MergeNodes() is also returned. More... | |
static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESHDS_Mesh *meshDS) |
Return the node built on a vertex. More... | |
static const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESHDS_SubMesh *edgeSM, const SMESH_Mesh *mesh, const bool checkV=true) |
Return the node built on a vertex. A node moved to other geometry by MergeNodes() is also returned. More... | |
Static Public Member Functions inherited from SMESH_Hypothesis | |
static bool | IsStatusFatal (Hypothesis_Status theStatus) |
Protected Types | |
typedef std::map< const SMDS_MeshNode *, TNodeColumn > | TNode2ColumnMap |
typedef std::vector< const SMDS_MeshNode * > | TNodeColumn |
Protected Member Functions | |
bool | computeLayerPositions (const gp_Pnt &pIn, const gp_Pnt &pOut) |
Compute positions of nodes between the internal and the external surfaces. More... | |
TNodeColumn * | makeNodeColumn (TNode2ColumnMap &n2ColMap, const SMDS_MeshNode *outNode, const SMDS_MeshNode *inNode) |
Create a column of nodes from outNode to inNode. More... | |
Protected Member Functions inherited from SMESH_Algo | |
void | addBadInputElement (const SMDS_MeshElement *elem) |
store a bad input element preventing computation, which may be a temporary one i.e. not residing the mesh, then it will be deleted by InitComputeError() More... | |
void | addBadInputElements (const SMESHDS_SubMesh *sm, const bool addNodes=false) |
bool | error (const SMESH_Comment &comment="") |
store COMPERR_ALGO_FAILED error and comment and then return false More... | |
bool | error (int error, const SMESH_Comment &comment="") |
store error and comment and then return ( error == COMPERR_OK ) More... | |
bool | error (SMESH_ComputeErrorPtr error) |
store error and return error->IsOK() More... | |
Protected Attributes | |
const StdMeshers_LayerDistribution * | myDistributionHypo |
SMESH_MesherHelper * | myHelper |
std::vector< double > | myLayerPositions |
const StdMeshers_NumberOfLayers * | myNbLayerHypo |
Additional Inherited Members | |
Public Types inherited from SMESH_Algo | |
enum | EMeshError { MEr_OK = 0, MEr_HOLES, MEr_BAD_ORI, MEr_EMPTY } |
Public Types inherited from SMESH_Hypothesis | |
enum | Hypothesis_Status { HYP_OK = 0, HYP_MISSING, HYP_CONCURENT, HYP_BAD_PARAMETER, HYP_HIDDEN_ALGO, HYP_HIDING_ALGO, HYP_UNKNOWN_FATAL, HYP_INCOMPATIBLE, HYP_NOTCONFORM, HYP_ALREADY_EXIST, HYP_BAD_DIM, HYP_BAD_SUBSHAPE, HYP_BAD_GEOMETRY, HYP_NEED_SHAPE, HYP_INCOMPAT_HYPS } |
Public Types inherited from SMESHDS_Hypothesis | |
enum | hypothesis_type { PARAM_ALGO, ALGO_0D, ALGO_1D, ALGO_2D, ALGO_3D } |
Member Typedef Documentation
◆ TNode2ColumnMap
|
protected |
◆ TNodeColumn
|
protected |
Constructor & Destructor Documentation
◆ StdMeshers_RadialPrism_3D()
StdMeshers_RadialPrism_3D::StdMeshers_RadialPrism_3D | ( | int | hypId, |
int | studyId, | ||
SMESH_Gen * | gen | ||
) |
References myDistributionHypo, and myNbLayerHypo.
◆ ~StdMeshers_RadialPrism_3D()
|
virtual |
Destructor.
Member Function Documentation
◆ CheckHypothesis()
|
virtual |
Check hypothesis definition to mesh a shape.
- Parameters
-
aMesh - the mesh aShape - the shape aStatus - check result
- Return values
-
bool - true if hypothesis is well defined
Textual description of a problem can be stored in _comment field.
Implements SMESH_Algo.
References SMESHDS_Hypothesis::GetName(), SMESH_Algo::GetUsedHypothesis(), SMESH_Hypothesis::HYP_ALREADY_EXIST, SMESH_Hypothesis::HYP_INCOMPATIBLE, SMESH_Hypothesis::HYP_MISSING, SMESH_Hypothesis::HYP_OK, myDistributionHypo, and myNbLayerHypo.
◆ Compute()
|
virtual |
Computes mesh on a shape.
- Parameters
-
aMesh - the mesh aShape - the shape
- Return values
-
bool - is a success
Algorithms that !NeedDiscreteBoundary() || !OnlyUnaryInput() are to set SMESH_ComputeError returned by SMESH_submesh::GetComputeError() to report problematic sub-shapes
Implements SMESH_Algo.
References StdMeshers_Prism_3D::AddPrisms(), SMESH_Algo::error(), StdMeshers_ShapeShapeBiDirectionMap::Extent(), SMESHDS_SubMesh::GetElements(), SMDS_MeshElement::GetID(), SMESH_Mesh::GetMeshDS(), SMDS_MeshElement::GetNode(), StdMeshers_ShapeShapeBiDirectionMap::IsBound(), SMESH_MesherHelper::IsQuadraticSubMesh(), makeNodeColumn(), SMESHDS_Mesh::MeshElements(), myHelper, myLayerPositions, SMDS_MeshElement::NbNodes(), and SMESHDS_Mesh::ShapeToIndex().
◆ computeLayerPositions()
|
protected |
Compute positions of nodes between the internal and the external surfaces.
- Return values
-
bool - is a success
References TNodeDistributor::Compute(), SMESH_Algo::error(), SMESH_Algo::GetComputeError(), TNodeDistributor::GetDistributor(), SMESH_MesherHelper::GetMesh(), StdMeshers_NumberOfLayers::GetNumberOfLayers(), myDistributionHypo, myHelper, myLayerPositions, and myNbLayerHypo.
Referenced by Evaluate(), and makeNodeColumn().
◆ Evaluate()
|
virtual |
evaluates size of prospective mesh on a shape
- Parameters
-
aMesh - the mesh aShape - the shape aResMap - prospective number of elements by SMDSAbs_ElementType by a sub-mesh
- Return values
-
bool - is a success
Implements SMESH_Algo.
References computeLayerPositions(), SMESH_subMesh::GetComputeError(), StdMeshers_LayerDistribution::GetLayerDistribution(), StdMeshers_NumberOfLayers::GetNumberOfLayers(), SMESH_Mesh::GetSubMesh(), myDistributionHypo, myLayerPositions, and myNbLayerHypo.
◆ IsApplicable()
|
static |
Return true if the algorithm can mesh this shape.
- Parameters
-
[in] aShape - shape to check [in] toCheckAll - if true, this check returns OK if all shapes are OK, else, returns OK if at least one shape is OK
References SMESH_MesherHelper::Count().
◆ makeNodeColumn()
|
protected |
Create a column of nodes from outNode to inNode.
- Parameters
-
n2ColMap - map of node columns to add a created column outNode - botton node of a column inNode - top node of a column
- Return values
-
const TNodeColumn* - a new column pointer
References SMESHDS_Mesh::AddNode(), computeLayerPositions(), SMESH_MesherHelper::GetMeshDS(), SMESH_MesherHelper::GetSubShapeID(), myHelper, myLayerPositions, and SMESHDS_Mesh::SetNodeInVolume().
Referenced by Compute().
Member Data Documentation
◆ myDistributionHypo
|
protected |
Referenced by CheckHypothesis(), computeLayerPositions(), Evaluate(), and StdMeshers_RadialPrism_3D().
◆ myHelper
|
protected |
Referenced by Compute(), computeLayerPositions(), and makeNodeColumn().
◆ myLayerPositions
|
protected |
Referenced by Compute(), computeLayerPositions(), Evaluate(), and makeNodeColumn().
◆ myNbLayerHypo
|
protected |
Referenced by CheckHypothesis(), computeLayerPositions(), Evaluate(), and StdMeshers_RadialPrism_3D().
The documentation for this class was generated from the following files:
- src/3rdParty/salomesmesh/inc/StdMeshers_RadialPrism_3D.hxx
- src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_RadialPrism_3D.cpp