SALOME - SMESH
SMDS_Mesh.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 // SMESH SMDS : implementaion of Salome mesh data structure
23 // File : SMDS_Mesh.hxx
24 // Module : SMESH
25 
26 #ifndef _SMDS_Mesh_HeaderFile
27 #define _SMDS_Mesh_HeaderFile
28 
29 #include "SMESH_SMDS.hxx"
30 
31 #include "SMDS_MeshNode.hxx"
32 #include "SMDS_Mesh0DElement.hxx"
33 #include "SMDS_MeshEdge.hxx"
34 #include "SMDS_MeshFace.hxx"
35 #include "SMDS_MeshVolume.hxx"
37 #include "SMDS_MeshInfo.hxx"
38 #include "SMDS_ElemIterator.hxx"
39 #include <NCollection_Map.hxx>
40 
41 #include <boost/shared_ptr.hpp>
42 #include <set>
43 #include <list>
44 
46 public:
47 
49 
56 
57  SMDSAbs_ElementType GetElementType( const int id, const bool iselem ) const;
58 
60 
61  virtual SMDS_MeshNode* AddNodeWithID(double x, double y, double z, int ID);
62  virtual SMDS_MeshNode* AddNode(double x, double y, double z);
63 
64  virtual SMDS_Mesh0DElement* Add0DElementWithID(int n, int ID);
67 
68  virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int ID);
70  const SMDS_MeshNode * n2,
71  int ID);
72  virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
73  const SMDS_MeshNode * n2);
74 
75  // 2d order edge with 3 nodes: n12 - node between n1 and n2
76  virtual SMDS_MeshEdge* AddEdgeWithID(int n1, int n2, int n12, int ID);
78  const SMDS_MeshNode * n2,
79  const SMDS_MeshNode * n12,
80  int ID);
81  virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
82  const SMDS_MeshNode * n2,
83  const SMDS_MeshNode * n12);
84 
85  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int ID);
87  const SMDS_MeshNode * n2,
88  const SMDS_MeshNode * n3,
89  int ID);
90  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
91  const SMDS_MeshNode * n2,
92  const SMDS_MeshNode * n3);
93 
94  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4, int ID);
96  const SMDS_MeshNode * n2,
97  const SMDS_MeshNode * n3,
98  const SMDS_MeshNode * n4,
99  int ID);
100  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
101  const SMDS_MeshNode * n2,
102  const SMDS_MeshNode * n3,
103  const SMDS_MeshNode * n4);
104 
106  const SMDS_MeshEdge * e2,
107  const SMDS_MeshEdge * e3, int ID);
108  virtual SMDS_MeshFace* AddFace(const SMDS_MeshEdge * e1,
109  const SMDS_MeshEdge * e2,
110  const SMDS_MeshEdge * e3);
111 
113  const SMDS_MeshEdge * e2,
114  const SMDS_MeshEdge * e3,
115  const SMDS_MeshEdge * e4, int ID);
116  virtual SMDS_MeshFace* AddFace(const SMDS_MeshEdge * e1,
117  const SMDS_MeshEdge * e2,
118  const SMDS_MeshEdge * e3,
119  const SMDS_MeshEdge * e4);
120 
121  // 2d order triangle of 6 nodes
122  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3,
123  int n12,int n23,int n31, int ID);
125  const SMDS_MeshNode * n2,
126  const SMDS_MeshNode * n3,
127  const SMDS_MeshNode * n12,
128  const SMDS_MeshNode * n23,
129  const SMDS_MeshNode * n31,
130  int ID);
131  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
132  const SMDS_MeshNode * n2,
133  const SMDS_MeshNode * n3,
134  const SMDS_MeshNode * n12,
135  const SMDS_MeshNode * n23,
136  const SMDS_MeshNode * n31);
137 
138  // 2d order quadrangle
139  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4,
140  int n12,int n23,int n34,int n41, int ID);
142  const SMDS_MeshNode * n2,
143  const SMDS_MeshNode * n3,
144  const SMDS_MeshNode * n4,
145  const SMDS_MeshNode * n12,
146  const SMDS_MeshNode * n23,
147  const SMDS_MeshNode * n34,
148  const SMDS_MeshNode * n41,
149  int ID);
150  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
151  const SMDS_MeshNode * n2,
152  const SMDS_MeshNode * n3,
153  const SMDS_MeshNode * n4,
154  const SMDS_MeshNode * n12,
155  const SMDS_MeshNode * n23,
156  const SMDS_MeshNode * n34,
157  const SMDS_MeshNode * n41);
158 
159  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int ID);
161  const SMDS_MeshNode * n2,
162  const SMDS_MeshNode * n3,
163  const SMDS_MeshNode * n4,
164  int ID);
166  const SMDS_MeshNode * n2,
167  const SMDS_MeshNode * n3,
168  const SMDS_MeshNode * n4);
169 
170  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
171  int n5, int ID);
173  const SMDS_MeshNode * n2,
174  const SMDS_MeshNode * n3,
175  const SMDS_MeshNode * n4,
176  const SMDS_MeshNode * n5,
177  int ID);
179  const SMDS_MeshNode * n2,
180  const SMDS_MeshNode * n3,
181  const SMDS_MeshNode * n4,
182  const SMDS_MeshNode * n5);
183 
184  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
185  int n5, int n6, int ID);
187  const SMDS_MeshNode * n2,
188  const SMDS_MeshNode * n3,
189  const SMDS_MeshNode * n4,
190  const SMDS_MeshNode * n5,
191  const SMDS_MeshNode * n6,
192  int ID);
194  const SMDS_MeshNode * n2,
195  const SMDS_MeshNode * n3,
196  const SMDS_MeshNode * n4,
197  const SMDS_MeshNode * n5,
198  const SMDS_MeshNode * n6);
199 
200  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
201  int n5, int n6, int n7, int n8, int ID);
203  const SMDS_MeshNode * n2,
204  const SMDS_MeshNode * n3,
205  const SMDS_MeshNode * n4,
206  const SMDS_MeshNode * n5,
207  const SMDS_MeshNode * n6,
208  const SMDS_MeshNode * n7,
209  const SMDS_MeshNode * n8,
210  int ID);
212  const SMDS_MeshNode * n2,
213  const SMDS_MeshNode * n3,
214  const SMDS_MeshNode * n4,
215  const SMDS_MeshNode * n5,
216  const SMDS_MeshNode * n6,
217  const SMDS_MeshNode * n7,
218  const SMDS_MeshNode * n8);
219 
221  const SMDS_MeshFace * f2,
222  const SMDS_MeshFace * f3,
223  const SMDS_MeshFace * f4, int ID);
225  const SMDS_MeshFace * f2,
226  const SMDS_MeshFace * f3,
227  const SMDS_MeshFace * f4);
228 
230  const SMDS_MeshFace * f2,
231  const SMDS_MeshFace * f3,
232  const SMDS_MeshFace * f4,
233  const SMDS_MeshFace * f5, int ID);
235  const SMDS_MeshFace * f2,
236  const SMDS_MeshFace * f3,
237  const SMDS_MeshFace * f4,
238  const SMDS_MeshFace * f5);
239 
241  const SMDS_MeshFace * f2,
242  const SMDS_MeshFace * f3,
243  const SMDS_MeshFace * f4,
244  const SMDS_MeshFace * f5,
245  const SMDS_MeshFace * f6, int ID);
247  const SMDS_MeshFace * f2,
248  const SMDS_MeshFace * f3,
249  const SMDS_MeshFace * f4,
250  const SMDS_MeshFace * f5,
251  const SMDS_MeshFace * f6);
252 
253  // 2d order tetrahedron of 10 nodes
254  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
255  int n12,int n23,int n31,
256  int n14,int n24,int n34, int ID);
258  const SMDS_MeshNode * n2,
259  const SMDS_MeshNode * n3,
260  const SMDS_MeshNode * n4,
261  const SMDS_MeshNode * n12,
262  const SMDS_MeshNode * n23,
263  const SMDS_MeshNode * n31,
264  const SMDS_MeshNode * n14,
265  const SMDS_MeshNode * n24,
266  const SMDS_MeshNode * n34,
267  int ID);
269  const SMDS_MeshNode * n2,
270  const SMDS_MeshNode * n3,
271  const SMDS_MeshNode * n4,
272  const SMDS_MeshNode * n12,
273  const SMDS_MeshNode * n23,
274  const SMDS_MeshNode * n31,
275  const SMDS_MeshNode * n14,
276  const SMDS_MeshNode * n24,
277  const SMDS_MeshNode * n34);
278 
279  // 2d order pyramid of 13 nodes
280  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5,
281  int n12,int n23,int n34,int n41,
282  int n15,int n25,int n35,int n45,
283  int ID);
285  const SMDS_MeshNode * n2,
286  const SMDS_MeshNode * n3,
287  const SMDS_MeshNode * n4,
288  const SMDS_MeshNode * n5,
289  const SMDS_MeshNode * n12,
290  const SMDS_MeshNode * n23,
291  const SMDS_MeshNode * n34,
292  const SMDS_MeshNode * n41,
293  const SMDS_MeshNode * n15,
294  const SMDS_MeshNode * n25,
295  const SMDS_MeshNode * n35,
296  const SMDS_MeshNode * n45,
297  int ID);
299  const SMDS_MeshNode * n2,
300  const SMDS_MeshNode * n3,
301  const SMDS_MeshNode * n4,
302  const SMDS_MeshNode * n5,
303  const SMDS_MeshNode * n12,
304  const SMDS_MeshNode * n23,
305  const SMDS_MeshNode * n34,
306  const SMDS_MeshNode * n41,
307  const SMDS_MeshNode * n15,
308  const SMDS_MeshNode * n25,
309  const SMDS_MeshNode * n35,
310  const SMDS_MeshNode * n45);
311 
312  // 2d order Pentahedron with 15 nodes
313  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3,
314  int n4, int n5, int n6,
315  int n12,int n23,int n31,
316  int n45,int n56,int n64,
317  int n14,int n25,int n36,
318  int ID);
320  const SMDS_MeshNode * n2,
321  const SMDS_MeshNode * n3,
322  const SMDS_MeshNode * n4,
323  const SMDS_MeshNode * n5,
324  const SMDS_MeshNode * n6,
325  const SMDS_MeshNode * n12,
326  const SMDS_MeshNode * n23,
327  const SMDS_MeshNode * n31,
328  const SMDS_MeshNode * n45,
329  const SMDS_MeshNode * n56,
330  const SMDS_MeshNode * n64,
331  const SMDS_MeshNode * n14,
332  const SMDS_MeshNode * n25,
333  const SMDS_MeshNode * n36,
334  int ID);
336  const SMDS_MeshNode * n2,
337  const SMDS_MeshNode * n3,
338  const SMDS_MeshNode * n4,
339  const SMDS_MeshNode * n5,
340  const SMDS_MeshNode * n6,
341  const SMDS_MeshNode * n12,
342  const SMDS_MeshNode * n23,
343  const SMDS_MeshNode * n31,
344  const SMDS_MeshNode * n45,
345  const SMDS_MeshNode * n56,
346  const SMDS_MeshNode * n64,
347  const SMDS_MeshNode * n14,
348  const SMDS_MeshNode * n25,
349  const SMDS_MeshNode * n36);
350 
351  // 2d oreder Hexahedrons with 20 nodes
352  virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
353  int n5, int n6, int n7, int n8,
354  int n12,int n23,int n34,int n41,
355  int n56,int n67,int n78,int n85,
356  int n15,int n26,int n37,int n48,
357  int ID);
359  const SMDS_MeshNode * n2,
360  const SMDS_MeshNode * n3,
361  const SMDS_MeshNode * n4,
362  const SMDS_MeshNode * n5,
363  const SMDS_MeshNode * n6,
364  const SMDS_MeshNode * n7,
365  const SMDS_MeshNode * n8,
366  const SMDS_MeshNode * n12,
367  const SMDS_MeshNode * n23,
368  const SMDS_MeshNode * n34,
369  const SMDS_MeshNode * n41,
370  const SMDS_MeshNode * n56,
371  const SMDS_MeshNode * n67,
372  const SMDS_MeshNode * n78,
373  const SMDS_MeshNode * n85,
374  const SMDS_MeshNode * n15,
375  const SMDS_MeshNode * n26,
376  const SMDS_MeshNode * n37,
377  const SMDS_MeshNode * n48,
378  int ID);
380  const SMDS_MeshNode * n2,
381  const SMDS_MeshNode * n3,
382  const SMDS_MeshNode * n4,
383  const SMDS_MeshNode * n5,
384  const SMDS_MeshNode * n6,
385  const SMDS_MeshNode * n7,
386  const SMDS_MeshNode * n8,
387  const SMDS_MeshNode * n12,
388  const SMDS_MeshNode * n23,
389  const SMDS_MeshNode * n34,
390  const SMDS_MeshNode * n41,
391  const SMDS_MeshNode * n56,
392  const SMDS_MeshNode * n67,
393  const SMDS_MeshNode * n78,
394  const SMDS_MeshNode * n85,
395  const SMDS_MeshNode * n15,
396  const SMDS_MeshNode * n26,
397  const SMDS_MeshNode * n37,
398  const SMDS_MeshNode * n48);
399 
400  virtual SMDS_MeshFace* AddPolygonalFaceWithID (std::vector<int> nodes_ids,
401  const int ID);
402 
403  virtual SMDS_MeshFace* AddPolygonalFaceWithID (std::vector<const SMDS_MeshNode*> nodes,
404  const int ID);
405 
406  virtual SMDS_MeshFace* AddPolygonalFace (std::vector<const SMDS_MeshNode*> nodes);
407 
409  (std::vector<int> nodes_ids,
410  std::vector<int> quantities,
411  const int ID);
412 
414  (std::vector<const SMDS_MeshNode*> nodes,
415  std::vector<int> quantities,
416  const int ID);
417 
419  (std::vector<const SMDS_MeshNode*> nodes,
420  std::vector<int> quantities);
421 
422  virtual void RemoveElement(const SMDS_MeshElement * elem,
423  std::list<const SMDS_MeshElement *>& removedElems,
424  std::list<const SMDS_MeshElement *>& removedNodes,
425  bool removenodes = false);
426  virtual void RemoveElement(const SMDS_MeshElement * elem, bool removenodes = false);
427  virtual void RemoveNode(const SMDS_MeshNode * node);
428  virtual void Remove0DElement(const SMDS_Mesh0DElement * elem0d);
429  virtual void RemoveEdge(const SMDS_MeshEdge * edge);
430  virtual void RemoveFace(const SMDS_MeshFace * face);
431  virtual void RemoveVolume(const SMDS_MeshVolume * volume);
432 
437  virtual void RemoveFreeElement(const SMDS_MeshElement * elem);
438 
439  virtual void Clear();
440 
441  virtual bool RemoveFromParent();
442  virtual bool RemoveSubMesh(const SMDS_Mesh * aMesh);
443 
445  const SMDS_MeshNode * nodes[],
446  const int nbnodes);
448  const std::vector<const SMDS_MeshNode*>& nodes,
449  const std::vector<int> & quantities);
450 
451  virtual void Renumber (const bool isNodes, const int startID = 1, const int deltaID = 1);
452  // Renumber all nodes or elements.
453 
454  const SMDS_MeshNode *FindNode(int idnode) const;
455  const SMDS_Mesh0DElement* Find0DElement(int idnode) const;
456  const SMDS_MeshEdge *FindEdge(int idnode1, int idnode2) const;
457  const SMDS_MeshEdge *FindEdge(int idnode1, int idnode2, int idnode3) const;
458  const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3) const;
459  const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3, int idnode4) const;
460  const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3,
461  int idnode4, int idnode5, int idnode6) const;
462  const SMDS_MeshFace *FindFace(int idnode1, int idnode2, int idnode3, int idnode4,
463  int idnode5, int idnode6, int idnode7, int idnode8) const;
464  const SMDS_MeshElement *FindElement(int IDelem) const;
466  static const SMDS_MeshEdge* FindEdge(const SMDS_MeshNode * n1,
467  const SMDS_MeshNode * n2);
468  static const SMDS_MeshEdge* FindEdge(const SMDS_MeshNode * n1,
469  const SMDS_MeshNode * n2,
470  const SMDS_MeshNode * n3);
471  static const SMDS_MeshFace* FindFace(const SMDS_MeshNode *n1,
472  const SMDS_MeshNode *n2,
473  const SMDS_MeshNode *n3);
474  static const SMDS_MeshFace* FindFace(const SMDS_MeshNode *n1,
475  const SMDS_MeshNode *n2,
476  const SMDS_MeshNode *n3,
477  const SMDS_MeshNode *n4);
478  static const SMDS_MeshFace* FindFace(const SMDS_MeshNode *n1,
479  const SMDS_MeshNode *n2,
480  const SMDS_MeshNode *n3,
481  const SMDS_MeshNode *n4,
482  const SMDS_MeshNode *n5,
483  const SMDS_MeshNode *n6);
484  static const SMDS_MeshFace* FindFace(const SMDS_MeshNode *n1,
485  const SMDS_MeshNode *n2,
486  const SMDS_MeshNode *n3,
487  const SMDS_MeshNode *n4,
488  const SMDS_MeshNode *n5,
489  const SMDS_MeshNode *n6,
490  const SMDS_MeshNode *n7,
491  const SMDS_MeshNode *n8);
492 
493  const SMDS_MeshFace *FindFace(std::vector<int> nodes_ids) const;
494  static const SMDS_MeshFace* FindFace(std::vector<const SMDS_MeshNode *> nodes);
495 
501  static int CheckMemory(const bool doNotRaise=false) throw (std::bad_alloc);
502 
503  int MaxNodeID() const;
504  int MinNodeID() const;
505  int MaxElementID() const;
506  int MinElementID() const;
507 
508  const SMDS_MeshInfo& GetMeshInfo() const { return myInfo; }
509 
510  int NbNodes() const;
511  int Nb0DElements() const;
512  int NbEdges() const;
513  int NbFaces() const;
514  int NbVolumes() const;
515  int NbSubMesh() const;
516  void DumpNodes() const;
517  void Dump0DElements() const;
518  void DumpEdges() const;
519  void DumpFaces() const;
520  void DumpVolumes() const;
521  void DebugStats() const;
524  virtual ~SMDS_Mesh();
530  void setInverseElements(bool);
531 
538  bool Contains (const SMDS_MeshElement* elem) const;
539 
540  typedef NCollection_Map<SMDS_MeshNode *> SetOfNodes;
541  typedef NCollection_Map<SMDS_Mesh0DElement *> SetOf0DElements;
542  typedef NCollection_Map<SMDS_MeshEdge *> SetOfEdges;
543  typedef NCollection_Map<SMDS_MeshFace *> SetOfFaces;
544  typedef NCollection_Map<SMDS_MeshVolume *> SetOfVolumes;
545 
546 private:
547  SMDS_Mesh(SMDS_Mesh * parent);
548 
550  const SMDS_MeshNode * node2,
551  const SMDS_MeshNode * node3);
553  const SMDS_MeshNode * node2,
554  const SMDS_MeshNode * node3,
555  const SMDS_MeshNode * node4);
558  const SMDS_MeshNode * n2);
560  const SMDS_MeshNode *n2,
561  const SMDS_MeshNode *n3);
563  const SMDS_MeshNode *n2,
564  const SMDS_MeshNode *n3,
565  const SMDS_MeshNode *n4);
566 
567  bool registerElement(int ID, SMDS_MeshElement * element);
568 
569  void addChildrenWithNodes(std::set<const SMDS_MeshElement*>& setOfChildren,
570  const SMDS_MeshElement * element,
571  std::set<const SMDS_MeshElement*>& nodes);
572 
573  // Fields PRIVATE
574 
581  std::list<SMDS_Mesh *> myChildren;
585 
589 };
590 
591 
592 #endif
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(int n1, int n2, int n3, int n4, int n12, int n23, int n34, int n41, int ID)
SMDS_Mesh::edgesIterator
SMDS_EdgeIteratorPtr edgesIterator() const
SMDS_Mesh::registerElement
bool registerElement(int ID, SMDS_MeshElement *element)
SMDS_Mesh::NbVolumes
int NbVolumes() const
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6)
SMDS_Mesh::FindFace
static const SMDS_MeshFace * FindFace(std::vector< const SMDS_MeshNode * > nodes)
SMDS_Mesh::my0DElements
SetOf0DElements my0DElements
Definition: SMDS_Mesh.hxx:576
SMDS_Mesh::myHasConstructionEdges
bool myHasConstructionEdges
Definition: SMDS_Mesh.hxx:586
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(int n1, int n2, int n3, int n12, int n23, int n31, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(int n1, int n2, int n3, int ID)
SMDS_Mesh::AddEdgeWithID
virtual SMDS_MeshEdge * AddEdgeWithID(int n1, int n2, int ID)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n12, int n23, int n31, int n45, int n56, int n64, int n14, int n25, int n36, int ID)
SMDS_Mesh::ChangePolyhedronNodes
bool ChangePolyhedronNodes(const SMDS_MeshElement *elem, const std::vector< const SMDS_MeshNode * > &nodes, const std::vector< int > &quantities)
SMDS_Mesh::FindEdgeOrCreate
SMDS_MeshEdge * FindEdgeOrCreate(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
SMDS_Mesh::hasConstructionEdges
bool hasConstructionEdges()
SMDS_Mesh::elementsIterator
SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type=SMDSAbs_All) const
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int ID)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8)
SMDS_Mesh::AddSubMesh
SMDS_Mesh * AddSubMesh()
SMDS_Mesh::Add0DElementWithID
virtual SMDS_Mesh0DElement * Add0DElementWithID(int n, int ID)
SMDS_ElemIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshElement * > > SMDS_ElemIteratorPtr
Definition: SMDS_ElemIterator.hxx:42
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n45, const SMDS_MeshNode *n56, const SMDS_MeshNode *n64, const SMDS_MeshNode *n14, const SMDS_MeshNode *n25, const SMDS_MeshNode *n36, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(int n1, int n2, int n3, int n4, int ID)
SMDS_ElemIterator.hxx
SMDS_MeshVolume
Definition: SMDS_MeshVolume.hxx:34
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n14, const SMDS_MeshNode *n24, const SMDS_MeshNode *n34, int ID)
SMDSAbs_All
@ SMDSAbs_All
Definition: SMDSAbs_ElementType.hxx:34
SMDS_EXPORT
#define SMDS_EXPORT
Definition: SMESH_SMDS.hxx:36
SMDS_Mesh::Contains
bool Contains(const SMDS_MeshElement *elem) const
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int ID)
SMDS_Mesh::FindFace
static const SMDS_MeshFace * FindFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
SMDS_NodeIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshNode * > > SMDS_NodeIteratorPtr
Definition: SMDS_ElemIterator.hxx:45
SMDS_Mesh::boundaryEdges
SMDS_Mesh * boundaryEdges()
SMDS_Mesh::Dump0DElements
void Dump0DElements() const
SMDS_MeshElementIDFactory.hxx
SMDS_Mesh::NbNodes
int NbNodes() const
SMDS_Mesh::RemoveFreeElement
virtual void RemoveFreeElement(const SMDS_MeshElement *elem)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, int ID)
SMDS_Mesh::AddPolyhedralVolumeWithID
virtual SMDS_MeshVolume * AddPolyhedralVolumeWithID(std::vector< int > nodes_ids, std::vector< int > quantities, const int ID)
SMDS_Mesh0DElement.hxx
SMDS_Mesh::DumpEdges
void DumpEdges() const
SMDS_MeshEdge
Definition: SMDS_MeshEdge.hxx:35
SMDS_Mesh::NbEdges
int NbEdges() const
SMDS_Mesh::AddPolygonalFaceWithID
virtual SMDS_MeshFace * AddPolygonalFaceWithID(std::vector< int > nodes_ids, const int ID)
SMDS_Mesh::FindElement
const SMDS_MeshElement * FindElement(int IDelem) const
SMDS_Mesh::myChildren
std::list< SMDS_Mesh * > myChildren
Definition: SMDS_Mesh.hxx:581
SMDS_Mesh::volumesIterator
SMDS_VolumeIteratorPtr volumesIterator() const
SMESH_SMDS.hxx
SMDS_Mesh::RemoveVolume
virtual void RemoveVolume(const SMDS_MeshVolume *volume)
SMDS_MeshNode.hxx
SMDS_MeshElementIDFactory
Definition: SMDS_MeshElementIDFactory.hxx:41
SMDS_Mesh::FindEdge
const SMDS_MeshEdge * FindEdge(int idnode1, int idnode2) const
SMDS_Mesh::FindFace
const SMDS_MeshFace * FindFace(int idnode1, int idnode2, int idnode3, int idnode4, int idnode5, int idnode6) const
SMDS_MeshVolume.hxx
SMDS_MeshInfo
Definition: SMDS_MeshInfo.hxx:41
SMDS_Mesh::RemoveFromParent
virtual bool RemoveFromParent()
SMDS_Mesh::elements0dIterator
SMDS_0DElementIteratorPtr elements0dIterator() const
SMDS_Mesh::FindNode
const SMDS_MeshNode * FindNode(int idnode) const
SMDS_Mesh::DumpFaces
void DumpFaces() const
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, int ID)
SMDS_Mesh::Clear
virtual void Clear()
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, int ID)
SMDS_Mesh::AddPolygonalFaceWithID
virtual SMDS_MeshFace * AddPolygonalFaceWithID(std::vector< const SMDS_MeshNode * > nodes, const int ID)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n12, int n23, int n34, int n41, int n56, int n67, int n78, int n85, int n15, int n26, int n37, int n48, int ID)
SMDS_VolumeIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshVolume * > > SMDS_VolumeIteratorPtr
Definition: SMDS_ElemIterator.hxx:57
SMDS_Mesh::AddEdge
virtual SMDS_MeshEdge * AddEdge(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n12)
SMDS_Mesh::SMDS_Mesh
SMDS_Mesh(SMDS_Mesh *parent)
SMDS_Mesh::addChildrenWithNodes
void addChildrenWithNodes(std::set< const SMDS_MeshElement * > &setOfChildren, const SMDS_MeshElement *element, std::set< const SMDS_MeshElement * > &nodes)
SMDS_Mesh::ChangeElementNodes
bool ChangeElementNodes(const SMDS_MeshElement *elem, const SMDS_MeshNode *nodes[], const int nbnodes)
SMDS_Mesh::AddEdge
virtual SMDS_MeshEdge * AddEdge(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
SMDS_Mesh::Find0DElementOrCreate
SMDS_Mesh0DElement * Find0DElementOrCreate(const SMDS_MeshNode *n)
SMDS_Mesh::Find0DElement
const SMDS_Mesh0DElement * Find0DElement(int idnode) const
SMDS_MeshObject
Definition: SMDS_MeshObject.hxx:32
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, const SMDS_MeshFace *f6)
SMDS_Mesh::RemoveSubMesh
virtual bool RemoveSubMesh(const SMDS_Mesh *aMesh)
SMDS_Mesh
Definition: SMDS_Mesh.hxx:45
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5)
SMDS_MeshInfo.hxx
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4)
SMDS_Mesh::RemoveEdge
virtual void RemoveEdge(const SMDS_MeshEdge *edge)
SMDS_Mesh::AddNode
virtual SMDS_MeshNode * AddNode(double x, double y, double z)
SMDS_Mesh::RemoveElement
virtual void RemoveElement(const SMDS_MeshElement *elem, bool removenodes=false)
SMDS_Mesh::NbFaces
int NbFaces() const
SMDS_Mesh::createTriangle
SMDS_MeshFace * createTriangle(const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, int ID)
SMDS_Mesh::DebugStats
void DebugStats() const
SMDS_Mesh::setConstructionEdges
void setConstructionEdges(bool)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48, int ID)
SMDS_Mesh::CheckMemory
static int CheckMemory(const bool doNotRaise=false)
Raise an exception if free memory (ram+swap) too low.
SMDS_Mesh::SetOfEdges
NCollection_Map< SMDS_MeshEdge * > SetOfEdges
Definition: SMDS_Mesh.hxx:542
SMDS_Mesh::RemoveElement
virtual void RemoveElement(const SMDS_MeshElement *elem, std::list< const SMDS_MeshElement * > &removedElems, std::list< const SMDS_MeshElement * > &removedNodes, bool removenodes=false)
SMDS_Mesh::Find0DElement
static const SMDS_Mesh0DElement * Find0DElement(const SMDS_MeshNode *n)
SMDS_Mesh::setInverseElements
void setInverseElements(bool)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, int ID)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5, const SMDS_MeshFace *f6, int ID)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, int ID)
SMDS_Mesh::Add0DElementWithID
virtual SMDS_Mesh0DElement * Add0DElementWithID(const SMDS_MeshNode *n, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, int ID)
SMDS_Mesh::FindFaceOrCreate
SMDS_MeshFace * FindFaceOrCreate(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
SMDS_MeshEdge.hxx
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, int ID)
SMDS_Mesh::FindFace
const SMDS_MeshFace * FindFace(int idnode1, int idnode2, int idnode3) const
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, int ID)
SMDS_Mesh::RemoveFace
virtual void RemoveFace(const SMDS_MeshFace *face)
SMDS_Mesh::NbSubMesh
int NbSubMesh() const
SMDS_Mesh::myFaces
SetOfFaces myFaces
Definition: SMDS_Mesh.hxx:578
SMDS_Mesh::DumpVolumes
void DumpVolumes() const
SMDS_Mesh::Renumber
virtual void Renumber(const bool isNodes, const int startID=1, const int deltaID=1)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n12, int n23, int n34, int n41, int n15, int n25, int n35, int n45, int ID)
SMDS_Mesh::FindFaceOrCreate
SMDS_MeshFace * FindFaceOrCreate(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n14, const SMDS_MeshNode *n24, const SMDS_MeshNode *n34)
SMDS_Mesh::AddEdgeWithID
virtual SMDS_MeshEdge * AddEdgeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n12, int ID)
SMDS_Mesh::AddFace
virtual SMDS_MeshFace * AddFace(const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshFace *f1, const SMDS_MeshFace *f2, const SMDS_MeshFace *f3, const SMDS_MeshFace *f4, const SMDS_MeshFace *f5)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, const SMDS_MeshEdge *e4, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, int ID)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n15, const SMDS_MeshNode *n25, const SMDS_MeshNode *n35, const SMDS_MeshNode *n45, int ID)
SMDS_Mesh::AddFaceWithID
virtual SMDS_MeshFace * AddFaceWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, int ID)
SMDS_0DElementIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_Mesh0DElement * > > SMDS_0DElementIteratorPtr
Definition: SMDS_ElemIterator.hxx:48
SMDS_Mesh::myParent
SMDS_Mesh * myParent
Definition: SMDS_Mesh.hxx:580
SMDS_Mesh::setConstructionFaces
void setConstructionFaces(bool)
SMDS_Mesh::boundaryFaces
SMDS_Mesh * boundaryFaces()
SMDS_Mesh::AddFace
virtual SMDS_MeshFace * AddFace(const SMDS_MeshEdge *e1, const SMDS_MeshEdge *e2, const SMDS_MeshEdge *e3, const SMDS_MeshEdge *e4)
SMDS_Mesh::createQuadrangle
SMDS_MeshFace * createQuadrangle(const SMDS_MeshNode *node1, const SMDS_MeshNode *node2, const SMDS_MeshNode *node3, const SMDS_MeshNode *node4)
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int n12, int n23, int n31, int n14, int n24, int n34, int ID)
SMDS_Mesh::SetOfVolumes
NCollection_Map< SMDS_MeshVolume * > SetOfVolumes
Definition: SMDS_Mesh.hxx:544
SMDS_Mesh::hasConstructionFaces
bool hasConstructionFaces()
SMDS_Mesh::AddEdgeWithID
virtual SMDS_MeshEdge * AddEdgeWithID(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, int ID)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48)
SMDS_MeshFace.hxx
SMDS_Mesh::hasInverseElements
bool hasInverseElements()
SMDS_Mesh::Remove0DElement
virtual void Remove0DElement(const SMDS_Mesh0DElement *elem0d)
SMDS_Mesh::myHasConstructionFaces
bool myHasConstructionFaces
Definition: SMDS_Mesh.hxx:587
SMDS_Mesh::AddEdgeWithID
virtual SMDS_MeshEdge * AddEdgeWithID(int n1, int n2, int n12, int ID)
SMDSAbs_ElementType
SMDSAbs_ElementType
Type (node, edge, face or volume) of elements.
Definition: SMDSAbs_ElementType.hxx:33
SMDS_Mesh::FindEdge
const SMDS_MeshEdge * FindEdge(int idnode1, int idnode2, int idnode3) const
SMDS_Mesh::facesIterator
SMDS_FaceIteratorPtr facesIterator() const
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n15, const SMDS_MeshNode *n25, const SMDS_MeshNode *n35, const SMDS_MeshNode *n45)
SMDS_Mesh::RemoveNode
virtual void RemoveNode(const SMDS_MeshNode *node)
SMDS_Mesh::AddFace
virtual SMDS_MeshFace * AddFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
SMDS_Mesh::AddPolyhedralVolumeWithID
virtual SMDS_MeshVolume * AddPolyhedralVolumeWithID(std::vector< const SMDS_MeshNode * > nodes, std::vector< int > quantities, const int ID)
SMDS_Mesh::myInfo
SMDS_MeshInfo myInfo
Definition: SMDS_Mesh.hxx:584
SMDS_Mesh::AddPolygonalFace
virtual SMDS_MeshFace * AddPolygonalFace(std::vector< const SMDS_MeshNode * > nodes)
SMDS_Mesh::FindEdge
static const SMDS_MeshEdge * FindEdge(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
SMDS_Mesh::FindFace
const SMDS_MeshFace * FindFace(int idnode1, int idnode2, int idnode3, int idnode4) const
SMDS_Mesh::Nb0DElements
int Nb0DElements() const
SMDS_Mesh::myEdges
SetOfEdges myEdges
Definition: SMDS_Mesh.hxx:577
SMDS_Mesh::FindFace
static const SMDS_MeshFace * FindFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6)
SMDS_Mesh::myNodeIDFactory
SMDS_MeshElementIDFactory * myNodeIDFactory
Definition: SMDS_Mesh.hxx:582
SMDS_Mesh::AddFace
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)
SMDS_Mesh::nodesIterator
SMDS_NodeIteratorPtr nodesIterator() const
SMDS_Mesh::myElementIDFactory
SMDS_MeshElementIDFactory * myElementIDFactory
Definition: SMDS_Mesh.hxx:583
SMDS_FaceIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshFace * > > SMDS_FaceIteratorPtr
Definition: SMDS_ElemIterator.hxx:54
SMDS_MeshNode
Definition: SMDS_MeshNode.hxx:36
SMDS_Mesh::AddVolumeWithID
virtual SMDS_MeshVolume * AddVolumeWithID(int n1, int n2, int n3, int n4, int ID)
SMDS_Mesh::FindEdge
static const SMDS_MeshEdge * FindEdge(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2)
SMDS_Mesh::SetOfNodes
NCollection_Map< SMDS_MeshNode * > SetOfNodes
Definition: SMDS_Mesh.hxx:540
SMDS_EdgeIteratorPtr
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshEdge * > > SMDS_EdgeIteratorPtr
Definition: SMDS_ElemIterator.hxx:51
SMDS_Mesh::AddNodeWithID
virtual SMDS_MeshNode * AddNodeWithID(double x, double y, double z, int ID)
SMDS_Mesh::SMDS_Mesh
SMDS_Mesh()
SMDS_Mesh::FindFace
static const SMDS_MeshFace * FindFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4)
SMDS_Mesh::GetElementType
SMDSAbs_ElementType GetElementType(const int id, const bool iselem) const
SMDS_Mesh::FindFace
const SMDS_MeshFace * FindFace(std::vector< int > nodes_ids) const
SMDS_Mesh::AddPolyhedralVolume
virtual SMDS_MeshVolume * AddPolyhedralVolume(std::vector< const SMDS_MeshNode * > nodes, std::vector< int > quantities)
SMDS_Mesh::AddVolume
virtual SMDS_MeshVolume * AddVolume(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n45, const SMDS_MeshNode *n56, const SMDS_MeshNode *n64, const SMDS_MeshNode *n14, const SMDS_MeshNode *n25, const SMDS_MeshNode *n36)
SMDS_Mesh::FindFace
static const SMDS_MeshFace * FindFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8)
SMDS_Mesh0DElement
Definition: SMDS_Mesh0DElement.hxx:36
SMDS_Mesh::SetOfFaces
NCollection_Map< SMDS_MeshFace * > SetOfFaces
Definition: SMDS_Mesh.hxx:543
SMDS_MeshFace
Definition: SMDS_MeshFace.hxx:34
SMDS_Mesh::SetOf0DElements
NCollection_Map< SMDS_Mesh0DElement * > SetOf0DElements
Definition: SMDS_Mesh.hxx:541
SMDS_Mesh::AddFace
virtual SMDS_MeshFace * AddFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41)
SMDS_Mesh::Add0DElement
virtual SMDS_Mesh0DElement * Add0DElement(const SMDS_MeshNode *n)
SMDS_Mesh::AddFace
virtual SMDS_MeshFace * AddFace(const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3)
SMDS_Mesh::myHasInverseElements
bool myHasInverseElements
Definition: SMDS_Mesh.hxx:588
SMDS_Mesh::FindFace
const SMDS_MeshFace * FindFace(int idnode1, int idnode2, int idnode3, int idnode4, int idnode5, int idnode6, int idnode7, int idnode8) const
SMDS_Mesh::DumpNodes
void DumpNodes() const
SMDS_Mesh::myVolumes
SetOfVolumes myVolumes
Definition: SMDS_Mesh.hxx:579
SMDS_Mesh::myNodes
SetOfNodes myNodes
Definition: SMDS_Mesh.hxx:575
SMDS_MeshElement
Base class for elements.
Definition: SMDS_MeshElement.hxx:50
SMDS_Mesh::~SMDS_Mesh
virtual ~SMDS_Mesh()