StdMeshers_MEFISTO_2D Class Reference

#include <StdMeshers_MEFISTO_2D.hxx>

Inheritance diagram for StdMeshers_MEFISTO_2D:

Inheritance graph

Public Types

enum  Hypothesis_Status {
  HYP_OK, HYP_MISSING, HYP_CONCURENT, HYP_BAD_PARAMETER,
  HYP_UNKNOWN_FATAL, HYP_INCOMPATIBLE, HYP_NOTCONFORM, HYP_ALREADY_EXIST,
  HYP_BAD_DIM, HYP_BAD_SUBSHAPE
}
enum  hypothesis_type {
  PARAM_ALGO, ALGO, ALGO_1D, ALGO_2D,
  ALGO_3D
}

Public Member Functions

 StdMeshers_MEFISTO_2D (int hypId, int studyId, SMESH_Gen *gen)
virtual ~StdMeshers_MEFISTO_2D ()
virtual bool CheckHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, SMESH_Hypothesis::Hypothesis_Status &aStatus)
virtual bool Compute (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape)
double ComputeEdgeElementLength (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape)
bool LoadPoints (SMESH_Mesh &aMesh, const TopoDS_Face &F, const TopoDS_Wire &W, R2 *uvslf, int &m, map< int, const SMDS_MeshNode * > &mefistoToDS, double scalex, double scaley, const TopTools_IndexedDataMapOfShapeListOfShape &VWMap)
void ComputeScaleOnFace (SMESH_Mesh &aMesh, const TopoDS_Face &aFace, double &scalex, double &scaley)
void StoreResult (SMESH_Mesh &aMesh, Z nbst, R2 *uvst, Z nbt, Z *nust, const TopoDS_Face &F, bool faceIsForward, map< int, const SMDS_MeshNode * > &mefistoToDS, double scalex, double scaley)
ostream & SaveTo (ostream &save)
istream & LoadFrom (istream &load)
int NumberOfWires (const TopoDS_Shape &S)
int NumberOfPoints (SMESH_Mesh &aMesh, const TopoDS_Wire &W)
const std::vector< std::string > & GetCompatibleHypothesis ()
virtual const std::list< const
SMESHDS_Hypothesis * > & 
GetUsedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true)
const list< const SMESHDS_Hypothesis * > & GetAppliedHypothesis (SMESH_Mesh &aMesh, const TopoDS_Shape &aShape, const bool ignoreAuxiliary=true)
bool InitCompatibleHypoFilter (SMESH_HypoFilter &theFilter, const bool ignoreAuxiliary) const
 Make filter recognize only compatible hypotheses.
virtual bool SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape)
 Initialize my parameter values by the mesh built on the geometry.
bool OnlyUnaryInput () const
bool NeedDescretBoundary () const
virtual int GetDim () const
int GetStudyId () const
virtual void NotifySubMeshesHypothesisModification ()
virtual int GetShapeType () const
virtual const char * GetLibName () const
void SetLibName (const char *theLibName)
virtual bool IsAuxiliary () const
 Return true if me is an auxiliary hypothesis.
const char * GetName () const
int GetID () const
int GetType () const
virtual std::ostream & SaveTo (std::ostream &save)=0
virtual std::istream & LoadFrom (std::istream &load)=0

Static Public Member Functions

static double EdgeLength (const TopoDS_Edge &E)
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.
static bool IsReversedSubMesh (const TopoDS_Face &theFace, SMESHDS_Mesh *theMeshDS)
 Find out elements orientation on a geometrical face.
static bool IsStatusFatal (Hypothesis_Status theStatus)

Protected Attributes

double _edgeLength
double _maxElementArea
const StdMeshers_MaxElementArea_hypMaxElementArea
const StdMeshers_LengthFromEdges_hypLengthFromEdges
TopoDS_Wire myOuterWire
std::list< const SMDS_MeshNode * > myNodesOnCommonV
SMESH_MesherHelpermyTool
bool _onlyUnaryInput
bool _requireDescretBoundary
std::vector< std::string > _compatibleHypothesis
std::list< const SMESHDS_Hypothesis * > _appliedHypList
std::list< const SMESHDS_Hypothesis * > _usedHypList
bool _quadraticMesh
SMESH_Gen_gen
int _studyId
int _shapeType
int _param_algo_dim
std::string _name
int _hypId
int _type

Friends

ostream & operator<< (ostream &save, StdMeshers_MEFISTO_2D &hyp)
istream & operator>> (istream &load, StdMeshers_MEFISTO_2D &hyp)

Member Enumeration Documentation

enum SMESH_Hypothesis::Hypothesis_Status [inherited]
 

