Commit Graph

1208 Commits

Author SHA1 Message Date
vsr
d4f9cc5a79 EDF 1575 SMESH: Filters and precision preferences 2010-09-24 13:08:23 +00:00
vsr
7615037388 Fix crash in Length2D::GetValues() and MultiConnection2D::GetValues() methods. 2010-09-24 08:28:34 +00:00
vsr
75c075899d Hack libtool (!) to workaround problem with wrong linkage of native libraries 2010-09-22 13:58:13 +00:00
eap
c9ba971509 issue 0020959: HEXA_3D fails on shell
Fix DependsOn() for a not-closed SHELL not in SOLID
2010-09-22 11:41:25 +00:00
eap
8ca5200ec2 0020986: EDF 1557 SMESH: Convert to quadratic with medium node on geometry fails on a GHS3D mesh
Optimize FixQuadraticElements()
2010-09-22 11:24:21 +00:00
eap
f3ec053630 0020996: EDF 1549 SMESH: Projection 1D/2D algorithms fail
implement FindFaceAssociation() by UV correspondence which is used
   in case if correspondent vertices belong to inner wires
2010-09-22 10:01:32 +00:00
gdd
5fbfcdf41e GDD:
- fix documentation of ConvertToQuadratic (inform about theForce3d parameter)
- New function PrintDoubleValue added in PluginUtils
2010-09-21 13:48:27 +00:00
eap
13325ec615 0020996: EDF 1549 SMESH: Projection 1D/2D algorithms fail
Fix FindFaceAssociation():
     1) exit from loop on outer_wire_algo as soon as solution is found
     2) treat edges of inner wires
2010-09-21 07:53:49 +00:00
eap
631ad5cae2 Correct name of an argument
static int GetOrderedEdges (const TopoDS_Face&        theFace,
                               TopoDS_Vertex             theFirstVertex,
                               std::list< TopoDS_Edge >& theEdges,
-                              std::list< int >  &       theNbVertexInWires,
+                              std::list< int >  &       theNbEdgesInWires,
                               const bool                theShapeAnalysisAlgo=false);
2010-09-21 07:48:09 +00:00
ouv
47134513c5 Issue 0020226: [CEA 329] Invalid glyphs position in vector fields on polyhedrons cell. 2010-09-20 13:00:13 +00:00
eap
e350ffef91 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
-    if ( !subMeshId )
+    if ( !subMeshId && ! _impl->GetMeshDS()->IsGroupOfSubShapes( myLocSubShape ))
       THROW_SALOME_CORBA_EXCEPTION("not sub-shape of the main shape", SALOME::BAD_PARAM);
2010-09-17 05:36:15 +00:00
eap
e0baca518c 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Fix fillAncestorsMap(theShape) for the case if a sub-shape of
   theShape is not in _mapAncestors
2010-09-17 05:35:42 +00:00
eap
c72cfb82fd 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Move all checks of shape validity from AddCompoundSubmesh() to IsGroupOfSubShapes()
2010-09-17 05:34:11 +00:00
eap
52e29b1d26 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
bool IsLinked (const SMDS_MeshNode* theNode1,
                  const SMDS_MeshNode* theNode2,
+                 const bool           theIgnoreMediumNodes=false) const;
   // Return true if theNode1 is linked with theNode2.
+  // If theIgnoreMediumNodes then corner nodes of quadratic cell are considered linked as well
2010-09-15 15:11:26 +00:00
eap
27c31e5d2a 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Replace VTK_CONVEX_POINT_SET with VTK_QUADRATIC_PYRAMID
2010-09-15 15:08:58 +00:00
dmv
82fc097deb 0020983: EDF 1569 SMESH: Numbering Display Elements with several groups selected does not work 2010-09-15 14:59:58 +00:00
eap
2cea858d03 indentation 2010-09-15 13:25:26 +00:00
eap
893497d10a 0020876: EDF 1246 SMESH: DoubleNodes fonctions available in the GUI
Add an argument to DoubleNodeXXX() creating groups
2010-09-15 13:25:06 +00:00
eap
ddff0c0a7e 0020876: EDF 1246 SMESH: DoubleNodes fonctions available in the GUI
No need in new commands in smeshDC.py, so DoubleNodeXXXNew() is replaced by DoubleNodeXXX()
2010-09-15 12:46:19 +00:00
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