#include <SMESH_Mesh.hxx>

Classes

class  SubMeshHolder
 
struct  TCallUp
 

Public Types

typedef boost::shared_ptr< SMDS_Iterator< SMESH_Group * > > GroupIteratorPtr
 
typedef TopTools_IndexedDataMapOfShapeListOfShape TAncestorMap
 Return data map of descendant to ancestor shapes. More...
 

Public Member Functions

SMESH_GroupAddGroup (const SMDSAbs_ElementType theType, const char *theName, int &theId, const TopoDS_Shape &theShape=TopoDS_Shape(), const SMESH_PredicatePtr &thePredicate=SMESH_PredicatePtr())
 
SMESH_GroupAddGroup (SMESHDS_GroupBase *groupDS)
 Creates a group based on an existing SMESHDS group. Group ID should be unique. More...
 
SMESH_Hypothesis::Hypothesis_Status AddHypothesis (const TopoDS_Shape &aSubShape, int anHypId, std::string *error=0)
 
int CGNSToMesh (const char *theFileName, const int theMeshIndex, std::string &theMeshName)
 Reads the given mesh from the CGNS file. More...
 
void Clear ()
 Remove all nodes and elements. More...
 
void ClearLog ()
 
void ClearMeshOrder ()
 remove submesh order from Mesh More...
 
void ClearSubMesh (const int theShapeId)
 Remove all nodes and elements of indicated shape. More...
 
SMESH_GroupConvertToStandalone (int theGroupID)
 Convert group on geometry into standalone group. More...
 
int DATToMesh (const char *theFileName)
 
ostream & Dump (ostream &save)
 
void ExportCGNS (const char *file, const SMESHDS_Mesh *mesh, const char *meshName=0)
 Export the mesh to the CGNS file. More...
 
void ExportDAT (const char *file, const SMESHDS_Mesh *meshPart=0)
 Export the mesh to a DAT file. More...
 
void ExportGMF (const char *file, const SMESHDS_Mesh *mesh, bool withRequiredGroups=true)
 Export the mesh to a GMF file. More...
 
void ExportMED (const char *theFile, const char *theMeshName=NULL, bool theAutoGroups=true, int theVersion=0, const SMESHDS_Mesh *theMeshPart=0, bool theAutoDimension=false, bool theAddODOnVertices=false)
 Export the mesh to a med file. More...
 
void ExportSAUV (const char *file, const char *theMeshName=NULL, bool theAutoGroups=true)
 Export the mesh to a SAUV file. More...
 
void ExportSTL (const char *file, const bool isascii, const SMESHDS_Mesh *meshPart=0)
 Export the mesh to an STL file. More...
 
void ExportUNV (const char *file, const SMESHDS_Mesh *meshPart=0)
 Export the mesh to an UNV file. More...
 
SMESH_MeshFindMesh (int meshId) const
 Return a mesh by id. More...
 
const TAncestorMapGetAncestorMap () const
 
const TopTools_ListOfShape & GetAncestors (const TopoDS_Shape &theSubShape) const
 Return list of ancestors of theSubShape in the order that lower dimention shapes come first. More...
 
bool GetAutoColor ()
 
double GetComputeProgress () const
 Return a ratio of "compute cost" of computed sub-meshes to the whole "compute cost". More...
 
SMDSAbs_ElementType GetElementType (const int id, const bool iselem)
 
SMESH_GenGetGen ()
 
SMESH_GroupGetGroup (const int theGroupID)
 Return a group by ID. More...
 
std::list< int > GetGroupIds () const
 Return IDs of all groups. More...
 
GroupIteratorPtr GetGroups () const
 Return iterator on all existing groups. More...
 
std::list< SMESH_subMesh * > GetGroupSubMeshesContaining (const TopoDS_Shape &shape) const
 Return submeshes of groups containing the given subshape. More...
 
int GetHypotheses (const SMESH_subMesh *aSubMesh, const SMESH_HypoFilter &aFilter, std::list< const SMESHDS_Hypothesis * > &aHypList, const bool andAncestors, std::list< TopoDS_Shape > *assignedTo=0) const
 Return hypotheses assigned to the shape of a sub-mesh. More...
 
int GetHypotheses (const TopoDS_Shape &aSubShape, const SMESH_HypoFilter &aFilter, std::list< const SMESHDS_Hypothesis * > &aHypList, const bool andAncestors, std::list< TopoDS_Shape > *assignedTo=0) const
 Return hypotheses assigned to the shape. More...
 
SMESH_HypothesisGetHypothesis (const int aHypID) const
 Return a hypothesis by its ID. More...
 
const SMESH_HypothesisGetHypothesis (const SMESH_subMesh *aSubMesh, const SMESH_HypoFilter &aFilter, const bool andAncestors, TopoDS_Shape *assignedTo=0) const
 Return the hypothesis assigned to the shape of a sub-mesh. More...
 
