Commit Graph

1239 Commits

Author SHA1 Message Date
eap
ca0696b420 0020746: EDF 1274 SMESH : MergeAllNodesButNodesFromGroup feature
## Finds groups of ajacent nodes within Tolerance.
     #  @param Tolerance the value of tolerance
     #  @param SubMeshOrGroup SubMesh or Group
+    #  @param exceptNodes list of either SubMeshes, Groups or node IDs to exclude from search
     #  @return the list of groups of nodes
     #  @ingroup l2_modif_trsf
-    def FindCoincidentNodesOnPart (self, SubMeshOrGroup, Tolerance):
+    def FindCoincidentNodesOnPart (self, SubMeshOrGroup, Tolerance, exceptNodes=[]):
2010-09-15 12:09:30 +00:00
eap
cd7aa1f910 Use TIDSortedNodeSet instead of set< const SMDS_MeshNode*> when looking for coincident nodes 2010-09-15 11:52:34 +00:00
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
acb4161c58 + interface SMESH_IDSource;
+  typedef sequence<SMESH_IDSource> ListOfIDSources;

+  typedef sequence<ElementType> array_of_ElementType ;

  interface SMESH_IDSource
  {
+
+    /*!
+     * Returns types of elements it contains
+     */
+    array_of_ElementType GetTypes();
   };
2010-09-15 11:45:49 +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
gdd
a21764f491 GDD: Some mispell corrections 2010-09-08 07:21:54 +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
17cc504ac1 Issue: 0020935: A group created with a type of element criteria is empty
- Improve documentation for the filters functionality
2010-08-25 10:17:59 +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
vsr
2e22ccf8f7 Avoid doxygen warnings 2010-08-25 09:59:03 +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
ouv
a8864480d4 Additional fix for issue 20755 2010-07-23 11:09:49 +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