Enumerator:
HYP_OK 
HYP_MISSING 
HYP_CONCURENT 
HYP_BAD_PARAMETER 
HYP_UNKNOWN_FATAL 
HYP_INCOMPATIBLE 
HYP_NOTCONFORM 
HYP_ALREADY_EXIST 
HYP_BAD_DIM 
HYP_BAD_SUBSHAPE 

enum SMESHDS_Hypothesis::hypothesis_type [inherited]
 

Enumerator:
PARAM_ALGO 
ALGO 
ALGO_1D 
ALGO_2D 
ALGO_3D 


Constructor & Destructor Documentation

StdMeshers_MEFISTO_2D.StdMeshers_MEFISTO_2D int  hypId,
int  studyId,
SMESH_Gen gen
 

virtual StdMeshers_MEFISTO_2D.~StdMeshers_MEFISTO_2D  )  [virtual]
 


Member Function Documentation

virtual bool StdMeshers_MEFISTO_2D.CheckHypothesis SMESH_Mesh aMesh,
const TopoDS_Shape aShape,
SMESH_Hypothesis::Hypothesis_Status aStatus
[virtual]
 

Implements SMESH_Algo.

virtual bool StdMeshers_MEFISTO_2D.Compute SMESH_Mesh aMesh,
const TopoDS_Shape aShape
[virtual]
 

Implements SMESH_Algo.

double StdMeshers_MEFISTO_2D.ComputeEdgeElementLength SMESH_Mesh aMesh,
const TopoDS_Shape aShape
 

bool StdMeshers_MEFISTO_2D.LoadPoints SMESH_Mesh aMesh,
const TopoDS_Face &  F,
const TopoDS_Wire &  W,
R2 uvslf,
int m,
map< int, const SMDS_MeshNode * > &  mefistoToDS,
double  scalex,
double  scaley,
const TopTools_IndexedDataMapOfShapeListOfShape &  VWMap
 

void StdMeshers_MEFISTO_2D.ComputeScaleOnFace SMESH_Mesh aMesh,
const TopoDS_Face &  aFace,
double &  scalex,
double &  scaley
 

void StdMeshers_MEFISTO_2D.StoreResult SMESH_Mesh aMesh,
Z  nbst,
R2 uvst,
Z  nbt,
Z nust,
const TopoDS_Face &  F,
bool  faceIsForward,
map< int, const SMDS_MeshNode * > &  mefistoToDS,
double  scalex,
double  scaley
 

ostream& StdMeshers_MEFISTO_2D.SaveTo ostream &  save  ) 
 

istream& StdMeshers_MEFISTO_2D.LoadFrom istream &  load  ) 
 

int SMESH_2D_Algo.NumberOfWires const TopoDS_Shape S  )  [inherited]
 

int SMESH_2D_Algo.NumberOfPoints SMESH_Mesh aMesh,
const TopoDS_Wire &  W
[inherited]
 

const std::vector< std::string >& SMESH_Algo.GetCompatibleHypothesis  )  [inherited]
 

virtual const std::list<const SMESHDS_Hypothesis *>& SMESH_Algo.GetUsedHypothesis SMESH_Mesh aMesh,
const TopoDS_Shape aShape,
const bool  ignoreAuxiliary = true
[virtual, inherited]
 

Reimplemented in StdMeshers_Regular_1D.

const list<const SMESHDS_Hypothesis *>& SMESH_Algo.GetAppliedHypothesis SMESH_Mesh aMesh,
const TopoDS_Shape aShape,
const bool  ignoreAuxiliary = true
[inherited]
 

static double SMESH_Algo.EdgeLength const TopoDS_Edge &  E  )  [static, inherited]
 

bool SMESH_Algo.InitCompatibleHypoFilter SMESH_HypoFilter theFilter,
const bool  ignoreAuxiliary
const [inherited]
 

Parameters:
theFilter - the filter to initialize
ignoreAuxiliary - make filter ignore compatible auxiliary hypotheses
Return values:
bool - true if the algo has compatible hypotheses

static bool SMESH_Algo.GetNodeParamOnEdge const SMESHDS_Mesh theMesh,
const TopoDS_Edge &  theEdge,
std::vector< double > &  theParams
[static, inherited]
 

Parameters:
theMesh - The mesh containing nodes
theEdge - The geometrical edge of interest
theParams - The resulting vector of sorted node parameters
Return values:
bool - false if not all parameters are OK

static bool SMESH_Algo.IsReversedSubMesh const TopoDS_Face &  theFace,
SMESHDS_Mesh theMeshDS
[static, inherited]
 

Parameters:
theFace - The face correctly oriented in the shape being meshed
theMeshDS - The mesh data structure
Return values:
bool - true if the face normal and the normal of first element in the correspoding submesh point in different directions

virtual bool SMESH_Algo.SetParametersByMesh const SMESH_Mesh theMesh,
const TopoDS_Shape theShape
[virtual, inherited]
 

