Commit Graph

637 Commits

Author SHA1 Message Date
eap
42491f3cb5 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+#include "SMESH_MeshAlgos.hxx"
2013-05-16 16:58:08 +00:00
eap
f2160ad9de + subMeshOfSolid->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE ); 2013-05-16 16:55:53 +00:00
eap
22dd2b977a 0022100: EDF 2413 SMESH: Take into account TRIA7
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+    def NbBiQuadTriangles(self):

+    def ClearLastCreated(self):

    def GetFilter(self,elementType,
                  CritType=FT_Undefined,
                  Compare=FT_EqualTo,
                  Threshold="",
                  UnaryOp=FT_Undefined,
                  Tolerance=1e-07,
+                 mesh=None):
2013-05-16 16:55:14 +00:00
eap
70fad16a15 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:53:18 +00:00
eap
998c774c5d 0022100: EDF 2413 SMESH: Take into account TRIA7
+  CORBA::Long NbBiQuadTriangles()
2013-05-16 16:49:03 +00:00
eap
3a8dfa1bdb +#include "SMESH_MeshAlgos.hxx"
+// A macro used in SMESH_TryCatch.hxx,
+// it re-raises a CORBA SALOME exception thrown by SMESH_MeshEditor_i and caught by SMESH_CATCH
+#define SMY_OWN_CATCH \
+  catch ( SALOME::SALOME_Exception & e ) { throw e; }

+  void ClearLastCreated() throw (SALOME::SALOME_Exception);
2013-05-16 16:48:19 +00:00
eap
143bb6d8a6 + void ClearLastCreated() throw (SALOME::SALOME_Exception); 2013-05-16 16:46:57 +00:00
eap
b47c581141 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+  class SMESH_I_EXPORT ConnectedElements_i: public virtual POA_SMESH::ConnectedElements,
+                                            public virtual Predicate_i

+    ConnectedElements_ptr     CreateConnectedElements();
2013-05-16 16:46:26 +00:00
eap
9be03d1b02 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh 2013-05-16 16:45:34 +00:00
eap
765c100cd0 0022100: EDF 2413 SMESH: Take into account TRIA7
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
2013-05-16 16:44:02 +00:00
eap
45157dd914 0022100: EDF 2413 SMESH: Take into account TRIA7
+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
2013-05-16 16:41:58 +00:00
eap
7868270178 0022100: EDF 2413 SMESH: Take into account TRIA7
decompose bi-quadratic elements using the central node of face
2013-05-16 16:41:30 +00:00
eap
3e2ff42c86 1) Remove writing into stdout
2) Support all types of elements
2013-05-16 16:39:55 +00:00
eap
6d0acadd44 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:38:48 +00:00
eap
101919845f 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+#include "SMESH_MeshAlgos.hxx"

+    class SMESHCONTROLS_EXPORT ConnectedElements: public virtual Predicate
2013-05-16 16:36:26 +00:00
eap
b73a05d5ec 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

+	SMESH_MeshAlgos.cxx
2013-05-16 16:35:18 +00:00
eap
f377659e82 0022100: EDF 2413 SMESH: Take into account TRIA7
Fix AddNode() for the case if a node already in
2013-05-16 16:33:34 +00:00
eap
30c56009c3 0022100: EDF 2413 SMESH: Take into account TRIA7
-  void SetNodeInVolume(SMDS_MeshNode * aNode, const TopoDS_Shell & S);
+  void SetNodeInVolume(const SMDS_MeshNode * aNode, const TopoDS_Shell & S);

-  void MoveNode(const SMDS_MeshNode *, double x, double y, double z);
+  virtual void MoveNode(const SMDS_MeshNode *, double x, double y, double z);