const SMESH_HypothesisGetHypothesis (const TopoDS_Shape &aSubShape, const SMESH_HypoFilter &aFilter, const bool andAncestors, TopoDS_Shape *assignedTo=0) const
 Return the hypothesis assigned to the shape. More...
 
const std::list< const SMESHDS_Hypothesis * > & GetHypothesisList (const TopoDS_Shape &aSubShape) const
 
int GetId () const
 
bool GetIsModified () const
 
const std::list< SMESHDS_Command * > & GetLog ()
 
SMESHDS_MeshGetMeshDS ()
 
const SMESHDS_MeshGetMeshDS () const
 
const TListOfListOfInt & GetMeshOrder () const
 return submesh order if any More...
 
double GetShapeDiagonalSize () const
 Return diagonal size of bounding box of shape to mesh. More...
 
TopoDS_Shape GetShapeToMesh () const
 Return geometry to be meshed. (It may be a PseudoShape()!) More...
 
SMESH_subMeshGetSubMesh (const TopoDS_Shape &aSubShape)
 
SMESH_subMeshGetSubMeshContaining (const int aShapeID) const
 
SMESH_subMeshGetSubMeshContaining (const TopoDS_Shape &aSubShape) const
 
SMESH_ComputeErrorPtr GMFToMesh (const char *theFileName, bool theMakeRequiredGroups=true)
 Fill its data by reading a GMF file. More...
 
bool HasDuplicatedGroupNamesMED ()
 Check group names for duplications. Consider maximum group name length stored in MED file. More...
 
bool HasModificationsToDiscard () const
 Return true if the mesh has been edited since a total re-compute and those modifications may prevent successful partial re-compute. As a side effect reset _isModified flag if mesh is empty. More...
 
bool HasShapeToMesh () const
 Return true if there is a geometry to be meshed, not PseudoShape() More...
 
bool IsMainShape (const TopoDS_Shape &theShape) const
 
bool IsNotConformAllowed () const
 check if a hypothesis alowing notconform mesh is present More...
 
bool IsOrderOK (const SMESH_subMesh *smBefore, const SMESH_subMesh *smAfter) const
 Return true if given order of sub-meshes is OK. More...
 
bool IsUsedHypothesis (SMESHDS_Hypothesis *anHyp, const SMESH_subMesh *aSubMesh)
 Return True if anHyp is used to mesh aSubShape. More...
 
void Load ()
 Load mesh from study file. More...
 
int MEDToMesh (const char *theFileName, const char *theMeshName)
 
bool MeshExists (int meshId) const
 Return true if a mesh with given id exists. More...
 
int Nb0DElements () const
 Return number of edges of given order in the mesh. More...
 
int NbBalls () const
 Return number of ball elements in the mesh. More...
 
int NbBiQuadQuadrangles () const
 Return number of biquadratic quadrangles in the mesh. More...
 
int NbBiQuadTriangles () const
 Return number of biquadratic triangles in the mesh. More...
 