Parameters:
theMesh - the built mesh
theShape - the geometry of interest
Return values:
bool - true if parameter values have been successfully defined
Just return false as the algorithm does not hold parameters values

Implements SMESH_Hypothesis.

bool SMESH_Algo.OnlyUnaryInput  )  const [inherited]
 

bool SMESH_Algo.NeedDescretBoundary  )  const [inherited]
 

static bool SMESH_Hypothesis.IsStatusFatal Hypothesis_Status  theStatus  )  [static, inherited]
 

virtual int SMESH_Hypothesis.GetDim  )  const [virtual, inherited]
 

int SMESH_Hypothesis.GetStudyId  )  const [inherited]
 

virtual void SMESH_Hypothesis.NotifySubMeshesHypothesisModification  )  [virtual, inherited]
 

virtual int SMESH_Hypothesis.GetShapeType  )  const [virtual, inherited]
 

virtual const char* SMESH_Hypothesis.GetLibName  )  const [virtual, inherited]
 

void SMESH_Hypothesis.SetLibName const char *  theLibName  )  [inherited]
 

virtual bool SMESH_Hypothesis.IsAuxiliary  )  const [virtual, inherited]
 

Return values:
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

const char * SMESHDS_Hypothesis::GetName  )  const [inherited]
 

int SMESHDS_Hypothesis::GetID  )  const [inherited]
 

int SMESHDS_Hypothesis::GetType  )  const [inherited]
 

virtual std::ostream& SMESHDS_Hypothesis.SaveTo std::ostream &  save  )  [pure virtual, inherited]
 

Implemented in StdMeshers_Arithmetic1D, StdMeshers_AutomaticLength, StdMeshers_Deflection1D, StdMeshers_LengthFromEdges, StdMeshers_LocalLength, StdMeshers_MaxElementArea, StdMeshers_MaxElementVolume, StdMeshers_NotConformAllowed, StdMeshers_NumberOfSegments, StdMeshers_Propagation, StdMeshers_QuadranglePreference, StdMeshers_QuadraticMesh, and StdMeshers_StartEndLength.

virtual std::istream& SMESHDS_Hypothesis.LoadFrom std::istream &  load  )  [pure virtual, inherited]
 

Implemented in StdMeshers_Arithmetic1D, StdMeshers_AutomaticLength, StdMeshers_Deflection1D, StdMeshers_LengthFromEdges, StdMeshers_LocalLength, StdMeshers_MaxElementArea, StdMeshers_MaxElementVolume, StdMeshers_NotConformAllowed, StdMeshers_NumberOfSegments, StdMeshers_Propagation, StdMeshers_QuadranglePreference, StdMeshers_QuadraticMesh, and StdMeshers_StartEndLength.


Friends And Related Function Documentation

ostream& operator<< ostream &  save,
StdMeshers_MEFISTO_2D hyp
[friend]
 

istream& operator>> istream &  load,
StdMeshers_MEFISTO_2D hyp
[friend]
 


Field Documentation

double StdMeshers_MEFISTO_2D._edgeLength [protected]
 

double StdMeshers_MEFISTO_2D._maxElementArea [protected]
 

const StdMeshers_MaxElementArea* StdMeshers_MEFISTO_2D._hypMaxElementArea [protected]
 

const StdMeshers_LengthFromEdges* StdMeshers_MEFISTO_2D._hypLengthFromEdges [protected]
 

TopoDS_Wire StdMeshers_MEFISTO_2D.myOuterWire [protected]
 

std::list<const SMDS_MeshNode*> StdMeshers_MEFISTO_2D.myNodesOnCommonV [protected]
 

SMESH_MesherHelper* StdMeshers_MEFISTO_2D.myTool [protected]
 

bool SMESH_Algo._onlyUnaryInput [protected, inherited]
 

bool SMESH_Algo._requireDescretBoundary [protected, inherited]
 

std::vector<std::string> SMESH_Algo._compatibleHypothesis [protected, inherited]
 

std::list<const SMESHDS_Hypothesis *> SMESH_Algo._appliedHypList [protected, inherited]
 

std::list<const SMESHDS_Hypothesis *> SMESH_Algo._usedHypList [protected, inherited]
 

bool SMESH_Algo._quadraticMesh [protected, inherited]
 

SMESH_Gen* SMESH_Hypothesis._gen [protected, inherited]
 

int SMESH_Hypothesis._studyId [protected, inherited]
 

int SMESH_Hypothesis._shapeType [protected, inherited]
 

int SMESH_Hypothesis._param_algo_dim [protected, inherited]
 

std::string SMESHDS_Hypothesis._name [protected, inherited]
 

int SMESHDS_Hypothesis._hypId [protected, inherited]
 

int SMESHDS_Hypothesis._type [protected, inherited]