SALOME - SMESH
|
Computes hexahedral mesh on a box with composite sides. More...
#include <StdMeshers_CompositeHexa_3D.hxx>
Public Types | |
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 } |
enum | hypothesis_type { PARAM_ALGO, ALGO_0D, ALGO_1D, ALGO_2D, ALGO_3D } |
Public Member Functions | |
StdMeshers_CompositeHexa_3D (int hypId, int studyId, SMESH_Gen *gen) | |
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... | |
virtual bool | CheckHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, Hypothesis_Status &aStatus) |
Check hypothesis definition to mesh a shape. More... | |
virtual std::ostream & | SaveTo (std::ostream &save) |
Saves nothing in a stream. More... | |
virtual std::istream & | LoadFrom (std::istream &load) |
Loads nothing from a stream. More... | |
const std::vector< std::string > & | GetCompatibleHypothesis () |
Returns all types of compatible hypotheses. More... | |
virtual bool | Compute (SMESH_Mesh &aMesh, SMESH_MesherHelper *aHelper) |
Computes mesh without geometry. More... | |
virtual const std::list< const SMESHDS_Hypothesis * > & | GetUsedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) |
Returns a list of compatible hypotheses used to mesh a shape. More... | |
const std::list< const SMESHDS_Hypothesis * > & | GetAppliedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true) |
Returns a list of compatible hypotheses assigned to a shape in a mesh. More... | |
bool | InitCompatibleHypoFilter (SMESH_HypoFilter &theFilter, const bool ignoreAuxiliary) const |
Make the filter recognize only compatible hypotheses. More... | |
virtual bool | SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape) |
Just return false as the algorithm does not hold parameters values. More... | |
virtual bool | SetParametersByDefaults (const TDefaults &dflts, const SMESH_Mesh *theMesh=0) |
Initialize my parameter values by default parameters. More... | |
SMESH_ComputeErrorPtr | GetComputeError () const |
return compute error More... | |
void | InitComputeError () |
initialize compute error More... | |
bool | OnlyUnaryInput () const |
bool | NeedDescretBoundary () const |
bool | NeedShape () const |
bool | SupportSubmeshes () const |
virtual void | SetEventListener (SMESH_subMesh *subMesh) |
Sets event listener to submeshes if necessary. More... | |
virtual void | SubmeshRestored (SMESH_subMesh *subMesh) |
Allow algo to do something after persistent restoration. More... | |
virtual int | GetDim () const |
int | GetStudyId () const |
virtual void | NotifySubMeshesHypothesisModification () |
virtual int | GetShapeType () const |
virtual const char * | GetLibName () const |
void | SetLibName (const char *theLibName) |
void | SetParameters (const char *theParameters) |
char * | GetParameters () const |
void | SetLastParameters (const char *theParameters) |
char * | GetLastParameters () const |
void | ClearParameters () |
virtual bool | IsAuxiliary () const |
Return true if me is an auxiliary hypothesis. More... | |
const char * | GetName () const |
int | GetID () const |
int | GetType () const |
Static Public Member Functions | |
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) |
Fill map of node parameter on geometrical edge to node it-self. More... | |
static bool | IsReversedSubMesh (const TopoDS_Face &theFace, SMESHDS_Mesh *theMeshDS) |
Find out elements orientation on a geometrical face. More... | |
static double | EdgeLength (const TopoDS_Edge &E) |
Compute length of an edge. More... | |
static GeomAbs_Shape | Continuity (const TopoDS_Edge &E1, const TopoDS_Edge &E2) |
Return continuity of two edges. 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 const SMDS_MeshNode * | VertexNode (const TopoDS_Vertex &V, const SMESHDS_Mesh *meshDS) |
Return the node built on a vertex. More... | |
static bool | IsStatusFatal (Hypothesis_Status theStatus) |
Protected Member Functions | |
bool | error (int error, const SMESH_Comment &comment="") |
store error and comment and then return ( error == COMPERR_OK ) More... | |
bool | error (const SMESH_Comment &comment="") |
store COMPERR_ALGO_FAILED error and comment and then return false More... | |
bool | error (SMESH_ComputeErrorPtr error) |
store error and return error->IsOK() More... | |
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... | |
Protected Attributes | |
std::vector< std::string > | _compatibleHypothesis |
std::list< const SMESHDS_Hypothesis * > | _appliedHypList |
std::list< const SMESHDS_Hypothesis * > | _usedHypList |
bool | _onlyUnaryInput |
bool | _requireDescretBoundary |
bool | _requireShape |
bool | _supportSubmeshes |
bool | _quadraticMesh |
int | _error |
SMESH_ComputeErrorName or anything algo specific. More... | |
std::string | _comment |
any text explaining what is wrong in Compute() More... | |
std::list< const SMDS_MeshElement * > | _badInputElements |
to explain COMPERR_BAD_INPUT_MESH More... | |
SMESH_Gen * | _gen |
int | _studyId |
int | _shapeType |
int | _param_algo_dim |
std::string | _name |
int | _hypId |
int | _type |
Computes hexahedral mesh on a box with composite sides.
The algorithm expects faces of a box to be meshed with quadrangles so that opposite box sides have equal number of quadrangles.
Definition at line 44 of file StdMeshers_CompositeHexa_3D.hxx.
|
inherited |
Definition at line 50 of file SMESH_Hypothesis.hxx.
|
inherited |
Enumerator | |
---|---|
PARAM_ALGO | |
ALGO_0D | |
ALGO_1D | |
ALGO_2D | |
ALGO_3D |
Definition at line 49 of file SMESHDS_Hypothesis.hxx.
StdMeshers_CompositeHexa_3D::StdMeshers_CompositeHexa_3D | ( | int | hypId, |
int | studyId, | ||
SMESH_Gen * | gen | ||
) |
|
virtual |
Computes mesh on a shape.
aMesh | - the mesh |
aShape | - the shape |
bool | - is a success |
Algorithms that !NeedDescretBoundary() || !OnlyUnaryInput() are to set SMESH_ComputeError returned by SMESH_submesh::GetComputeError() to report problematic subshapes
Implements SMESH_Algo.
|
virtual |
evaluates size of prospective mesh on a shape
aMesh | - the mesh |
aShape | - the shape |
aNbElems | - prospective number of elements by types |
bool | - is a success |
Implements SMESH_Algo.
|
virtual |
Check hypothesis definition to mesh a shape.
aMesh | - the mesh |
aShape | - the shape |
aStatus | - check result |
bool | - true if hypothesis is well defined |
Implements SMESH_Algo.
|
virtualinherited |
Saves nothing in a stream.
save | - the stream |
virtual | std::ostream & - the stream |
Implements SMESHDS_Hypothesis.
|
virtualinherited |
Loads nothing from a stream.
load | - the stream |
virtual | std::ostream & - the stream |
Implements SMESHDS_Hypothesis.
|
inherited |
Returns all types of compatible hypotheses.
|
virtualinherited |
Computes mesh without geometry.
aMesh | - the mesh |
aHelper | - helper that must be used for adding elements to |
bool | - is a success |
The method is called if ( !aMesh->HasShapeToMesh() )
Reimplemented in NETGENPlugin_NETGEN_3D.
|
virtualinherited |
Returns a list of compatible hypotheses used to mesh a shape.
aMesh | - the mesh |
aShape | - the shape |
ignoreAuxiliary | - do not include auxiliary hypotheses in the list |
const | std::list <const SMESHDS_Hypothesis*> - hypotheses list |
List the hypothesis used by the algorithm associated to the shape. Hypothesis associated to father shape -are- taken into account (see GetAppliedHypothesis). Relevant hypothesis have a name (type) listed in the algorithm. This method could be surcharged by specific algorithms, in case of several hypothesis simultaneously applicable.
Reimplemented in StdMeshers_Regular_1D.
|
inherited |
Returns a list of compatible hypotheses assigned to a shape in a mesh.
aMesh | - the mesh |
aShape | - the shape |
ignoreAuxiliary | - do not include auxiliary hypotheses in the list |
const | std::list <const SMESHDS_Hypothesis*> - hypotheses list |
List the relevant hypothesis associated to the shape. Relevant hypothesis have a name (type) listed in the algorithm. Hypothesis associated to father shape -are not- taken into account (see GetUsedHypothesis)
|
inherited |
Make the filter recognize only compatible hypotheses.
theFilter | - the filter to initialize |
ignoreAuxiliary | - make filter ignore compatible auxiliary hypotheses |
bool | - true if the algo has compatible hypotheses |
|
virtualinherited |
Just return false as the algorithm does not hold parameters values.
Implements SMESH_Hypothesis.
|
virtualinherited |
Initialize my parameter values by default parameters.
bool | - true if parameter values have been successfully defined |
Implements SMESH_Hypothesis.
|
inherited |
return compute error
|
inherited |
initialize compute error
|
inherited |
Definition at line 201 of file SMESH_Algo.hxx.
|
inherited |
Definition at line 209 of file SMESH_Algo.hxx.
|
inherited |
Definition at line 212 of file SMESH_Algo.hxx.
|
inherited |
Definition at line 215 of file SMESH_Algo.hxx.
|
virtualinherited |
Sets event listener to submeshes if necessary.
subMesh | - submesh where algo is set |
This method is called when a submesh gets HYP_OK algo_state. After being set, event listener is notified on each event of a submesh. By default non listener is set
Reimplemented in StdMeshers_Regular_1D, StdMeshers_Projection_1D, StdMeshers_Projection_2D, StdMeshers_Projection_3D, and StdMeshers_CompositeSegment_1D.
|
virtualinherited |
Allow algo to do something after persistent restoration.
subMesh | - restored submesh |
This method is called only if a submesh has HYP_OK algo_state.
Reimplemented in StdMeshers_Regular_1D, and StdMeshers_RadialQuadrangle_1D2D.
|
staticinherited |
Fill vector of node parameters on geometrical edge, including vertex nodes.
theMesh | - The mesh containing nodes |
theEdge | - The geometrical edge of interest |
theParams | - The resulting vector of sorted node parameters |
bool | - false if not all parameters are OK |
|
staticinherited |
Fill map of node parameter on geometrical edge to node it-self.
theMesh | - The mesh containing nodes |
theEdge | - The geometrical edge of interest |
theNodes | - The resulting map |
ignoreMediumNodes | - to store medium nodes of quadratic elements or not |
bool | - false if not all parameters are OK |
|
staticinherited |
Find out elements orientation on a geometrical face.
theFace | - The face correctly oriented in the shape being meshed |
theMeshDS | - The mesh data structure |
bool | - true if the face normal and the normal of first element in the correspoding submesh point in different directions |
|
staticinherited |
Compute length of an edge.
E | - the edge |
double | - the length |
|
staticinherited |
Return continuity of two edges.
E1 | - the 1st edge |
E2 | - the 2nd edge |
GeomAbs_Shape | - regularity at the junction between E1 and E2 |
|
staticinherited |
Return true if an edge can be considered as a continuation of another.
Definition at line 295 of file SMESH_Algo.hxx.
|
staticinherited |
Return the node built on a vertex.
V | - the vertex |
meshDS | - mesh |
const | SMDS_MeshNode* - found node or NULL |
|
protectedinherited |
store error and comment and then return ( error == COMPERR_OK )
|
protectedinherited |
store COMPERR_ALGO_FAILED error and comment and then return false
Definition at line 317 of file SMESH_Algo.hxx.
References COMPERR_ALGO_FAILED.
|
protectedinherited |
store error and return error->IsOK()
|
protectedinherited |
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()
|
staticinherited |
Definition at line 68 of file SMESH_Hypothesis.hxx.
|
virtualinherited |
|
inherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
Return true if me is an auxiliary hypothesis.
bool | - auxiliary or not |
An auxiliary hypothesis is optional, i.e. an algorithm can work without it and another hypothesis of the same dimention can be assigned to the shape
Definition at line 114 of file SMESH_Hypothesis.hxx.
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
Definition at line 332 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 333 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 334 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 339 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 340 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 341 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 342 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 346 of file SMESH_Algo.hxx.
|
protectedinherited |
SMESH_ComputeErrorName or anything algo specific.
Definition at line 348 of file SMESH_Algo.hxx.
|
protectedinherited |
any text explaining what is wrong in Compute()
Definition at line 349 of file SMESH_Algo.hxx.
|
protectedinherited |
to explain COMPERR_BAD_INPUT_MESH
Definition at line 350 of file SMESH_Algo.hxx.
|
protectedinherited |
Definition at line 118 of file SMESH_Hypothesis.hxx.
|
protectedinherited |
Definition at line 119 of file SMESH_Hypothesis.hxx.
|
protectedinherited |
Definition at line 120 of file SMESH_Hypothesis.hxx.
|
protectedinherited |
Definition at line 121 of file SMESH_Hypothesis.hxx.
|
protectedinherited |
Definition at line 52 of file SMESHDS_Hypothesis.hxx.
|
protectedinherited |
Definition at line 53 of file SMESHDS_Hypothesis.hxx.
|
protectedinherited |
Definition at line 54 of file SMESHDS_Hypothesis.hxx.