-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
ADD_QUADPYRAMID,
ADD_QUADPENTAHEDRON,
ADD_QUADHEXAHEDRON,
- ADD_ELEM0D
+ ADD_ELEM0D,
+ ADD_BIQUAD_QUADRANGLE,
+ ADD_TRIQUAD_HEXA,
+ ADD_HEXAGONAL_PRISM,
+ ADD_BALL
};
struct log_block
EDGE,
FACE,
VOLUME,
- ELEM0D
+ ELEM0D,
+ BALL
};
typedef sequence<ElementType> array_of_ElementType ;
Geom_POINT,
Geom_EDGE,
Geom_TRIANGLE,
- Geom_QUADRANGLE,
- Geom_POLYGON,
+ Geom_QUADRANGLE, // when a new GeometryType is added, please
+ Geom_POLYGON, // update a corresponding list in SMESH_2smeshpy.cxx, ln 665
Geom_TETRA,
Geom_PYRAMID,
Geom_HEXA,
Geom_PENTA,
- Geom_POLYHEDRA
+ Geom_HEXAGONAL_PRISM,
+ Geom_POLYHEDRA,
+ Geom_BALL
};
/*!
Entity_Quad_Triangle,
Entity_Quadrangle,
Entity_Quad_Quadrangle,
+ Entity_BiQuad_Quadrangle,
Entity_Polygon,
Entity_Quad_Polygon,
Entity_Tetra,
Entity_Quad_Pyramid,
Entity_Hexa,
Entity_Quad_Hexa,
+ Entity_TriQuad_Hexa,
Entity_Penta,
Entity_Quad_Penta,
+ Entity_Hexagonal_Prism,
Entity_Polyhedra,
Entity_Quad_Polyhedra,
+ Entity_Ball,
Entity_Last
};
HYP_NOTCONFORM, // not conform mesh is produced appling a hypothesis
HYP_ALREADY_EXIST,// such hypothesis already exist
HYP_BAD_DIM, // bad dimension
- HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its subshape, nor a group
+ HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its sub-shape, nor a group
HYP_BAD_GEOMETRY, // geometry mismatches algorithm's expectation
HYP_NEED_SHAPE // algorithm can work on shape only
};
* Returns the mesh
*/
SMESH_Mesh GetMesh();
+
+ /*!
+ * Returns false if GetMeshInfo() returns incorrect information that may
+ * happen if mesh data is not yet fully loaded from the file of study.
+ */
+ boolean IsMeshInfoCorrect();
};
interface SMESH_Group;
GEOM::GEOM_Object GetShapeToMesh()
raises (SALOME::SALOME_Exception);
+ /*!
+ * Return false if the mesh is not yet fully loaded from the study file
+ */
+ boolean IsLoaded()
+ raises (SALOME::SALOME_Exception);
+
+ /*!
+ * Load full mesh data from the study file
+ */
+ void Load()
+ raises (SALOME::SALOME_Exception);
+
/*!
* Remove all nodes and elements
*/
void Clear()
raises (SALOME::SALOME_Exception);
+ /*!
+ * Get the list of sub-meshes existing in the mesh
+ */
+ submesh_array GetSubMeshes()
+ raises (SALOME::SALOME_Exception);
+
/*!
* Remove all nodes and elements of submesh
*/
raises (SALOME::SALOME_Exception);
/*!
- * Get the subMesh object associated to a subShape. The subMesh object
+ * Get the subMesh object associated to a Sub-shape. The subMesh object
* gives access to nodes and elements IDs.
- * SubMesh will be used instead of SubShape in a next idl version to
+ * SubMesh will be used instead of Sub-shape in a next idl version to
* adress a specific subMesh...
*/
SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name)
raises (SALOME::SALOME_Exception);
/*!
- * Add hypothesis to the mesh, under a particular subShape
+ * Add hypothesis to the mesh, under a particular Sub-shape
* (or the main shape itself)
* The Add method is only used to prepare the build of the mesh and store
* the algorithms and associated parameters.
* Actual job of mesh the shape is done by MESH_Gen.
* @params
- * - aSubShape : subShape obtained by a shape explode in GEOM
+ * - aSubShape : sub-shape obtained by a shape explode in GEOM
* (or main shape)
* - anHyp : hypothesis object
* @return
- * - OK if the hypothesis is compatible with the subShape
- * (and all previous hypothesis on the subShape)
- * - NOK if the hypothesis is not compatible with the subShape
- * (or one previous hypothesis on the subShape)
+ * - OK if the hypothesis is compatible with the sub-shape
+ * (and all previous hypothesis on the sub-shape)
+ * - NOK if the hypothesis is not compatible with the sub-shape
+ * (or one previous hypothesis on the sub-shape)
* raises exception if hypothesis has not been created
*/
Hypothesis_Status AddHypothesis(in GEOM::GEOM_Object aSubObject,
// raises (SALOME::SALOME_Exception);
/*!
- * Get the list of hypothesis added on a subShape
+ * Get the list of hypothesis added on a sub-shape
*/
ListOfHypothesis GetHypothesisList(in GEOM::GEOM_Object aSubObject)
raises (SALOME::SALOME_Exception);
void ExportMED( in string file, in boolean auto_groups )
raises (SALOME::SALOME_Exception);
+ /*!
+ * Export Mesh to SAUV formatted file
+ * Write a temporary med file and use med2sauv
+ */
+ void ExportSAUV( in string file, in boolean auto_groups )
+ raises (SALOME::SALOME_Exception);
+
/*!
* Return string representation of a MED file version comprising nbDigits
*/
string GetVersionString(in MED_VERSION version, in short nbDigits);
/*!
- * Export Mesh to DAT, UNV and STL Formats
+ * Export Mesh to different Formats
* (UNV supported version is I-DEAS 10)
*/
void ExportDAT( in string file ) raises (SALOME::SALOME_Exception);
void ExportUNV( in string file ) raises (SALOME::SALOME_Exception);
void ExportSTL( in string file,
in boolean isascii ) raises (SALOME::SALOME_Exception);
+ void ExportCGNS( in SMESH_IDSource meshPart,
+ in string file,
+ in boolean overwrite ) raises (SALOME::SALOME_Exception);
+ void ExportGMF( in SMESH_IDSource meshPart,
+ in string file ) raises (SALOME::SALOME_Exception);
void ExportPartToDAT( in SMESH_IDSource meshPart,
in string file ) raises (SALOME::SALOME_Exception);
void ExportPartToUNV( in SMESH_IDSource meshPart,
long Nb0DElements()
raises (SALOME::SALOME_Exception);
+ long NbBalls()
+ raises (SALOME::SALOME_Exception);
+
long NbEdges()
raises (SALOME::SALOME_Exception);
long NbQuadranglesOfOrder(in ElementOrder order)
raises (SALOME::SALOME_Exception);
+ long NbBiQuadQuadrangles()
+ raises (SALOME::SALOME_Exception);
+
long NbPolygons()
raises (SALOME::SALOME_Exception);
long NbHexasOfOrder(in ElementOrder order)
raises (SALOME::SALOME_Exception);
+ long NbTriQuadraticHexas()
+ raises (SALOME::SALOME_Exception);
+
long NbPyramids()
raises (SALOME::SALOME_Exception);
long NbPrismsOfOrder(in ElementOrder order)
raises (SALOME::SALOME_Exception);
+ long NbHexagonalPrisms()
+ raises (SALOME::SALOME_Exception);
+
long NbPolyhedrons()
raises (SALOME::SALOME_Exception);
*/
boolean IsQuadratic(in long id);
+ /*!
+ * Returns diameter of a ball discrete element or zero in case of an invalid \a id
+ */
+ double GetBallDiameter(in long id);
+
/*!
* Returns XYZ coordinates of bary center for given element
* as list of double