Commit Graph

1072 Commits

Author SHA1 Message Date
eap
e38b448770 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
+  /*!
+   * Returns types of elements it contains
+   */
+  virtual SMESH::array_of_ElementType* GetTypes();
2010-09-15 11:51:57 +00:00
eap
d1d0bb638c 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
+    TPythonDump&
+    operator<<(const SMESH::ListOfIDSources& theList);
+
2010-09-15 11:50:48 +00:00
eap
c375774866 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
+  // set "FindCoincidentNodesOnPart()" instead of "FindCoincidentNodesOnPartBut()"
+  if ( !isPyMeshMethod && method == "FindCoincidentNodesOnPartBut")
+  {
+    isPyMeshMethod=true;
+    theCommand->SetMethod("FindCoincidentNodesOnPart");
+  }
2010-09-15 11:50:13 +00:00
eap
fed358c8ec 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
interface SMESH_MeshEditor
{
-    SMESH_IDSource MakeIDSource(in long_array IDsOfElements);
+    SMESH_IDSource MakeIDSource(in long_array IDsOfElements, in ElementType type);

+    void FindCoincidentNodesOnPartBut (in  SMESH_IDSource      SubMeshOrGroup,
+                                       in  double              Tolerance,
+                                       out array_of_long_array GroupsOfNodes,
+                                       in  ListOfIDSources     ExceptSubMeshOrGroups);
+
2010-09-15 11:49:07 +00:00
eap
1e8fc8a66c 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
-    SMESH_IDSource MakeIDSource(in long_array IDsOfElements);
+    SMESH_IDSource MakeIDSource(in long_array IDsOfElements, in ElementType type);

+    void FindCoincidentNodesOnPartBut (in  SMESH_IDSource      SubMeshOrGroup,
+                                       in  double              Tolerance,
+                                       out array_of_long_array GroupsOfNodes,
+                                       in  ListOfIDSources     ExceptSubMeshOrGroups);
+
2010-09-15 11:47:53 +00:00
eap
b44f6a0f67 rename SMESHGUI_EditMeshDlg to SMESHGUI_MergeDlg 2010-09-15 11:42:59 +00:00
eap
b166f12b58 Use TIDSortedNodeSet instead of set< const SMDS_MeshNode*> when looking for coincident nodes
+typedef std::set< const SMDS_MeshNode*,    TIDCompare >      TIDSortedNodeSet;
2010-09-15 11:41:11 +00:00
dmv
20db1a650f WinTC5.1.4: Application crash after open Linux study 2010-09-13 14:23:50 +00:00
dmv
7a8dbd1c30 0020082: EDF 869 GEOM : Edges Orientation indicator/reverse 2010-09-09 09:08:23 +00:00
eap
b5eb9a6a03 use linked nodes to get an upward direction when defining orientation 2010-09-07 06:35:44 +00:00
eap
ea6aa32f23 0020968: EDF1545 SMESH: Problem in de creation of a mesh group on geometry
Detect not computed sub-shapes in case if algo computes many
   submeshes at once
2010-09-03 14:19:16 +00:00
eap
6d9d5ab070 0020963: EDF 1528 SMESH: How to combine Netgen1D2D with sizemap with Quadrangle(Mapping) ?
-              sm->ComputeStateEngine(SMESH_subMesh::COMPUTE);
+              _gen->Compute( theMesh, _mainEdge, /*anUpward=*/true);

sm->ComputeStateEngine() fails if vertices it depends on are not yet created
2010-09-02 06:30:53 +00:00
eap
fe8da0148d improve comment 2010-09-02 06:26:55 +00:00
eap
59f4ea94a3 bool SMESH_HypoFilter::IsMoreLocalThanPredicate::IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape&     aShape) const
 {
+  // issue 0020963
+  // if aShape is COMPOUND (i.e. most probably a GEOM group) then
+  // it is more local if it contains shapes of less dimension than _shapeType
+  ...
2010-09-02 06:26:23 +00:00
eap
b539de9f45 0020959: EDF 1531: HEXA_3D fails on shell
in DependsOn(), do not make a sub-mesh of a not closed SHELL
2010-09-01 11:00:43 +00:00
vsr
d4056b8447 SALOME internationalization: add textual resources for French language 2010-08-31 15:14:20 +00:00
vsr
565717b18c SALOME internationalization: add textual resources for French language 2010-08-31 10:03:26 +00:00
eap
859a8ee4f0 untabify 2010-08-30 12:00:00 +00:00
eap
4802162fe0 Fix dump python of DoubleNode*() 2010-08-30 11:59:17 +00:00
eap
290a70345b Fix TPythonDump::operator<<(const SMESH::ListOfGroups& theList) for an empty list 2010-08-30 11:44:16 +00:00
mzn
cc203f62c3 Fix for imp 0020876: EDF 1246 SMESH: DoubleNodes fonctions available in the GUI. 2010-08-30 10:57:47 +00:00
vsr
9a0bd14a2c Issue: 0020935: A group created with a type of element criteria is empty
- Fix some filters bugs in Python API
2010-08-25 10:17:27 +00:00
eap
91db52567f 0020958: EDF 1529 SMESH : If some faces have been meshed with small
quadrangles Netgen 3D creates pyramids with volume zero and fails

   bool CheckIntersection(const gp_Pnt& P, const gp_Pnt& PC,
                          gp_Pnt& Pint, SMESH_Mesh& aMesh,
                          const TopoDS_Shape& aShape,
-                         const TopoDS_Shape& NotCheckedFace);
+                         const SMDS_MeshElement* NotCheckedFace);
2010-08-23 05:26:19 +00:00
eap
0bce8612a5 Fix for SIGSEGV on Mandriva2008 in optimize mode only
==21300== Invalid read of size 4
==21300==    at 0x1445EA23: StdMeshers_Penta_3D::MakeVolumeMesh() (StdMeshers_Penta_3D.cxx:681)

  while (aItNodes->more()) {

It seems to be an error of optimization, aItNodes.px becomes invalid
before aItNodes->more() returns false but after the loop code is
performed for the last time.
2010-08-19 13:28:02 +00:00
eap
23a1a900c3 remove debug output 2010-08-19 09:41:24 +00:00
eap
1aa25c0e23 0020958: EDF 1529 SMESH : If some faces have been meshed with small
quadrangles Netgen 3D creates pyramids with volume zero and fails

* Fix HasIntersection3(): use reasonable tolerances
* Improve performace using SMESH_ElementSearcher
2010-08-19 09:23:39 +00:00
eap
14c9e5320c fix removing from the std::map being iterated over 2010-08-19 09:21:03 +00:00
eap
3a69b3ea0f 0020958: EDF 1529 SMESH : If some faces have been meshed with small
quadrangles Netgen 3D creates pyramids with volume zero and fails

struct SMESH_ElementSearcher
{
+  /*!
+   * \brief Return elements possibly intersecting the line
+   */
+  virtual void GetElementsNearLine( const gp_Ax1&                           line,
+                                    SMDSAbs_ElementType                     type,
+                                    std::vector< const SMDS_MeshElement* >& foundElems)=0;
2010-08-19 09:19:49 +00:00
eap
32e5402500 Implement iteration in id increasing order
-  SMDS_NodeIteratorPtr nodesIterator(bool idInceasingOrder=false) const;
-  SMDS_0DElementIteratorPtr elements0dIterator() const;
-  SMDS_EdgeIteratorPtr edgesIterator() const;
-  SMDS_FaceIteratorPtr facesIterator() const;
-  SMDS_VolumeIteratorPtr volumesIterator() const;
+  SMDS_NodeIteratorPtr nodesIterator          (bool idInceasingOrder=false) const;
+  SMDS_0DElementIteratorPtr elements0dIterator(bool idInceasingOrder=false) const;
+  SMDS_EdgeIteratorPtr edgesIterator          (bool idInceasingOrder=false) const;
+  SMDS_FaceIteratorPtr facesIterator          (bool idInceasingOrder=false) const;
+  SMDS_VolumeIteratorPtr volumesIterator      (bool idInceasingOrder=false) const;
2010-08-19 09:17:39 +00:00
eap
2712d2bac8 avoid unused variables in release mode 2010-08-18 11:06:29 +00:00
eap
0ead748d34 fix the case of already meshed sole straight edge 2010-08-18 11:06:01 +00:00
eap
986c507e02 0020855: [CEA] Problem with ijk algo
find out orientation by a least distorted hexahedron
2010-08-18 08:00:09 +00:00
eap
99da90c8d2 -theFileName = thePath + "/Shapes/Brep/slots.brep"
+theFileName = os.path.join( thePath,"Shapes","Brep","slots.brep")
2010-08-13 12:56:44 +00:00
eap
9b8d761c97 0020955: EDF 1493 SMESH: Bad import of .unv file
* Complete the set of readable 2D elements
2010-08-09 08:38:48 +00:00
eap
c3ab4d469d Remove unused variables 2010-08-09 08:37:24 +00:00
eap
758a69ebf0 0020951: EDF 1501 SMESH: Conversion linear/quadratic with medium nodes on geometry fails with GHS3D
* Fix splitTrianglesIntoChains()
2010-08-04 12:05:37 +00:00
eap
da13b7ebd3 0020951: EDF 1501 SMESH: Conversion linear/quadratic with medium nodes on geometry fails with GHS3D
* Fix for usecase: open the atached study, convert Mesh_1 from
   quadratic, unassign GHS3D algo -> SIGSEGV. Reason is that the same
   SMDS_SpacePosition is shared by all nodes in different solids.
2010-08-04 12:02:49 +00:00
eap
cb58ff9fa4 untabify 2010-07-27 13:06:18 +00:00
eap
52be03b564 0020951: EDF 1501 SMESH: Conversion linear/quadratic with medium nodes on geometry fails with GHS3D
* Fix GetNodeUV() for a node on seam edge: enable projection of node in face
 * Fix GetMediumNode(): set a node in volume #1 as well
 * Fix QFace::GetLinkChain(), case of triangles
2010-07-27 13:05:28 +00:00
eap
4ea8012155 0020920: EDF 1478 SMESH: Conversion linear to quadratic fails (BLSURF Mesh)
* fix FixQuadraticElements(): ignore internal chains
2010-07-21 05:45:17 +00:00
eap
cc0f9654b4 0020919: EDF 1472 SMESH: Linear to quadratic conversion fails with hexaedron algorithm
* fix FixQuadraticElements()
2010-07-20 06:06:38 +00:00
eap
90bfbd9c1e improve comment 2010-07-20 06:05:22 +00:00
adam
92931e254a Patch from Anthony to be compliant with MED 2010-07-19 15:18:39 +00:00
eap
99adc043fe untabify 2010-07-19 07:57:32 +00:00
vsr
420d105fdb Issue 0020921: EDF 1462 SMESH: Regression in 5.1.4. a quadrangle meshing fails 2010-07-08 06:51:11 +00:00
vsr
32a86c1f4a 0020742: EDF 1270 SMESH : Delete Group with contents and remove Orphan Nodes 2010-07-07 05:32:15 +00:00
adam
3cd9dd3663 windows port 2010-07-06 10:17:30 +00:00
dmv
4d43188368 IPAL21820 TC6.1.0: Lost new nodes 2010-07-05 13:58:35 +00:00
dmv
e3ffb861ce IPAL21831 Can't load the Python dump after Export to MED 2010-06-30 11:40:12 +00:00
vsr
9862fa66b4 Bug IPAL21801: preferences for SMESH: color of Group name text should be added
EDF 703 SMESH VISU : Display Mesh Groups names in viewer (as a caption)
Additional fix: add preferences for the names groups color
2010-06-23 13:19:50 +00:00
vsr
8c1e153907 0020752: EDF 1303 SMESH : Add a 'Select All' button in Create Group dialog box 2010-06-22 15:24:40 +00:00
jfa
946f0a4e5c Mantis issue 0020812: Register() and Destroy() of the GenericObj. 2010-06-22 14:43:41 +00:00
ouv
e533bcb1d7 Issue 0020755: EDF 1279 MESH : 'Mesh to Pass Through a Point' enhancement 2010-06-21 10:30:03 +00:00
vsr
2343a5b385 Fix bug of NodeSearcher: search fails if point is outside the mesh on the distance more than octree node precision value. Version 2 with improved performance. 2010-06-21 07:29:04 +00:00
vsr
97577f2731 Fix bug of NodeSearcher: search fails if point is outside the mesh on the distance more than octree node precision value 2010-06-17 19:00:18 +00:00
vsr
6ea1e8f320 Merge from V5_1_4_BR (5_1_4rc2) 09/06/2010 2010-06-10 06:51:07 +00:00
eap
452d18f670 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* In GetFaceWires(), create a separate wire for each internal edge
2010-06-08 11:33:26 +00:00
eap
dd4eae00e6 - return ( e && e->NbNodes() == ( e->IsQuadratic() ? 8 : 4 ));
+    return ( e && e->NbCornerNodes() == 4 );
2010-05-20 10:23:56 +00:00
eap
17aeb4f3c7 0020855: [CEA] Problem with ijk algo ---------- KO.med file 2010-05-20 10:04:19 +00:00
eap
5dad3ddd64 0020855: [CEA] Problem with ijk algo
* Fix detection of block corners
  * Fix selection of sides
2010-05-19 08:16:18 +00:00
eap
0611264223 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
## Computes the mesh and returns the status of the computation
+    #  @param discardModifs if True and the mesh has been edited since
+    #         a last total re-compute and that may prevent successful partial re-compute,
+    #         then the mesh is cleaned before Compute()
     #  @return True or False
     #  @ingroup l2_construct
-    def Compute(self, geom=0):
+    def Compute(self, geom=0, discardModifs=False):
2010-05-13 06:24:13 +00:00
eap
475c43c868 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
* set _isModified attribute of the mesh to true
2010-05-13 06:23:03 +00:00
eap
fdac3f59c5 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
* save/restore _isModified attribute of the mesh
2010-05-13 06:22:26 +00:00
eap
38824d786e 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+    if ( myMesh->HasModificationsToDiscard() && // issue 0020693
+         SUIT_MessageBox::question( desktop(), tr( "SMESH_WARNING" ),
+                                    tr( "FULL_RECOMPUTE_QUESTION" ),
+                                    tr( "SMESH_BUT_YES" ), tr( "SMESH_BUT_NO" ), 1, 0 ) == 0 )
+      myMesh->Clear();
2010-05-13 06:20:35 +00:00
eap
a5103fc7f7 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+            <source>FULL_RECOMPUTE_QUESTION</source>
+            <translation>
+The mesh has been edited since a last total re-compute
+that may prevent successful computation.
+Do you wish to re-compute the mesh totally to discard the modifications?
+            </translation>
+        </message>
+        <message>
2010-05-13 06:20:02 +00:00
eap
dc9f7a0708 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+    /*!
+     * Return true if the mesh has been edited since a total re-compute
+     * and those modifications may prevent successful partial re-compute
+     */
+    boolean HasModificationsToDiscard()
+      raises (SALOME::SALOME_Exception);
2010-05-13 06:18:57 +00:00
eap
d0e4aacc56 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+  void SetIsModified(bool isModified);
+  bool GetIsModified() const { return _isModified; }
+  bool HasModificationsToDiscard() const;
+  bool                       _isModified; //!< modified since last total re-compute, issue 0020693
2010-05-13 06:18:02 +00:00
vsr
6650dea1f8 Merge from V5_1_4_BR 07/05/2010 2010-05-07 15:08:23 +00:00
eap
4a1881f9c1 0020855: [CEA] Problem with ijk algo
* Fix difining sharing of block sides
  * Fix selection of adjacent side
2010-05-06 08:48:21 +00:00
eap
46390b4393 0020855: [CEA] Problem with ijk algo
* Fix uninitialized gravity center
-      gp_XYZ gc;
+      gp_XYZ gc(0,0,0);
2010-04-30 06:45:50 +00:00
eap
8ebb31bcc9 0020849: [CEA] Projection 2D fails
* project by transformation in case if TopoDS_TFace's are different
2010-04-26 10:39:30 +00:00
dmv
0fe4350ada IPAL21668 Call of Edit Group leads to Crash. 2010-04-08 07:52:18 +00:00
san
845309d919 Issue 0020580: improved validation in integer and double spin boxes, possibility to adjust input field precision through preferences 2010-04-05 11:43:42 +00:00
eap
da4a6470be Rename to avoid clash with same name class from GEOM_Engine
-class ObjectStates{
+class SMESH_ObjectStates{
2010-03-31 05:56:30 +00:00
eap
204b3f755c Remove useless extra dump in DEBUG mode 2010-03-31 05:55:11 +00:00
eap
a232cd7e03 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
+    void SplitVolumesIntoTetra(in SMESH_IDSource elems, in short methodFlags)
2010-03-30 12:38:16 +00:00
eap
01d2cde96d 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
* Add "Split into Tetrahedra" operation
2010-03-30 12:36:23 +00:00
eap
0e2bac7865 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
+  virtual int  NbCornerNodes() const;
2010-03-30 12:33:10 +00:00
eap
1f50f137e3 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
* Implement GetFaceNodesIndices() for polyhedrons
2010-03-30 12:32:41 +00:00
eap
2705c10eb5 Move #include "SMESH_Algo.hxx" from hxx to cxx 2010-03-30 12:30:12 +00:00
eap
1d2d0b2f0a Use TXyzIterator in Preparation() 2010-03-30 12:29:24 +00:00
eap
8abf245a59 /*!
+     * Returns nodes of given face (counted from zero) for given volumic element.
+     */
+    long_array GetElemFaceNodes(in long elemId, in short faceIndex);
+
+    /*!
+     * Returns an element based on all given nodes.
+     */
+    long FindElementByNodes(in long_array nodes);
2010-03-30 12:27:31 +00:00
ouv
fa7f73d6bd Bug IPAL21655 - Points representation works incorrectly with white background 2010-03-29 08:24:47 +00:00
eap
aa031dbe39 untabify 2010-03-25 14:51:26 +00:00
ouv
4d33eed28b Issue 0020613: EDF 1106 : Modify Node Marker in SMESH and VISU 2010-03-25 13:55:29 +00:00
eap
c3b2640450 Move StdMeshers_ProjectionUtils::IsSubShape() to SMESH_MesherHelper 2010-03-23 14:33:16 +00:00
eap
8951a46238 Move from StdMeshers_ProjectionUtils
+  static bool IsSubShape( const TopoDS_Shape& shape, const TopoDS_Shape& mainShape );
+
+  static bool IsSubShape( const TopoDS_Shape& shape, SMESH_Mesh* aMesh );
2010-03-23 14:32:26 +00:00
eap
3a82c6685b 020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* Cash GeomAPI_ProjectPointOnSurf's
 * Make applyFunc() public under name applyIn2D()


+   * \brief Define a pointer to wrapper over a function of gp_XY class,
+   *       suitable to pass as xyFunPtr to applyIn2D().
+   *       For exaple gp_XY_FunPtr(Added) defines pointer gp_XY_Added to function
+   *       calling gp_XY::Added(gp_XY), which is to be used like following
+   *       applyIn2D(surf, uv1, uv2, gp_XY_Added)
+   */
+#define gp_XY_FunPtr(meth) \
+  static gp_XY __gpXY_##meth (const gp_XY& uv1, const gp_XY& uv2) { return uv1.meth( uv2 ); } \
+  static xyFunPtr gp_XY_##meth = & __gpXY_##meth

+  /*!
+   * \brief Perform given operation on two 2d points in parameric space of given surface.
+   *        It takes into account period of the surface. Use gp_XY_FunPtr macro
+   *        to easily define pointer to function of gp_XY class.
+   */
+  static gp_XY applyIn2D(const Handle(Geom_Surface)& surface,
+                         const gp_XY&                uv1,
+                         const gp_XY&                uv2,
+                         xyFunPtr                    fun,
+                         const bool                  resultInPeriod=true);
+
2010-03-23 08:04:58 +00:00
vsr
6468f538ec Issue 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 15:15:49 +00:00
vsr
e9aead38a5 Issue 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 15:08:53 +00:00
dmv
9e0ab432cc 0020799: [CEA] Smesh script fails 2010-03-22 14:48:33 +00:00
vsr
db9ba2e978 0020801: EDF 1343 SMESH : Segmentation violation during compound od Mesh with 0D elements 2010-03-22 14:30:36 +00:00
dmv
736b66759f 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 12:17:15 +00:00
eap
8a6ef93bb1 SMESH_IDSource can be not-published object
+    operator<<(SMESH::SMESH_IDSource_ptr theArg);
2010-03-19 14:56:03 +00:00
eap
43cfddbeaa 0020771: EDF 1322 SMESH : Quadratic/Linear conversion with Medium Nodes on Geometry issue
* Care of period when performing operations on points in parametric space
2010-03-19 14:21:48 +00:00
eap
d5768a3f63 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* fix pb of CheckNodeUV() with INTERNAL shapes

+  /*!
+   * \brief Return iterator on ancestors of the given type
+   */
+  static PShapeIteratorPtr GetAncestors(const TopoDS_Shape& shape,
+                                        const SMESH_Mesh&   mesh,
+                                        TopAbs_ShapeEnum    ancestorType);
2010-03-18 09:47:58 +00:00
eap
b51a02ed24 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
-  TopoDS_Shape GetSubShape() const  { return myShape; }
+  const TopoDS_Shape& GetSubShape() const  { return myShape; }

+typedef SMDS_Iterator<const TopoDS_Shape*>  PShapeIterator;
+typedef boost::shared_ptr< PShapeIterator > PShapeIteratorPtr;

+  /*!
+   * \brief Return iterator on ancestors of the given type
+   */
+  static PShapeIteratorPtr GetAncestors(const TopoDS_Shape& shape,
+                                        const SMESH_Mesh&   mesh,
+                                        TopAbs_ShapeEnum    ancestorType);
2010-03-18 09:46:14 +00:00
eap
331cc524a8 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* In GetOrderedEdges(), preview presence of the internal vertex within the face
2010-03-18 09:42:08 +00:00
dmv
6339de2d04 IPAL21631 Incorrect Help link. 2010-03-17 07:52:51 +00:00
ana
1839653e13 Windows compatibility 2010-03-16 13:04:00 +00:00
ana
a4a1062443 Windows compatibility 2010-03-15 14:45:59 +00:00
dmv
2f541de569 0020727: EDF 1276 SMESH : add a Method RadialQuadrangle to the Mesh class in smeshDC.py 2010-03-15 13:56:52 +00:00
vsr
e2018c0393 Fix compilation problem on Debian Sarge 2010-03-15 09:31:54 +00:00
eap
8baf98a974 +//=======================================================================
+/*!
+ * \brief SMESH_TLink knowing its orientation
+ */
+//=======================================================================
+
+struct SMESH_OrientedLink: public SMESH_TLink
+{
+  bool _reversed;
+  SMESH_OrientedLink(const SMDS_MeshNode* n1, const SMDS_MeshNode* n2 )
+    : SMESH_TLink( n1, n2 ), _reversed( n1 != node1() ) {}
+};
2010-03-12 08:30:20 +00:00
eap
22395fddea /*!
* \brief High level util for effective file reading and other file operations
 */
2010-03-12 08:26:13 +00:00
skl
3e93aa815a Changes for bug 0020671. 2010-03-12 05:38:02 +00:00
skl
25722a6cdd Changes for bug 0020734. 2010-03-11 09:36:56 +00:00
eap
0e70fe931b fix FindFace() after the previous integration 2010-03-10 13:21:56 +00:00
eap
f4bf7b006c - const SMDS_MeshFace *FindFace(std::vector<int> nodes_ids) const;
+  const SMDS_MeshFace *FindFace(const std::vector<int>& nodes_ids) const;

-  static const SMDS_MeshFace* FindFace(std::vector<const SMDS_MeshNode *> nodes);
+  static const SMDS_MeshFace* FindFace(const std::vector<const SMDS_MeshNode *>& nodes);
2010-03-10 06:43:17 +00:00
eap
57a36ac547 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells
* Fix regression made at redesigning
2010-03-09 13:26:18 +00:00
eap
0811f1f0ea a little optimize FindFace (std::vector<const SMDS_MeshNode *> nodes) 2010-03-09 08:17:43 +00:00
eap
78364113e1 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Fix GetPointState()
2010-03-05 11:13:07 +00:00
eap
8781de04b7 set Kernel_Utils::Localizer before calling algo->Compute() 2010-03-05 07:42:20 +00:00
eap
e1e680f157 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Add function to find out if the given point is out of closed 2D mesh.

+  virtual TopAbs_State GetPointState(const gp_Pnt& point);
2010-03-04 14:05:05 +00:00
eap
4fadfe037a 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Fix FaceNormal()
* Add
+  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
+                                                           const SMDS_MeshElement* e2);
2010-03-04 13:57:50 +00:00
eap
8ac52f19a5 remove commented code 2010-03-04 09:59:01 +00:00
eap
a59cbfc28e Add a function to know kind of mesh element
+    EntityType GetElementGeomType( in long id )
2010-03-04 08:08:21 +00:00
eap
c0c6cee1a5 0020737: [CEA] Computing mesh fails
* Fix constructor from regression made in frames of issue 0020676
2010-03-04 07:30:41 +00:00
eap
859674eaf0 prevent MakeMesh() from crash if myShapeIDMap.IsEmpty() 2010-03-03 13:58:32 +00:00
skl
00c9fb50be Changes for bug 0020753. 2010-03-03 11:01:36 +00:00
eap
f4222ec705 roll back 2010-03-03 09:07:23 +00:00
eap
f01d6dacd5 0020725: EDF 1242 SMESH : Crash avec Convert lin--> quad avec BLSURF/GHS3D on 64bits
0020721: EDF 1233 SMESH : Crash/bad behavior of 'Convert linear Quadratic with Medium Nodes on Geometry' feature with BLSurf/Ghs3D
* Fix GetNodeUV() for the case of surface both U and V periodic.
* Protect QFace::GetBoundaryLink() from infinite recursion.
* Protect QFace::GetLinkChain() from stack overflow.
2010-03-03 09:03:47 +00:00
eap
d5df7d3273 0020725: EDF 1242 SMESH : Crash avec Convert lin--> quad avec BLSURF/GHS3D on 64bits
0020721: EDF 1233 SMESH : Crash/bad behavior of 'Convert linear Quadratic with Medium Nodes on Geometry' feature with BLSurf/Ghs3D
* Fix GetNodeUV() for the case of surface both U and V periodic.
* Protect QFace::GetBoundaryLink() from infinite recursion.
* Protect QFace::GetLinkChain() from stack overflow.
2010-03-03 07:48:07 +00:00
skl
0af7b3cb3d Changes for bug 0020671. 2010-03-03 07:23:24 +00:00
eap
26a6f60422 fix comment 2010-03-02 06:47:35 +00:00
adam
45fd4efb6f windows port 2010-03-01 14:15:48 +00:00
adam
226dd03db2 *** empty log message *** 2010-03-01 14:14:38 +00:00
dmv
12cb4bfcdd Correct implementation of Max Subshape limiter. 2010-03-01 14:00:46 +00:00
adam
99c3d13441 *** empty log message *** 2010-02-26 16:08:53 +00:00
eap
c73dc0e564 + /*!
+     * \brief Wrap a sequence of ids in a SMESH_IDSource
+     */
+    SMESH_IDSource MakeIDSource(in long_array IDsOfElements);
2010-02-26 08:15:02 +00:00
eap
9ed3242565 0020611: [CEA] Algo lacking when editing MED meshing
* Generate hexahedrons from 2D skin mesh:

+	StdMeshers_HexaFromSkin_3D.cxx
2010-02-24 12:46:38 +00:00
eap
039a4f4346 + SMESH_Comment & operator=(const SMESH_Comment& c) {
+    _s << c.c_str() ;
+    this->string::operator=( _s.str() );
+    return *this;
+  }
+
2010-02-24 12:44:11 +00:00
eap
a34eac9276 + static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true); 2010-02-24 12:43:56 +00:00
skl
1ac99281d8 Changes for bug 0020705. 2010-02-19 14:38:11 +00:00
eap
da57c65070 fix pb with GetName() in case of meshing imported 2D skin 2010-02-19 08:43:22 +00:00
dmv
7ca0689d93 0020701: Additional fix concerned to the GetName Method changes. 2010-02-18 11:28:58 +00:00
eap
a710674f83 020697: EDF 1248 SMESH: Sub-mesh on group of face not taken into account
* Correct adding geom groups into map of ansestors
2010-02-18 08:29:00 +00:00
eap
b3a24eca49 0020680: EDF 1252 SMESH: Bad cell created by Radial prism in center of torus
1) Try to build nodes using transformation before using block approach
2) workaround for wrong surface.Value(u,v) for UV near boundary of BSline surface
2010-02-17 14:59:19 +00:00
eap
0719fe6424 0020680: EDF 1252 SMESH: Bad cell created by Radial prism in center of torus
+  /*!
+   * \brief Return transformations to get coordinates of nodes of each internal layer
+   *        by nodes of the bottom. Layer is a set of nodes at a certain step
+   *        from bottom to top.
+   */
+  bool GetLayersTransformation(std::vector<gp_Trsf> & trsf) const;
2010-02-17 14:56:40 +00:00
eap
db9b76d342 1)
+    ## Defines "QuadrangleParams" hypothesis
+    #  @param vertex: vertex of a trilateral geometrical face, around which triangles
+    #                 will be created while other elements will be quadrangles.
+    #                 Vertex can be either a GEOM_Object or a vertex ID within the
+    #                 shape to mesh
+    #
+    def TriangleVertex(self, vertex, UseExisting=0):