int NbEdges (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of edges of given order in the mesh. More...
 
int NbFaces (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of faces of given order in the mesh. More...
 
int NbGroup () const
 
int NbHexagonalPrisms () const
 Return number of hexagonal prisms in the mesh. More...
 
int NbHexas (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of hexahedrons of given order in the mesh. More...
 
int NbMeshes () const
 Returns number of meshes in the Study, that is supposed to be equal to SMESHDS_Document::NbMeshes() More...
 
int NbNodes () const
 Return number of nodes in the mesh. More...
 
int NbPolygons (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return the number of polygonal faces in the mesh. More...
 
int NbPolyhedrons () const
 Return number of polyhedrons in the mesh. More...
 
int NbPrisms (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of prisms (penthahedrons) of given order in the mesh. More...
 
int NbPyramids (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of pyramids of given order in the mesh. More...
 
int NbQuadrangles (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return the number nodes faces in the mesh. More...
 
int NbSubMesh () const
 Return number of submeshes in the mesh. More...
 
int NbTetras (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of tetrahedrons of given order in the mesh. More...
 
int NbTriangles (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return the number of faces in the mesh. More...
 
int NbTriQuadraticHexas () const
 Return number of triquadratic hexahedrons in the mesh. More...
 
int NbVolumes (SMDSAbs_ElementOrder order=ORDER_ANY) const
 Return number of volumes of given order in the mesh. More...
 
void NotifySubMeshesHypothesisModification (const SMESH_Hypothesis *theChangedHyp)
 Say all submeshes that theChangedHyp has been modified. More...
 
bool RemoveGroup (const int theGroupID)
 
SMESH_Hypothesis::Hypothesis_Status RemoveHypothesis (const TopoDS_Shape &aSubShape, int anHypId)
 
void SetAutoColor (bool theAutoColor)
 
void SetCallUp (TCallUp *upCaller)
 Set a caller of methods at level of CORBA API implementation. The set upCaller will be deleted by SMESH_Mesh. More...
 
void SetIsModified (bool isModified)
 Set the flag meaning that the mesh has been edited "manually". It is to set to false after Clear() and to set to true by MeshEditor. More...
 
void SetMeshOrder (const TListOfListOfInt &theOrder)
 remove submesh order from Mesh More...
 
void ShapeToMesh (const TopoDS_Shape &aShape)
 Set geometry to be meshed. More...
 
 SMESH_Mesh (int theLocalId, int theStudyId, SMESH_Gen *theGen, bool theIsEmbeddedMode, SMESHDS_Document *theDocument)
 
bool SortByMeshOrder (std::vector< SMESH_subMesh * > &theListToSort) const
 sort submeshes according to stored mesh order More...
 
int STLToMesh (const char *theFileName)
 
bool SynchronizeGroups ()
 Creates SMESH_Groups for not wrapped SMESHDS_Groups. More...
 
int UNVToMesh (const char *theFileName)
 
virtual ~SMESH_Mesh ()
 

Static Public Member Functions

static double GetShapeDiagonalSize (const TopoDS_Shape &aShape)
 Return diagonal size of bounding box of a shape. More...
 
static const TopoDS_Solid & PseudoShape ()
 Return a solid which is returned by GetShapeToMesh() if a real geometry to be meshed was not set. More...
 

Protected Member Functions

 SMESH_Mesh ()
 Constructor of SMESH_Mesh being a base of some descendant class. More...
 
 SMESH_Mesh (const SMESH_Mesh &)
 

Member Typedef Documentation

◆ GroupIteratorPtr

typedef boost::shared_ptr< SMDS_Iterator<SMESH_Group*> > SMESH_Mesh::GroupIteratorPtr

◆ TAncestorMap

typedef TopTools_IndexedDataMapOfShapeListOfShape SMESH_Mesh::TAncestorMap

Return data map of descendant to ancestor shapes.

Constructor & Destructor Documentation

◆ SMESH_Mesh() [1/3]

SMESH_Mesh::SMESH_Mesh ( int  theLocalId,
int  theStudyId,
SMESH_Gen theGen,
bool  theIsEmbeddedMode,
SMESHDS_Document theDocument 
)

◆ ~SMESH_Mesh()

◆ SMESH_Mesh() [2/3]

SMESH_Mesh::SMESH_Mesh ( )
protected

Constructor of SMESH_Mesh being a base of some descendant class.

◆ SMESH_Mesh() [3/3]

SMESH_Mesh::SMESH_Mesh ( const SMESH_Mesh )
protected

Member Function Documentation

◆ AddGroup() [1/2]

SMESH_Group * SMESH_Mesh::AddGroup ( const SMDSAbs_ElementType  theType,
const char *  theName,
int &  theId,
const TopoDS_Shape &  theShape = TopoDS_Shape(),
const SMESH_PredicatePtr &  thePredicate = SMESH_PredicatePtr() 
)

◆ AddGroup() [2/2]

SMESH_Group * SMESH_Mesh::AddGroup ( SMESHDS_GroupBase groupDS)

Creates a group based on an existing SMESHDS group. Group ID should be unique.

References SMESHDS_Mesh::AddGroup(), SMESH_Group::GetGroupDS(), SMESHDS_GroupBase::GetID(), and GetMeshDS().

◆ AddHypothesis()

◆ CGNSToMesh()

int SMESH_Mesh::CGNSToMesh ( const char *  theFileName,
const int  theMeshIndex,
std::string &  theMeshName 
)

Reads the given mesh from the CGNS file.

Parameters
theFileName- name of the file
Return values
int- Driver_Mesh::Status

References Driver_Mesh::DRS_FAIL, and SynchronizeGroups().

◆ Clear()

void SMESH_Mesh::Clear ( )

◆ ClearLog()

void SMESH_Mesh::ClearLog ( )

◆ ClearMeshOrder()

void SMESH_Mesh::ClearMeshOrder ( )

remove submesh order from Mesh

◆ ClearSubMesh()

void SMESH_Mesh::ClearSubMesh ( const int  theShapeId)

Remove all nodes and elements of indicated shape.

References SMESH_subMesh::CHECK_COMPUTE_STATE, SMESH_subMesh::CLEAN, and GetSubMeshContaining().

◆ ConvertToStandalone()

◆ DATToMesh()

int SMESH_Mesh::DATToMesh ( const char *  theFileName)

◆ Dump()

◆ ExportCGNS()

void SMESH_Mesh::ExportCGNS ( const char *  file,
const SMESHDS_Mesh mesh,
const char *  meshName = 0 
)

Export the mesh to the CGNS file.

References Driver_Mesh::DRS_FAIL, Driver_Mesh::DRS_OK, and SMESHDS_Mesh::GetPersistentId().

◆ ExportDAT()

void SMESH_Mesh::ExportDAT ( const char *  file,
const SMESHDS_Mesh meshPart = 0 
)

◆ ExportGMF()

void SMESH_Mesh::ExportGMF ( const char *  file,
const SMESHDS_Mesh mesh,
bool  withRequiredGroups = true 
)

◆ ExportMED()

void SMESH_Mesh::ExportMED ( const char *  file,
const char *  theMeshName = NULL,
bool  theAutoGroups = true,
int  theVersion = 0,
const SMESHDS_Mesh meshPart = 0,
bool  theAutoDimension = false,
bool  theAddODOnVertices = false 
)

Export the mesh to a med file.

Parameters
[in]file- name of the MED file
[in]theMeshName- name of this mesh
[in]theAutoGroups- boolean parameter for creating/not creating the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; the typical use is auto_groups=false.
[in]theVersion- defines the version of format of MED file, that will be created
[in]meshPart- mesh data to export
[in]theAutoDimension- if true, a space dimension of a MED mesh can be either
  • 1D if all mesh nodes lie on OX coordinate axis, or
  • 2D if all mesh nodes lie on XOY coordinate plane, or
  • 3D in the rest cases. If theAutoDimension is false, the space dimension is always 3.
Returns
int - mesh index in the file

References DriverMED_W_SMESHDS_Mesh::AddGroup(), DriverMED_W_SMESHDS_Mesh::AddGroupOfEdges(), DriverMED_W_SMESHDS_Mesh::AddGroupOfFaces(), DriverMED_W_SMESHDS_Mesh::AddGroupOfNodes(), DriverMED_W_SMESHDS_Mesh::AddGroupOfVolumes(), DriverMED_W_SMESHDS_Mesh::AddODOnVertices(), SMESH_Group::GetGroupDS(), SMESH_Group::GetName(), SMESHDS_GroupBase::GetType(), DriverMED_W_SMESHDS_Mesh::Perform(), DriverMED_W_SMESHDS_Mesh::SetAutoDimension(), DriverMED_W_SMESHDS_Mesh::SetFile(), Driver_SMESHDS_Mesh::SetMesh(), Driver_Mesh::SetMeshId(), Driver_Mesh::SetMeshName(), SMESHDS_GroupBase::SetStoreName(), and SMESH::throwSalomeEx().

Referenced by ExportSAUV().

◆ ExportSAUV()

void SMESH_Mesh::ExportSAUV ( const char *  file,
const char *  theMeshName = NULL,
bool  theAutoGroups = true 
)

Export the mesh to a SAUV file.

References ExportMED().

◆ ExportSTL()

void SMESH_Mesh::ExportSTL ( const char *  file,
const bool  isascii,
const SMESHDS_Mesh meshPart = 0 
)

◆ ExportUNV()

◆ FindMesh()

SMESH_Mesh * SMESH_Mesh::FindMesh ( int  meshId) const

Return a mesh by id.

◆ GetAncestorMap()

const TAncestorMap& SMESH_Mesh::GetAncestorMap ( ) const

◆ GetAncestors()

const TopTools_ListOfShape & SMESH_Mesh::GetAncestors ( const TopoDS_Shape &  theSubShape) const

◆ GetAutoColor()

bool SMESH_Mesh::GetAutoColor ( )

◆ GetComputeProgress()

double SMESH_Mesh::GetComputeProgress ( ) const

◆ GetElementType()

SMDSAbs_ElementType SMESH_Mesh::GetElementType ( const int  id,
const bool  iselem 
)

◆ GetGen()

◆ GetGroup()

SMESH_Group * SMESH_Mesh::GetGroup ( const int  theGroupID)

◆ GetGroupIds()

list< int > SMESH_Mesh::GetGroupIds ( ) const

Return IDs of all groups.

Referenced by Fem::FemMeshPy::getGroups().

◆ GetGroups()

SMESH_Mesh::GroupIteratorPtr SMESH_Mesh::GetGroups ( ) const

◆ GetGroupSubMeshesContaining()

list< SMESH_subMesh * > SMESH_Mesh::GetGroupSubMeshesContaining ( const TopoDS_Shape &  shape) const

Return submeshes of groups containing the given subshape.

Return sub-meshes of groups containing the given sub-shape.

References GetSubMeshContaining(), SMESH_subMesh::GetSubMeshDS(), SMESH_subMesh::GetSubShape(), SMESHDS_SubMesh::IsComplexSubmesh(), and SMESH_MesherHelper::IsSubShape().

◆ GetHypotheses() [1/2]

int SMESH_Mesh::GetHypotheses ( const SMESH_subMesh aSubMesh,
const SMESH_HypoFilter aFilter,
std::list< const SMESHDS_Hypothesis * > &  aHypList,
const bool  andAncestors,
std::list< TopoDS_Shape > *  assignedTo = 0 
) const

Return hypotheses assigned to the shape of a sub-mesh.

Parameters
aSubShape- the sub-mesh to check
aFilter- the hypothesis filter
aHypList- the list of the found hypotheses
andAncestors- flag to check hypos assigned to ancestors of the shape
Return values
int- number of unique hypos in aHypList

References SMESH_subMesh::GetAncestors(), SMESH_subMesh::GetSubShape(), SMESH_HypoFilter::IsOk(), and SortByMeshOrder().

◆ GetHypotheses() [2/2]

int SMESH_Mesh::GetHypotheses ( const TopoDS_Shape &  aSubShape,
const SMESH_HypoFilter aFilter,
std::list< const SMESHDS_Hypothesis * > &  aHypList,
const bool  andAncestors,
std::list< TopoDS_Shape > *  assignedTo = 0 
) const

Return hypotheses assigned to the shape.

Parameters
aSubShape- the shape to check
aFilter- the hypothesis filter
aHypList- the list of the found hypotheses
andAncestors- flag to check hypos assigned to ancestors of the shape
Return values
int- number of unique hypos in aHypList

References GetSubMesh().

Referenced by StdMeshers_Regular_1D::CheckHypothesis(), VISCOUS_2D::findHyps(), SMESH_Algo::GetAppliedHypothesis(), SMESH_Algo::GetUsedHypothesis(), StdMeshers_Regular_1D::GetUsedHypothesis(), IsUsedHypothesis(), and NotifySubMeshesHypothesisModification().

◆ GetHypothesis() [1/3]

SMESH_Hypothesis * SMESH_Mesh::GetHypothesis ( const int  aHypID) const

Return a hypothesis by its ID.

References studyContextStruct::mapHypothesis.

◆ GetHypothesis() [2/3]

const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis ( const SMESH_subMesh aSubMesh,
const SMESH_HypoFilter aFilter,
const bool  andAncestors,
TopoDS_Shape *  assignedTo = 0 
) const

Return the hypothesis assigned to the shape of a sub-mesh.

Parameters
aSubMesh- the sub-mesh to check
aFilter- the hypothesis filter
andAncestors- flag to check hypos assigned to ancestors of the shape
assignedTo- to return the shape the found hypo is assigned to
Return values
SMESH_Hypothesis*- the first hypo passed through aFilter

References SMESH_subMesh::GetAncestors(), SMESH_subMesh::GetSubShape(), SMESH_HypoFilter::IsOk(), and SortByMeshOrder().

◆ GetHypothesis() [3/3]

const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis ( const TopoDS_Shape &  aSubShape,
const SMESH_HypoFilter aFilter,
const bool  andAncestors,
TopoDS_Shape *  assignedTo = 0 
) const

Return the hypothesis assigned to the shape.

Parameters
aSubShape- the shape to check
aFilter- the hypothesis filter
andAncestors- flag to check hypos assigned to ancestors of the shape
assignedTo- to return the shape the found hypo is assigned to
Return values
SMESH_Hypothesis*- the first hypo passed through aFilter

References GetSubMesh().

Referenced by AddHypothesis(), SMESH_Gen::Compute(), SMESH_Gen::Evaluate(), SMESH_Gen::GetAlgo(), TNodeDistributor::GetDistributor(), StdMeshers_Quadrangle_2D::getEnforcedUV(), StdMeshers_Regular_1D::getVertexHyp(), SMESH_Gen::IsGlobalHypothesis(), IsNotConformAllowed(), and StdMeshers_ProjectionUtils::SourceNotComputedError().

◆ GetHypothesisList()

const list< const SMESHDS_Hypothesis * > & SMESH_Mesh::GetHypothesisList ( const TopoDS_Shape &  aSubShape) const

◆ GetId()

int SMESH_Mesh::GetId ( ) const

Referenced by GetComputeProgress().

◆ GetIsModified()

bool SMESH_Mesh::GetIsModified ( ) const

◆ GetLog()

const list< SMESHDS_Command * > & SMESH_Mesh::GetLog ( )

◆ GetMeshDS() [1/2]

SMESHDS_Mesh* SMESH_Mesh::GetMeshDS ( )

Referenced by AddGroup(), NETGENPlugin_Mesher::AddIntVerticesInFaces(), NETGENPlugin_Mesher::AddIntVerticesInSolids(), StdMeshers_QuadToTriaAdaptor::CheckIntersection(), StdMeshers_Quadrangle_2D::checkNbEdgesForEvaluate(), SMESH_Gen::Compute(), NETGENPlugin_NETGEN_2D_ONLY::Compute(), NETGENPlugin_NETGEN_3D::Compute(), StdMeshers_Cartesian_3D::Compute(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_Hexa_3D::Compute(), StdMeshers_Import_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Projection_1D::Compute(), StdMeshers_Projection_1D2D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_RadialPrism_3D::Compute(), StdMeshers_RadialQuadrangle_1D2D::Compute(), StdMeshers_Regular_1D::Compute(), StdMeshers_QuadToTriaAdaptor::Compute(), StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), StdMeshers_Regular_1D::computeInternalParameters(), StdMeshers_Quadrangle_2D::computeQuadDominant(), StdMeshers_Quadrangle_2D::computeQuadPref(), StdMeshers_Quadrangle_2D::computeReduced(), ConvertToStandalone(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), SMESH_MeshEditor::CreateHoleSkin(), StdMeshers_Penta_3D::CreateNode(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), StdMeshers_Projection_1D::Evaluate(), Fem::FemVTKTools::exportFreeCADResult(), Fem::FemVTKTools::exportVTKMesh(), SMESH_MeshEditor::ExtrusionAlongTrack(), NETGENPlugin_Mesher::FillSMesh(), StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces(), StdMeshers_Penta_3D::FindNodeOnShape(), StdMeshers_ProjectionUtils::FindSubShapeAssociation(), NETGENPlugin_Mesher::FixIntFaces(), SMESH_MeshVSLink::Get3DGeom(), SMESH_Gen::GetAlgoState(), Fem::FemMeshPy::getEdges(), Fem::FemMeshPy::getFaces(), StdMeshers_CompositeSegment_1D::GetFaceSide(), StdMeshers_FaceSide::GetFaceWires(), SMESH_MeshVSLink::GetGeom(), SMESH_MeshVSLink::GetGeomType(), SMESH_MeshEditor::GetHexaFacetsToSplit(), Fem::FemMeshPy::getIdByElementType(), Fem::FemMeshPy::getNodeById(), Fem::FemMeshPy::getNodes(), SMESH_MeshVSLink::GetNodesByElement(), SMESH_MeshVSLink::GetNormal(), VISCOUS_3D::_SolidData::GetShapeEdges(), StdMeshers_ImportSource1D::GetSourceSubMeshes(), Fem::FemMeshPy::getVolumes(), StdMeshers_Import_1D::importMesh(), Fem::FemVTKTools::importVTKMesh(), SMESH_Gen::IsGlobalHypothesis(), SMESH_MesherHelper::IsStructured(), SMESH_MesherHelper::IsSubShape(), SMESH_Pattern::Load(), StdMeshers_Penta_3D::MakeBlock(), SMESH_Pattern::MakeMesh(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), StdMeshers_Penta_3D::MakeNodes(), StdMeshers_Penta_3D::MakeVolumeMesh(), NotifySubMeshesHypothesisModification(), RemoveGroup(), StdMeshers_ViscousLayers2D::RestoreListeners(), StdMeshers_Adaptive1D::SetParametersByMesh(), StdMeshers_Geometric1D::SetParametersByMesh(), SMESH_MeshVSLink::SMESH_MeshVSLink(), and SMESH_MeshEditor::Transform().

◆ GetMeshDS() [2/2]

const SMESHDS_Mesh* SMESH_Mesh::GetMeshDS ( ) const

◆ GetMeshOrder()

const TListOfListOfInt & SMESH_Mesh::GetMeshOrder ( ) const

return submesh order if any

◆ GetShapeDiagonalSize() [1/2]

double SMESH_Mesh::GetShapeDiagonalSize ( ) const

Return diagonal size of bounding box of shape to mesh.

References GetShapeToMesh().

Referenced by StdMeshers_Regular_1D::CheckHypothesis(), and StdMeshers_NumberOfLayers::SetParametersByDefaults().

◆ GetShapeDiagonalSize() [2/2]

double SMESH_Mesh::GetShapeDiagonalSize ( const TopoDS_Shape &  aShape)
static

Return diagonal size of bounding box of a shape.

References GEOMUtils::PreciseBoundingBox().

◆ GetShapeToMesh()

◆ GetSubMesh()

SMESH_subMesh * SMESH_Mesh::GetSubMesh ( const TopoDS_Shape &  aSubShape)

Get or Create the SMESH_subMesh object implementation

References SMESH_subMesh::getDependsOnIterator().

Referenced by AddHypothesis(), NETGENPlugin_Mesher::AddIntVerticesInFaces(), NETGENPlugin_Mesher::AddIntVerticesInSolids(), StdMeshers_Quadrangle_2D::check(), StdMeshers_Import_1D::CheckHypothesis(), StdMeshers_Quadrangle_2D::checkNbEdgesForEvaluate(), SMESH_Gen::Compute(), NETGENPlugin_NETGEN_2D_ONLY::Compute(), StdMeshers_CompositeSegment_1D::Compute(), StdMeshers_Import_1D2D::Compute(), StdMeshers_Prism_3D::Compute(), StdMeshers_Projection_1D::Compute(), StdMeshers_Projection_1D2D::Compute(), StdMeshers_Projection_2D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_Quadrangle_2D::Compute(), StdMeshers_RadialQuadrangle_1D2D::Compute(), StdMeshers_ViscousLayers2D::Compute(), StdMeshers_ViscousLayers::Compute(), StdMeshers_Quadrangle_2D::computeQuadDominant(), SMESH_Gen::Evaluate(), NETGENPlugin_NETGEN_2D_ONLY::Evaluate(), NETGENPlugin_NETGEN_3D::Evaluate(), StdMeshers_CompositeHexa_3D::Evaluate(), StdMeshers_Hexa_3D::Evaluate(), StdMeshers_HexaFromSkin_3D::Evaluate(), StdMeshers_Import_1D::Evaluate(), StdMeshers_Import_1D2D::Evaluate(), StdMeshers_MEFISTO_2D::Evaluate(), StdMeshers_Penta_3D::Evaluate(), StdMeshers_PolygonPerFace_2D::Evaluate(), StdMeshers_Prism_3D::Evaluate(), StdMeshers_Projection_1D::Evaluate(), StdMeshers_Projection_1D2D::Evaluate(), StdMeshers_Projection_2D::Evaluate(), StdMeshers_Projection_3D::Evaluate(), StdMeshers_Quadrangle_2D::Evaluate(), StdMeshers_RadialPrism_3D::Evaluate(), StdMeshers_RadialQuadrangle_1D2D::Evaluate(), StdMeshers_Regular_1D::Evaluate(), StdMeshers_Quadrangle_2D::evaluateQuadPref(), SMESH_MeshEditor::ExtrusionAlongTrack(), NETGENPlugin_Mesher::FillNgMesh(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_Gen::GetAlgo(), SMESH_Gen::GetAlgoState(), StdMeshers_Quadrangle_2D::getEnforcedUV(), GetHypotheses(), GetHypothesis(), StdMeshers_ImportSource1D::GetSourceSubMeshes(), StdMeshers_ProjectionUtils::MakeComputed(), StdMeshers_Penta_3D::MakeMeshOnFxy1(), SMESH_Algo::NumberOfPoints(), RemoveHypothesis(), StdMeshers_ViscousLayers2D::RestoreListeners(), StdMeshers_ProjectionUtils::SetEventListener(), and VISCOUS_3D::ToClearSubWithMain().

◆ GetSubMeshContaining() [1/2]

SMESH_subMesh * SMESH_Mesh::GetSubMeshContaining ( const int  aShapeID) const

Get the SMESH_subMesh object implementation. Dont create it, return null if it does not exist.

◆ GetSubMeshContaining() [2/2]

◆ GMFToMesh()

SMESH_ComputeErrorPtr SMESH_Mesh::GMFToMesh ( const char *  theFileName,
bool  theMakeRequiredGroups = true 
)

◆ HasDuplicatedGroupNamesMED()

bool SMESH_Mesh::HasDuplicatedGroupNamesMED ( )

Check group names for duplications. Consider maximum group name length stored in MED file.

Check if any groups of the same type have equal names.

References SMESH_Group::GetGroupDS(), SMESH_Group::GetName(), and SMESHDS_GroupBase::GetType().

◆ HasModificationsToDiscard()

bool SMESH_Mesh::HasModificationsToDiscard ( ) const

Return true if the mesh has been edited since a total re-compute and those modifications may prevent successful partial re-compute. As a side effect reset _isModified flag if mesh is empty.

References SMESH_subMesh::GetSubShape(), SMESH_subMesh::IsMeshComputed(), and NbNodes().

Referenced by AddHypothesis(), NotifySubMeshesHypothesisModification(), RemoveHypothesis(), and SetIsModified().

◆ HasShapeToMesh()

◆ IsMainShape()

bool SMESH_Mesh::IsMainShape ( const TopoDS_Shape &  theShape) const

◆ IsNotConformAllowed()

bool SMESH_Mesh::IsNotConformAllowed ( ) const

check if a hypothesis alowing notconform mesh is present

References GetHypothesis(), and SMESH_HypoFilter::HasName().

Referenced by SMESH_Gen::GetAlgoState().

◆ IsOrderOK()

bool SMESH_Mesh::IsOrderOK ( const SMESH_subMesh smBefore,
const SMESH_subMesh smAfter 
) const

Return true if given order of sub-meshes is OK.

References DraftVecUtils::find(), and SMESH_subMesh::GetId().

Referenced by SMESH_Gen::GetAlgo().

◆ IsUsedHypothesis()

◆ Load()

void SMESH_Mesh::Load ( )

Load mesh from study file.

◆ MEDToMesh()

◆ MeshExists()

bool SMESH_Mesh::MeshExists ( int  meshId) const

Return true if a mesh with given id exists.

◆ Nb0DElements()

int SMESH_Mesh::Nb0DElements ( ) const

Return number of edges of given order in the mesh.

◆ NbBalls()

int SMESH_Mesh::NbBalls ( ) const

Return number of ball elements in the mesh.

◆ NbBiQuadQuadrangles()

int SMESH_Mesh::NbBiQuadQuadrangles ( ) const

Return number of biquadratic quadrangles in the mesh.

Referenced by SMESH_MesherHelper::FixQuadraticElements().

◆ NbBiQuadTriangles()

int SMESH_Mesh::NbBiQuadTriangles ( ) const

Return number of biquadratic triangles in the mesh.

Referenced by SMESH_MesherHelper::FixQuadraticElements().

◆ NbEdges()

int SMESH_Mesh::NbEdges ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

◆ NbFaces()

◆ NbGroup()

int SMESH_Mesh::NbGroup ( ) const

◆ NbHexagonalPrisms()

int SMESH_Mesh::NbHexagonalPrisms ( ) const

Return number of hexagonal prisms in the mesh.

◆ NbHexas()

int SMESH_Mesh::NbHexas ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return number of hexahedrons of given order in the mesh.

Referenced by Dump(), and SMESH_MeshEditor::GetHexaFacetsToSplit().

◆ NbMeshes()

int SMESH_Mesh::NbMeshes ( ) const

Returns number of meshes in the Study, that is supposed to be equal to SMESHDS_Document::NbMeshes()

◆ NbNodes()

int SMESH_Mesh::NbNodes ( ) const

Return number of nodes in the mesh.

Referenced by Dump(), and HasModificationsToDiscard().

◆ NbPolygons()

int SMESH_Mesh::NbPolygons ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return the number of polygonal faces in the mesh.

Referenced by Dump().

◆ NbPolyhedrons()

int SMESH_Mesh::NbPolyhedrons ( ) const

Return number of polyhedrons in the mesh.

Referenced by Dump().

◆ NbPrisms()

int SMESH_Mesh::NbPrisms ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return number of prisms (penthahedrons) of given order in the mesh.

Referenced by Dump().

◆ NbPyramids()

int SMESH_Mesh::NbPyramids ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return number of pyramids of given order in the mesh.

Referenced by Dump().

◆ NbQuadrangles()

int SMESH_Mesh::NbQuadrangles ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

◆ NbSubMesh()

int SMESH_Mesh::NbSubMesh ( ) const

Return number of submeshes in the mesh.

◆ NbTetras()

int SMESH_Mesh::NbTetras ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return number of tetrahedrons of given order in the mesh.

Referenced by Dump().

◆ NbTriangles()

int SMESH_Mesh::NbTriangles ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

Return the number of faces in the mesh.

Referenced by StdMeshers_Hexa_3D::Compute(), and Dump().

◆ NbTriQuadraticHexas()

int SMESH_Mesh::NbTriQuadraticHexas ( ) const

Return number of triquadratic hexahedrons in the mesh.

Referenced by SMESH_MesherHelper::FixQuadraticElements().

◆ NbVolumes()

int SMESH_Mesh::NbVolumes ( SMDSAbs_ElementOrder  order = ORDER_ANY) const

◆ NotifySubMeshesHypothesisModification()

◆ PseudoShape()

const TopoDS_Solid & SMESH_Mesh::PseudoShape ( )
static

Return a solid which is returned by GetShapeToMesh() if a real geometry to be meshed was not set.

Referenced by ShapeToMesh(), and SMESH_Mesh().

◆ RemoveGroup()

bool SMESH_Mesh::RemoveGroup ( const int  theGroupID)

◆ RemoveHypothesis()

◆ SetAutoColor()

void SMESH_Mesh::SetAutoColor ( bool  theAutoColor)

Auto color functionality

◆ SetCallUp()

void SMESH_Mesh::SetCallUp ( TCallUp upCaller)

Set a caller of methods at level of CORBA API implementation. The set upCaller will be deleted by SMESH_Mesh.

◆ SetIsModified()

void SMESH_Mesh::SetIsModified ( bool  isModified)

Set the flag meaning that the mesh has been edited "manually". It is to set to false after Clear() and to set to true by MeshEditor.

References HasModificationsToDiscard().

◆ SetMeshOrder()

void SMESH_Mesh::SetMeshOrder ( const TListOfListOfInt &  theOrder)

remove submesh order from Mesh

◆ ShapeToMesh()

void SMESH_Mesh::ShapeToMesh ( const TopoDS_Shape &  aShape)

◆ SortByMeshOrder()

bool SMESH_Mesh::SortByMeshOrder ( std::vector< SMESH_subMesh * > &  theListToSort) const

sort submeshes according to stored mesh order

Parameters
theListToSortin out list to be sorted
Returns
FALSE if nothing sorted

References DraftVecUtils::find(), SMESHDS_SubMesh::GetID(), and GetSubMeshContaining().

Referenced by SMESH_Gen::Compute(), SMESH_Gen::Evaluate(), GetHypotheses(), and GetHypothesis().

◆ STLToMesh()

int SMESH_Mesh::STLToMesh ( const char *  theFileName)

◆ SynchronizeGroups()

bool SMESH_Mesh::SynchronizeGroups ( )

Creates SMESH_Groups for not wrapped SMESHDS_Groups.

Return values
bool- true if new SMESH_Groups have been created

References SMESHDS_GroupBase::GetID().

Referenced by CGNSToMesh(), and GMFToMesh().

◆ UNVToMesh()


The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/3rdParty/salomesmesh/inc/SMESH_Mesh.hxx
  • Sources/FreeCAD/src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp