Version: 9.12.0
StdMeshers_MaxLength Class Reference

#include <StdMeshers_MaxLength.hxx>

Inheritance diagram for StdMeshers_MaxLength:

Public Types

enum  Hypothesis_Status {
  HYP_OK = 0 , HYP_MISSING , HYP_CONCURRENT , 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
}
 
enum  InitWay { BY_MESH , BY_GEOM , BY_AVERAGE_LENGTH }
 
enum  hypothesis_type {
  PARAM_ALGO , ALGO_0D , ALGO_1D , ALGO_2D ,
  ALGO_3D
}
 

Public Member Functions

 StdMeshers_MaxLength (int hypId, SMESH_Gen *gen)
 
virtual ~ StdMeshers_MaxLength ()
 
void SetLength (double length)
 
double GetLength () const
 
bool HavePreestimatedLength () const
 
double GetPreestimatedLength () const
 
void SetPreestimatedLength (double length)
 Store preestemated length. More...
 
void SetUsePreestimatedLength (bool toUse)
 Sets boolean parameter enabling/desabling usage of length computed basing on size of bounding box of shape to mesh. More...
 
bool GetUsePreestimatedLength () const
 Returns value of boolean parameter enabling/desabling usage of length computed basing on size of bounding box of shape to mesh. More...
 
virtual std::ostream & SaveTo (std::ostream &save)
 
virtual std::istream & LoadFrom (std::istream &load)
 
virtual bool SetParametersByMesh (const SMESH_Mesh *theMesh, const TopoDS_Shape &theShape)
 Initialize segment length by the mesh built on the geometry. More...
 
virtual bool SetParametersByDefaults (const TDefaults &dflts, const SMESH_Mesh *theMesh=0)
 Initialize my parameter values by default parameters. More...
 
virtual int GetDim () const
 
SMESH_GenGetGen () const
 
virtual int GetShapeType () const
 
virtual const char * GetLibName () const
 
virtual void NotifySubMeshesHypothesisModification ()
 
void SetLibName (const char *theLibName)
 
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. More...
 
virtual bool IsAuxiliary () const
 Return true if me is an auxiliary hypothesis. More...
 
SMESH_MeshGetMeshByPersistentID (int id) const
 Find a mesh with given persistent ID. More...
 
const char * GetName () const
 
int GetID () const
 
int GetType () const
 
bool IsSameName (const SMESHDS_Hypothesis &other) const
 Compare types of hypotheses. More...
 
virtual bool operator== (const SMESHDS_Hypothesis &other) const
 Equality. More...
 
bool operator!= (const SMESHDS_Hypothesis &other) const
 

Static Public Member Functions

static bool IsStatusFatal (Hypothesis_Status theStatus)
 
static void SaveStringToStream (std::ostream &save, const std::string &txt)
 Save a string to a stream. More...
 
static bool LoadStringFromStream (std::istream &load, std::string &txt)
 Load a string from a stream. More...
 

Protected Attributes

double _length
 
double _preestimated
 
bool _preestimation
 
SMESH_Gen_gen
 
int _shapeType
 
int _param_algo_dim
 
std::string _name
 
int _hypId
 
hypothesis_type _type
 

Private Attributes

std::string _libName
 

Member Enumeration Documentation

◆ Hypothesis_Status

Enumerator
HYP_OK 
HYP_MISSING 
HYP_CONCURRENT 
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 

◆ hypothesis_type

Enumerator
PARAM_ALGO 
ALGO_0D 
ALGO_1D 
ALGO_2D 
ALGO_3D 

◆ InitWay

enum SMESH_Hypothesis::InitWay
inherited
Enumerator
BY_MESH 
BY_GEOM 
BY_AVERAGE_LENGTH 

Constructor & Destructor Documentation

◆ StdMeshers_MaxLength()

StdMeshers_MaxLength::StdMeshers_MaxLength ( int  hypId,
SMESH_Gen gen 
)

◆ ~ StdMeshers_MaxLength()

virtual StdMeshers_MaxLength::~ StdMeshers_MaxLength ( )
virtual

Member Function Documentation

◆ DataDependOnParams()

virtual bool SMESH_Hypothesis::DataDependOnParams ( ) const
virtualinherited

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.

Reimplemented in StdMeshers_ImportSource1D.