2) in FixedPoints1D(), convert geom reversed edges into IDs
2010-02-17 14:54:30 +00:00
skl
e096680dda Changes for bug 0020681. 2010-02-16 11:07:53 +00:00
eap
ae8e36cc4a fix Save() and Load() 2010-02-16 09:32:14 +00:00
vsr
97a2f52e50 0020702: [CEA] Problem with Segment function of SMESH module
0020701: EDF SMESH : GetName Method of smeshDC.py
Additional fix
2010-02-16 09:20:56 +00:00
skl
68b6c38588 Changes for bug 0020681. 2010-02-16 09:19:59 +00:00
dmv
4bb95af61f 0020702: [CEA] Problem with Segment function of SMESH module 2010-02-15 09:35:36 +00:00
eap
3d1a536674 protect IndexToShape() from Standard_OutOfRange exception 2010-02-15 07:11:44 +00:00
eap
8d6ad56522 report error reasons in case of trilateral face 2010-02-12 14:27:33 +00:00
vsr
2029d91e2f Issue 20509: EDF 1065 OTHER : Add the Salome version in the header of the dump 2010-02-12 08:37:10 +00:00
eap
2cd3dfdd08 fix case of 2 edges 2010-02-12 08:15:06 +00:00
maintenance team
d7d3916c31 Fix compilation problem on Debian Sarge 2010-02-12 08:03:53 +00:00