+  // biquadratic triangle of 7 nodes
+  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3,
+                                       int n12,int n23,int n31, int nCenter, int ID);
2013-05-16 16:32:39 +00:00
eap
6cc3a49ea9 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:30:18 +00:00
eap
f0c8a5c35a 0022100: EDF 2413 SMESH: Take into account TRIA7
+  inline void AddBiQuadTriasWithID(SMDS_Mesh* theMesh,
+                                   SMESH::log_array_var theSeq,
+                                   CORBA::Long theId)
2013-05-16 16:29:56 +00:00
eap
96862daa25 arrange #include 2013-05-16 16:29:29 +00:00
eap
098ecf81c2 0022100: EDF 2413 SMESH: Take into account TRIA7
+  const SMDS_MeshNode* GetCentralNode(const SMDS_MeshNode* n1,
+                                      const SMDS_MeshNode* n2,
+                                      const SMDS_MeshNode* n3,
+                                      const SMDS_MeshNode* n12,
+                                      const SMDS_MeshNode* n23,
+                                      const SMDS_MeshNode* n31,
+                                      bool                 force3d);
2013-05-16 16:28:40 +00:00
eap
664ae5e033 1) 0022100: EDF 2413 SMESH: Take into account TRIA7
2) 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

-struct SMESH_NodeSearcher
-{
-struct SMESH_ElementSearcher
-{
-  SMESH_NodeSearcher* GetNodeSearcher();
-  SMESH_ElementSearcher* GetElementSearcher();
-  SMESH_ElementSearcher* GetElementSearcher( SMDS_ElemIteratorPtr elemIt );
-  static bool IsOut( const SMDS_MeshElement* element, const gp_Pnt& point, double tol );
-  static double GetDistance( const SMDS_MeshFace* face, const gp_Pnt& point );
-  static const SMDS_MeshElement* FindFaceInSet(const SMDS_MeshNode*    n1,
2013-05-16 16:27:06 +00:00
eap
68683b462f 0022100: EDF 2413 SMESH: Take into account TRIA7
+  int NbBiQuadTriangles() const throw(SALOME_Exception);
2013-05-16 16:23:11 +00:00
eap
36f9a5cb34 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

-  static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
-  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
-                                                           const SMDS_MeshElement* e2);
2013-05-16 16:22:25 +00:00
eap
c2c0a21343 - virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
2013-05-16 16:17:16 +00:00
eap
1267641d31 0022100: EDF 2413 SMESH: Take into account TRIA7
Now  SMDS_VtkCellIteratorToUNV inherits from SMDS_NodeIterator and
hence next() returns a node

-class SMDS_VtkCellIteratorToUNV: public SMDS_VtkCellIterator
+class SMDS_VtkCellIteratorToUNV: public SMDS_NodeIterator, protected SMDS_VtkCellIterator
 {
 public:
   SMDS_VtkCellIteratorToUNV(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType);
+  virtual const SMDS_MeshNode* next();
+  virtual bool more();
   virtual ~SMDS_VtkCellIteratorToUNV();
 };
2013-05-16 16:16:22 +00:00
eap
5030955be8 Make IsFreeFace() fast, the old implementation of IsFreeFace() is renamed -> IsFreeFaceAdv()
bool IsFreeFace(  int faceIndex, const SMDS_MeshElement** otherVol=0 ) const;
-  // Check that all volumes built on the face nodes lays on one side
+  // Fast check that only one volume is built on nodes of a given face
+  // otherVol returns another volume sharing the given facet
+
+  bool IsFreeFaceAdv(  int faceIndex, const SMDS_MeshElement** otherVol=0 ) const;
+  // Thorough check that all volumes built on the face nodes lays on one side

+  bool IsPoly() const { return myPolyedre; }
2013-05-16 16:14:01 +00:00
eap
580dfddb72 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:11:35 +00:00
eap
c448c8ff74 - SMDS_ElemIteratorPtr interlacedNodesElemIterator() const; 2013-05-16 16:10:37 +00:00
eap
010ee1ec71 0022100: EDF 2413 SMESH: Take into account TRIA7
+  int NbBiQuadTriangles() const { return myNbBiQuadTriangles; }
2013-05-16 16:08:36 +00:00
eap
24d5088297 - virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr nodeIterator() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
2013-05-16 16:08:00 +00:00
eap
90925ba7c0 0022100: EDF 2413 SMESH: Take into account TRIA7
+  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
+                                 const SMDS_MeshNode * n2,
+                                 const SMDS_MeshNode * n3,
+                                 const SMDS_MeshNode * n12,
+                                 const SMDS_MeshNode * n23,
+                                 const SMDS_MeshNode * n31,
+                                 const SMDS_MeshNode * nCenter);

+  virtual void MoveNode(const SMDS_MeshNode *n, double x, double y, double z);
2013-05-16 16:06:21 +00:00
eap
77bf33663f indentation 2013-05-16 16:04:50 +00:00
eap
7cd54f6b75 0022100: EDF 2413 SMESH: Take into account TRIA7
+      _cellDimension[VTK_BIQUADRATIC_TRIANGLE] = 2;
2013-05-16 16:04:30 +00:00
eap
42462cd3f9 0022100: EDF 2413 SMESH: Take into account TRIA7
+  SMDSEntity_BiQuad_Triangle,
2013-05-16 16:04:10 +00:00
pnoyret
b1f8e808d5 specification des unités de chordal deviation 2013-05-16 13:31:34 +00:00
pnoyret
bed33c76b7 Pour prise en compte de la bonne valeur par defaut du chordal deviation 2013-05-16 13:24:39 +00:00
eap
89682777f7 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
Fix notifyListenersOnEvent() for the case of removing an EventListener (attempt No.2)
2013-04-29 14:18:32 +00:00
eap
36550205e6 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
Fix notifyListenersOnEvent() for the case of removing an EventListener
2013-04-29 12:00:40 +00:00
eap
55e345e578 Regression of SMESH_TEST/Grids/smesh/imps7/H6
Unreachable deep idea

           bool subComputed = false, subFailed = false;
           if (!algo->OnlyUnaryInput()) {
-            if ( event == COMPUTE &&
-                 ( algo->NeedDiscreteBoundary() || algo->SupportSubmeshes() ))
+            if ( event == COMPUTE /*&&
+                 ( algo->NeedDiscreteBoundary() || algo->SupportSubmeshes() )*/)
               shape = getCollection( gen, algo, subComputed, subFailed );
             else
               subComputed = SubMeshesComputed( & subFailed );
2013-04-26 15:53:34 +00:00
eap
adde8edd1b Regression of SMESH_TEST/Grids/smesh/imps7/H5
Fix position of medium nodes that are set to FACE by
StdMeshers_Projection_2D, since EDGEs are discreteized later than FACE.
2013-04-26 14:43:46 +00:00
eap
65c45fcb35 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
Fix the ensuring stability of SMESH_MeshEditor::makeWalls().
2013-04-26 11:47:26 +00:00
eap
250c4f2244 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
Fix the ensuring stability of SMESH_MeshEditor::makeWalls(). Allow
storing both nodes and cells in one map sorted by ID.


struct TIDCompare {
   bool operator () (const SMDS_MeshElement* e1, const SMDS_MeshElement* e2) const
-  { return e1->GetID() < e2->GetID(); }
+  { return e1->GetType() == e2->GetType() ? e1->GetID() < e2->GetID() : e1->GetType() < e2->GetType(); }
2013-04-26 11:46:58 +00:00
eap
e1fe293459 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
-  for ( int iF = 1; iF < faceToSolids.Extent(); ++iF )
+  for ( int iF = 1; iF <= faceToSolids.Extent(); ++iF )
2013-04-26 10:21:24 +00:00
akl
866063cabb Call 'Location' with correct indices only to avoid exception. 2013-04-24 13:25:21 +00:00
akl
436838c202 Fix to avoid dependence of mesh on itself (it leaded to cycle in 'SetRemovedFromStudy'). 2013-04-24 13:13:40 +00:00
eap
85cd604381 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
To assure stability of makeWalls(), use maps sorted by ID, that are
declared in SMESH_TypeDefs.hxx

-typedef map<const SMDS_MeshElement*, list<const SMDS_MeshNode*> >    TElemOfNodeListMap;
-typedef map<const SMDS_MeshElement*, list<const SMDS_MeshElement*> > TElemOfElemListMap;
2013-04-24 12:59:33 +00:00
eap
180deae521 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
typedef std::map<const SMDS_MeshElement*,
-                 std::list<const SMDS_MeshElement*> >             TElemOfElemListMap;
+                 std::list<const SMDS_MeshElement*>, TIDCompare > TElemOfElemListMap;
2013-04-24 12:56:57 +00:00
eap
c965dca966 -algo=smesh.xxxx ==> algo.smeshBuilder.xxxx
+algo=smesh.xxxx  ==> algo=smeshBuilder.xxxx
2013-04-24 12:13:36 +00:00
akl
f4d0371a70 Check for null object was added. 2013-04-22 10:37:55 +00:00
akl
e5bd3f688c Indexation of OCC sequence is started from 1, but not 0. 2013-04-22 10:36:36 +00:00
gdd
51f6c9cec0 Update translations 2013-04-18 09:07:26 +00:00
prascle
d8a4fd0b8c PR: correction due to refactoring 2013-04-17 20:33:51 +00:00
akl
3ec0f6d752 Correction because of 'geompyDC' refactoring. 2013-04-17 11:34:31 +00:00
akl
6524427cb2 Correction because of 'smeshDC' refactoring. 2013-04-17 10:15:09 +00:00
akl
7f7f68d7de Correction of script because of 'geompyDC' refactoring. 2013-04-17 06:21:15 +00:00
prascle
bb5c11a5ed PR: relax constraints on node distances on StdMeshers_import_1D 2013-04-16 16:47:43 +00:00
prascle
5a81ec850d PR: Deprecation Warning more precise 2013-04-16 13:50:10 +00:00
vsr
c7935f54be Fix make distcheck problem 2013-04-16 07:37:02 +00:00
eap
b0fed15261 Regression of already fixed
0021406: EDF 1975 NETGENPLUGIN: Submesh hypothesis not taken into account

Correct the patch for
0021556: EDF 2222 SMESH: 3D mesh after projection impossible

-        smWithAlgoSupportingSubmeshes[0].push_back( shDim2smIt->second );
+        smWithAlgoSupportingSubmeshes[3].push_back( shDim2smIt->second );
2013-04-15 10:48:46 +00:00
vsr
208bca92c8 Fix test script 2013-04-15 07:25:40 +00:00
vsr
ae86d2a1ab Merge from V6_main 12/04/2013 2013-04-12 14:40:29 +00:00
prascle
515a51dac3 PR: update documentation of class SMESH_2smeshpy 2013-04-11 08:59:26 +00:00
prascle
9c186f8150 PR: update comments in dump function: smesh instead of smesh.smesh 2013-04-11 08:53:12 +00:00
prascle
74ba6feb24 PR: true singleton instance of smesh 2013-04-10 16:33:43 +00:00
prascle
c211b11fa1 PR: missing imports when tests are executed alone 2013-04-10 09:16:19 +00:00
prascle
d6941cf347 PR: restore missing attributes for compatibility with old scripts 2013-04-09 16:47:57 +00:00
vsr
be13498d82 Improve documentation 2013-04-08 14:50:20 +00:00
boulant
7c7a9a15ee Add comment in the documentation of the padder plugin (for the problem of ssh connection) 2013-04-05 17:26:35 +00:00
prascle
9c2ce3dffb PR: debug G. Nicolas (EDF 1967) 2013-04-05 15:19:53 +00:00
pnoyret
c2dc77e7c1 Push double click 2013-04-05 11:43:24 +00:00
pnoyret
a64d2ab318 minor bugs 2013-04-05 09:12:37 +00:00
vsr
0e885d0f01 Restore documentation of methods dynamically added by plug-ins to the Mesh class, killed by previous integration 2013-04-05 09:00:43 +00:00
vsr
54182913fb Merge from BR_plugins_pbyacs 03/04/2013 2013-04-04 07:08:19 +00:00
vsr
de3c6b4c61 Merge from V6_main 01/04/2013 2013-04-02 14:33:29 +00:00
vsr
bd8f1aee7c Merge from V6_main 01/04/2013 2013-04-01 13:05:47 +00:00
boulant
1c3d4eccd1 Padder execution error management (the errors are raised toward the gui) 2013-03-29 13:28:26 +00:00
mpa
5d01c143df IPAL0051783: TC 7.2.0: Filter added ID elements before click 'Add' button 2013-03-25 10:28:48 +00:00
mpa
93616350f1 IPAL0051782: TC7.2.0: Incorrect operation of the dialog box "Filter" for creation of the group 2013-03-25 06:54:18 +00:00
vsr
de9ffb0699 Merge from V6_main 19/03/2013 2013-03-19 16:22:36 +00:00
vsr
31ca0b3e3b Merge from V6_main 15/03/2013 2013-03-15 14:59:29 +00:00
ouv
d0284a4ab0 Porting to VTK 6.
Debug.
2013-03-12 15:51:34 +00:00
vsr
7aebb99e42 Merge from V6_main 06/03/2013 2013-03-06 13:57:01 +00:00
vsr
ae29d46509 Merge from BR_PORTING_VTK6 01/03/2013 2013-03-01 13:13:25 +00:00
vsr
88b3dbe23b Merge from V6_main 28/02/2013 2013-02-28 15:07:35 +00:00
prascle
cb4e582b0c PR: compilation on Ubuntu 12.04 2013-02-16 20:18:23 +00:00
vsr
9a54694a0a Merge from V6_main 11/02/2013 2013-02-12 14:37:44 +00:00
vsr
1067ffa6e7 Merge from V6_main 13/12/2012 2012-12-13 11:41:29 +00:00
vsr
f5016d85b7 Merge from V6_main (04/10/2012) 2012-10-08 11:56:59 +00:00
jfa
f190e6cfb1 Mantis issue 0021668: [CEA 564] MED2.1 to MED2.3 2012-08-09 11:15:15 +00:00
vsr
bd4e115a78 Merge from V6_main_20120808 08Aug12 2012-08-09 10:03:55 +00:00
vsr
0635c9fc80 Merge from BR_V5_DEV 16Feb09 2009-02-17 05:27:49 +00:00
jfa
79b1ac2b6d Join modifications from BR_Dev_For_4_0 tag V4_1_1. 2008-03-07 07:47:05 +00:00
nge
984c4ffdd7 PAL 14158 Add the Octree and OctreeNode classes to accelerate detection of close nodes. Octree is virtual pure, OctreeNode inherites from Octree. 2007-01-22 15:14:44 +00:00
jfa
fb9855e033 New smesh example from Francis KLOSS 2006-06-08 11:02:23 +00:00
jfa
c63ee099ad Join modifications from branch BR_DEBUG_3_2_0b1 2006-06-01 11:39:17 +00:00
jfa
7cab0901cb Fix bug 10955: Collisions with 'Ctrl+I' and 'Ctrl+M' hot keys. 2006-05-10 14:34:56 +00:00
eap
d9a6e9d9f3 fix bug 12361. In SetName(): there may be no study 2006-05-10 12:54:55 +00:00
eap
fdfe9f0f65 fix bug 12361. Peview possiblity of SetCurrentStudy(nil) 2006-05-10 12:49:13 +00:00