Referenced by SMESH_Mesh::NotifySubMeshesHypothesisModification().

◆ GetDim()

◆ GetGen()

SMESH_Gen* SMESH_Hypothesis::GetGen ( ) const
inherited

Referenced by SMESH_subMesh::GetAlgo().

◆ GetID()

◆ GetLength()

double StdMeshers_MaxLength::GetLength ( ) const

◆ GetLibName()

const char * SMESH_Hypothesis::GetLibName ( ) const
virtualinherited

◆ GetMeshByPersistentID()

SMESH_Mesh * SMESH_Hypothesis::GetMeshByPersistentID ( int  id) const
inherited

◆ GetName()

◆ GetPreestimatedLength()

double StdMeshers_MaxLength::GetPreestimatedLength ( ) const

◆ GetShapeType()

int SMESH_Hypothesis::GetShapeType ( ) const
virtualinherited

◆ GetType()

◆ GetUsePreestimatedLength()

bool StdMeshers_MaxLength::GetUsePreestimatedLength ( ) const

Returns value of boolean parameter enabling/desabling usage of length computed basing on size of bounding box of shape to mesh.

References _preestimation.

Referenced by StdMeshers_MaxLength_i::GetUsePreestimatedLength().

◆ HavePreestimatedLength()

bool StdMeshers_MaxLength::HavePreestimatedLength ( ) const

◆ IsAuxiliary()

virtual bool SMESH_Hypothesis::IsAuxiliary ( ) const
virtualinherited

Return true if me is an auxiliary hypothesis.

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 dimension can be assigned to the shape

References SMESHDS_Hypothesis::GetType().

Referenced by SMESH_subMesh::AlgoStateEngine(), StdMeshers_Regular_1D::CheckHypothesis(), SMESH_Mesh::GetHypotheses(), SMESH_subMesh::getSimilarAttached(), SMESH_HypoFilter::IsAuxiliaryPredicate::IsOk(), SMESH_Mesh::IsUsedHypothesis(), and SMESH_Mesh::NotifySubMeshesHypothesisModification().

◆ IsSameName()

bool SMESHDS_Hypothesis::IsSameName ( const SMESHDS_Hypothesis other) const
inherited

Compare types of hypotheses.

References SMESHDS_Hypothesis::_name.

Referenced by StdMeshers_Regular_1D::CheckHypothesis(), and SMESH_subMesh::getCollection().

◆ IsStatusFatal()

◆ LoadFrom()

istream & StdMeshers_MaxLength::LoadFrom ( std::istream &  load)
virtual

Implements SMESHDS_Hypothesis.

References _length, _preestimated, and _preestimation.

◆ LoadStringFromStream()

bool SMESHDS_Hypothesis::LoadStringFromStream ( std::istream &  load,
std::string &  txt 
)
staticinherited

Load a string from a stream.

◆ NotifySubMeshesHypothesisModification()

void SMESH_Hypothesis::NotifySubMeshesHypothesisModification ( )
virtualinherited

References SMESH_Hypothesis::_gen, SMESH_Gen::GetStudyContext(), studyContextStruct::mapMesh, and SMESH_Mesh::NotifySubMeshesHypothesisModification().

