Commit Graph

881 Commits

Author SHA1 Message Date
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
eap
49ab78a64a Correction after the proof reading 2013-04-18 07:58:41 +00:00
prascle
d8a4fd0b8c PR: correction due to refactoring 2013-04-17 20:33:51 +00:00
vsr
016f5df550 Update documentation for 7.2.0 2013-04-17 16:20:21 +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
be61d6322e PR: Spelling 2013-04-16 14:07:03 +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