Referenced by SMESH_Hypothesis_i::LoadFrom(), StdMeshers_CartesianParameters3D::SetAxisDirs(), StdMeshers_BlockRenumber::SetBlocksOrientation(), StdMeshers_ViscousLayers::SetBndShapes(), StdMeshers_Geometric1D::SetCommonRatio(), StdMeshers_ImportSource1D::SetCopySourceMesh(), StdMeshers_Adaptive1D::SetDeflection(), StdMeshers_Deflection1D::SetDeflection(), StdMeshers_QuadrangleParams::SetEnforcedNodes(), StdMeshers_AutomaticLength::SetFineness(), StdMeshers_CartesianParameters3D::SetFixedPoint(), StdMeshers_CartesianParameters3D::SetGrid(), StdMeshers_CartesianParameters3D::SetGridSpacing(), StdMeshers_ViscousLayers::SetGroupName(), StdMeshers_ImportSource1D::SetGroups(), StdMeshers_LayerDistribution::SetLayerDistribution(), StdMeshers_LocalLength::SetLength(), SetLength(), StdMeshers_SegmentLengthAroundVertex::SetLength(), StdMeshers_Arithmetic1D::SetLength(), StdMeshers_StartEndLength::SetLength(), StdMeshers_MaxElementArea::SetMaxArea(), StdMeshers_Adaptive1D::SetMaxSize(), StdMeshers_MaxElementVolume::SetMaxVolume(), StdMeshers_ViscousLayers::SetMethod(), StdMeshers_Adaptive1D::SetMinSize(), StdMeshers_LengthFromEdges::SetMode(), StdMeshers_FixedPoints1D::SetNbSegments(), StdMeshers_ViscousLayers::SetNumberLayers(), StdMeshers_NumberOfLayers::SetNumberOfLayers(), StdMeshers_FixedPoints1D::SetPoints(), StdMeshers_LocalLength::SetPrecision(), StdMeshers_QuadrangleParams::SetQuadType(), StdMeshers_Reversible1D::SetReversedEdges(), StdMeshers_CartesianParameters3D::SetSizeThreshold(), StdMeshers_ProjectionSource3D::SetSource3DShape(), StdMeshers_ProjectionSource1D::SetSourceEdge(), StdMeshers_ProjectionSource2D::SetSourceFace(), StdMeshers_ProjectionSource1D::SetSourceMesh(), StdMeshers_ProjectionSource2D::SetSourceMesh(), StdMeshers_ProjectionSource3D::SetSourceMesh(), StdMeshers_Geometric1D::SetStartLength(), StdMeshers_ViscousLayers::SetStretchFactor(), StdMeshers_CartesianParameters3D::SetToAddEdges(), StdMeshers_CartesianParameters3D::SetToConsiderInternalFaces(), StdMeshers_CartesianParameters3D::SetToCreateFaces(), StdMeshers_ViscousLayers::SetTotalThickness(), StdMeshers_CartesianParameters3D::SetToUseThresholdForInternalFaces(), StdMeshers_QuadrangleParams::SetTriaVertex(), StdMeshers_ProjectionSource1D::SetVertexAssociation(), StdMeshers_ProjectionSource2D::SetVertexAssociation(), and StdMeshers_ProjectionSource3D::SetVertexAssociation().

◆ operator!=()

bool SMESHDS_Hypothesis::operator!= ( const SMESHDS_Hypothesis other) const
inherited

◆ operator==()

bool SMESHDS_Hypothesis::operator== ( const SMESHDS_Hypothesis other) const
virtualinherited

Equality.

References SMESHDS_Hypothesis::_name.

◆ SaveStringToStream()

void SMESHDS_Hypothesis::SaveStringToStream ( std::ostream &  save,
const std::string &  txt 
)
staticinherited

Save a string to a stream.

◆ SaveTo()

ostream & StdMeshers_MaxLength::SaveTo ( std::ostream &  save)
virtual

Implements SMESHDS_Hypothesis.

References _length, _preestimated, and _preestimation.

◆ SetLength()

void StdMeshers_MaxLength::SetLength ( double  length)

◆ SetLibName()

void SMESH_Hypothesis::SetLibName ( const char *  theLibName)
inherited

◆ SetParametersByDefaults()

bool StdMeshers_MaxLength::SetParametersByDefaults ( const TDefaults dflts,
const SMESH_Mesh theMesh = 0 
)
virtual

Initialize my parameter values by default parameters.

Return values
bool- true if parameter values have been successfully defined

Implements SMESH_Hypothesis.

References SMESH_Hypothesis::TDefaults::_elemLength, _length, and _preestimated.

◆ SetParametersByMesh()

bool StdMeshers_MaxLength::SetParametersByMesh ( const SMESH_Mesh theMesh,
const TopoDS_Shape &  theShape 
)
virtual

Initialize segment length by the mesh built on the geometry.

Parameters
theMesh- the built mesh
theShape- the geometry of interest
Return values
bool- true if parameter values have been successfully defined

Implements SMESH_Hypothesis.

References _length, Edge, SMESH_Algo::GetNodeParamOnEdge(), and Handle().

◆ SetPreestimatedLength()

void StdMeshers_MaxLength::SetPreestimatedLength ( double  length)

Store preestemated length.

References _preestimated.

Referenced by StdMeshers_MaxLength_i::SetPreestimatedLength().

◆ SetUsePreestimatedLength()

void StdMeshers_MaxLength::SetUsePreestimatedLength ( bool  toUse)

Sets boolean parameter enabling/desabling usage of length computed basing on size of bounding box of shape to mesh.

References _preestimation.

Referenced by StdMeshers_MaxLength_i::SetUsePreestimatedLength().

Field Documentation

◆ _gen

◆ _hypId

int SMESHDS_Hypothesis::_hypId
protectedinherited

◆ _length

double StdMeshers_MaxLength::_length
protected

◆ _libName

std::string SMESH_Hypothesis::_libName
privateinherited

◆ _name

std::string SMESHDS_Hypothesis::_name
protectedinherited

Referenced by SMESHDS_Hypothesis::IsSameName(), SMESHDS_Hypothesis::operator==(), StdMeshers_Adaptive1D::StdMeshers_Adaptive1D(), StdMeshers_Arithmetic1D::StdMeshers_Arithmetic1D(), StdMeshers_AutomaticLength::StdMeshers_AutomaticLength(), StdMeshers_BlockRenumber::StdMeshers_BlockRenumber(), StdMeshers_Cartesian_3D::StdMeshers_Cartesian_3D(), StdMeshers_CartesianParameters3D::StdMeshers_CartesianParameters3D(), StdMeshers_CompositeHexa_3D::StdMeshers_CompositeHexa_3D(), StdMeshers_CompositeSegment_1D::StdMeshers_CompositeSegment_1D(), StdMeshers_Deflection1D::StdMeshers_Deflection1D(), StdMeshers_FixedPoints1D::StdMeshers_FixedPoints1D(), StdMeshers_Geometric1D::StdMeshers_Geometric1D(), StdMeshers_Hexa_3D::StdMeshers_Hexa_3D(), StdMeshers_HexaFromSkin_3D::StdMeshers_HexaFromSkin_3D(), StdMeshers_Import_1D::StdMeshers_Import_1D(), StdMeshers_Import_1D2D::StdMeshers_Import_1D2D(), StdMeshers_ImportSource1D::StdMeshers_ImportSource1D(), StdMeshers_ImportSource2D::StdMeshers_ImportSource2D(), StdMeshers_LayerDistribution::StdMeshers_LayerDistribution(), StdMeshers_LayerDistribution2D::StdMeshers_LayerDistribution2D(), StdMeshers_LengthFromEdges::StdMeshers_LengthFromEdges(), StdMeshers_LocalLength::StdMeshers_LocalLength(), StdMeshers_MaxElementArea::StdMeshers_MaxElementArea(), StdMeshers_MaxElementVolume::StdMeshers_MaxElementVolume(), StdMeshers_MaxLength(), StdMeshers_NotConformAllowed::StdMeshers_NotConformAllowed(), StdMeshers_NumberOfLayers::StdMeshers_NumberOfLayers(), StdMeshers_NumberOfLayers2D::StdMeshers_NumberOfLayers2D(), StdMeshers_NumberOfSegments::StdMeshers_NumberOfSegments(), StdMeshers_PolygonPerFace_2D::StdMeshers_PolygonPerFace_2D(), StdMeshers_PolyhedronPerSolid_3D::StdMeshers_PolyhedronPerSolid_3D(), StdMeshers_Prism_3D::StdMeshers_Prism_3D(), StdMeshers_Projection_1D::StdMeshers_Projection_1D(), StdMeshers_Projection_1D2D::StdMeshers_Projection_1D2D(), StdMeshers_Projection_2D::StdMeshers_Projection_2D(), StdMeshers_Projection_3D::StdMeshers_Projection_3D(), StdMeshers_ProjectionSource1D::StdMeshers_ProjectionSource1D(), StdMeshers_ProjectionSource2D::StdMeshers_ProjectionSource2D(), StdMeshers_ProjectionSource3D::StdMeshers_ProjectionSource3D(), StdMeshers_Propagation::StdMeshers_Propagation(), StdMeshers_PropagOfDistribution::StdMeshers_PropagOfDistribution(), StdMeshers_QuadFromMedialAxis_1D2D::StdMeshers_QuadFromMedialAxis_1D2D(), StdMeshers_Quadrangle_2D::StdMeshers_Quadrangle_2D(), StdMeshers_QuadrangleParams::StdMeshers_QuadrangleParams(), StdMeshers_QuadranglePreference::StdMeshers_QuadranglePreference(), StdMeshers_QuadraticMesh::StdMeshers_QuadraticMesh(), StdMeshers_RadialPrism_3D::StdMeshers_RadialPrism_3D(), StdMeshers_RadialQuadrangle_1D2D::StdMeshers_RadialQuadrangle_1D2D(), StdMeshers_Regular_1D::StdMeshers_Regular_1D(), StdMeshers_SegmentAroundVertex_0D::StdMeshers_SegmentAroundVertex_0D(), StdMeshers_SegmentLengthAroundVertex::StdMeshers_SegmentLengthAroundVertex(), StdMeshers_StartEndLength::StdMeshers_StartEndLength(), StdMeshers_UseExisting_1D::StdMeshers_UseExisting_1D(), StdMeshers_UseExisting_2D::StdMeshers_UseExisting_2D(), StdMeshers_ViscousLayerBuilder::StdMeshers_ViscousLayerBuilder(), StdMeshers_ViscousLayers::StdMeshers_ViscousLayers(), and StdMeshers_ViscousLayers2D::StdMeshers_ViscousLayers2D().

◆ _param_algo_dim

int SMESH_Hypothesis::_param_algo_dim
protectedinherited

Referenced by SMESH_Hypothesis::GetDim(), SMESH_Hypothesis::SMESH_Hypothesis(), StdMeshers_Adaptive1D::StdMeshers_Adaptive1D(), StdMeshers_Arithmetic1D::StdMeshers_Arithmetic1D(), StdMeshers_AutomaticLength::StdMeshers_AutomaticLength(), StdMeshers_BlockRenumber::StdMeshers_BlockRenumber(), StdMeshers_CartesianParameters3D::StdMeshers_CartesianParameters3D(), StdMeshers_Deflection1D::StdMeshers_Deflection1D(), StdMeshers_FixedPoints1D::StdMeshers_FixedPoints1D(), StdMeshers_ImportSource1D::StdMeshers_ImportSource1D(), StdMeshers_ImportSource2D::StdMeshers_ImportSource2D(), StdMeshers_LayerDistribution::StdMeshers_LayerDistribution(), StdMeshers_LayerDistribution2D::StdMeshers_LayerDistribution2D(), StdMeshers_LengthFromEdges::StdMeshers_LengthFromEdges(), StdMeshers_LocalLength::StdMeshers_LocalLength(), StdMeshers_MaxElementArea::StdMeshers_MaxElementArea(), StdMeshers_MaxElementVolume::StdMeshers_MaxElementVolume(), StdMeshers_MaxLength(), StdMeshers_NotConformAllowed::StdMeshers_NotConformAllowed(), StdMeshers_NumberOfLayers::StdMeshers_NumberOfLayers(), StdMeshers_NumberOfLayers2D::StdMeshers_NumberOfLayers2D(), StdMeshers_NumberOfSegments::StdMeshers_NumberOfSegments(), StdMeshers_ProjectionSource1D::StdMeshers_ProjectionSource1D(), StdMeshers_ProjectionSource2D::StdMeshers_ProjectionSource2D(), StdMeshers_ProjectionSource3D::StdMeshers_ProjectionSource3D(), StdMeshers_Propagation::StdMeshers_Propagation(), StdMeshers_QuadrangleParams::StdMeshers_QuadrangleParams(), StdMeshers_QuadranglePreference::StdMeshers_QuadranglePreference(), StdMeshers_QuadraticMesh::StdMeshers_QuadraticMesh(), StdMeshers_Reversible1D::StdMeshers_Reversible1D(), StdMeshers_SegmentLengthAroundVertex::StdMeshers_SegmentLengthAroundVertex(), StdMeshers_StartEndLength::StdMeshers_StartEndLength(), StdMeshers_ViscousLayers::StdMeshers_ViscousLayers(), and StdMeshers_ViscousLayers2D::StdMeshers_ViscousLayers2D().

◆ _preestimated

double StdMeshers_MaxLength::_preestimated
protected

◆ _preestimation

bool StdMeshers_MaxLength::_preestimation
protected

◆ _shapeType

◆ _type