Commit Graph

923 Commits

Author SHA1 Message Date
ana
1839653e13 Windows compatibility 2010-03-16 13:04:00 +00:00
ana
a4a1062443 Windows compatibility 2010-03-15 14:45:59 +00:00
dmv
2f541de569 0020727: EDF 1276 SMESH : add a Method RadialQuadrangle to the Mesh class in smeshDC.py 2010-03-15 13:56:52 +00:00
vsr
e2018c0393 Fix compilation problem on Debian Sarge 2010-03-15 09:31:54 +00:00
eap
8baf98a974 +//=======================================================================
+/*!
+ * \brief SMESH_TLink knowing its orientation
+ */
+//=======================================================================
+
+struct SMESH_OrientedLink: public SMESH_TLink
+{
+  bool _reversed;
+  SMESH_OrientedLink(const SMDS_MeshNode* n1, const SMDS_MeshNode* n2 )
+    : SMESH_TLink( n1, n2 ), _reversed( n1 != node1() ) {}
+};
2010-03-12 08:30:20 +00:00
eap
22395fddea /*!
* \brief High level util for effective file reading and other file operations
 */
2010-03-12 08:26:13 +00:00
skl
3e93aa815a Changes for bug 0020671. 2010-03-12 05:38:02 +00:00
skl
25722a6cdd Changes for bug 0020734. 2010-03-11 09:36:56 +00:00
eap
0e70fe931b fix FindFace() after the previous integration 2010-03-10 13:21:56 +00:00
eap
f4bf7b006c - const SMDS_MeshFace *FindFace(std::vector<int> nodes_ids) const;
+  const SMDS_MeshFace *FindFace(const std::vector<int>& nodes_ids) const;

-  static const SMDS_MeshFace* FindFace(std::vector<const SMDS_MeshNode *> nodes);
+  static const SMDS_MeshFace* FindFace(const std::vector<const SMDS_MeshNode *>& nodes);
2010-03-10 06:43:17 +00:00
eap
57a36ac547 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells
* Fix regression made at redesigning
2010-03-09 13:26:18 +00:00
eap
0811f1f0ea a little optimize FindFace (std::vector<const SMDS_MeshNode *> nodes) 2010-03-09 08:17:43 +00:00
eap
78364113e1 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Fix GetPointState()
2010-03-05 11:13:07 +00:00
eap
8781de04b7 set Kernel_Utils::Localizer before calling algo->Compute() 2010-03-05 07:42:20 +00:00
eap
e1e680f157 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Add function to find out if the given point is out of closed 2D mesh.

+  virtual TopAbs_State GetPointState(const gp_Pnt& point);
2010-03-04 14:05:05 +00:00
eap
4fadfe037a 0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
* Fix FaceNormal()
* Add
+  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
+                                                           const SMDS_MeshElement* e2);
2010-03-04 13:57:50 +00:00
eap
8ac52f19a5 remove commented code 2010-03-04 09:59:01 +00:00
eap
a59cbfc28e Add a function to know kind of mesh element
+    EntityType GetElementGeomType( in long id )
2010-03-04 08:08:21 +00:00
eap
c0c6cee1a5 0020737: [CEA] Computing mesh fails
* Fix constructor from regression made in frames of issue 0020676
2010-03-04 07:30:41 +00:00
eap
859674eaf0 prevent MakeMesh() from crash if myShapeIDMap.IsEmpty() 2010-03-03 13:58:32 +00:00
skl
00c9fb50be Changes for bug 0020753. 2010-03-03 11:01:36 +00:00
eap
f4222ec705 roll back 2010-03-03 09:07:23 +00:00
eap
f01d6dacd5 0020725: EDF 1242 SMESH : Crash avec Convert lin--> quad avec BLSURF/GHS3D on 64bits
0020721: EDF 1233 SMESH : Crash/bad behavior of 'Convert linear Quadratic with Medium Nodes on Geometry' feature with BLSurf/Ghs3D
* Fix GetNodeUV() for the case of surface both U and V periodic.
* Protect QFace::GetBoundaryLink() from infinite recursion.
* Protect QFace::GetLinkChain() from stack overflow.
2010-03-03 09:03:47 +00:00
eap
d5df7d3273 0020725: EDF 1242 SMESH : Crash avec Convert lin--> quad avec BLSURF/GHS3D on 64bits
0020721: EDF 1233 SMESH : Crash/bad behavior of 'Convert linear Quadratic with Medium Nodes on Geometry' feature with BLSurf/Ghs3D
* Fix GetNodeUV() for the case of surface both U and V periodic.
* Protect QFace::GetBoundaryLink() from infinite recursion.
* Protect QFace::GetLinkChain() from stack overflow.
2010-03-03 07:48:07 +00:00
skl
0af7b3cb3d Changes for bug 0020671. 2010-03-03 07:23:24 +00:00
eap
26a6f60422 fix comment 2010-03-02 06:47:35 +00:00
adam
45fd4efb6f windows port 2010-03-01 14:15:48 +00:00
adam
226dd03db2 *** empty log message *** 2010-03-01 14:14:38 +00:00
dmv
12cb4bfcdd Correct implementation of Max Subshape limiter. 2010-03-01 14:00:46 +00:00
adam
99c3d13441 *** empty log message *** 2010-02-26 16:08:53 +00:00
eap
c73dc0e564 + /*!
+     * \brief Wrap a sequence of ids in a SMESH_IDSource
+     */
+    SMESH_IDSource MakeIDSource(in long_array IDsOfElements);
2010-02-26 08:15:02 +00:00
eap
9ed3242565 0020611: [CEA] Algo lacking when editing MED meshing
* Generate hexahedrons from 2D skin mesh:

+	StdMeshers_HexaFromSkin_3D.cxx
2010-02-24 12:46:38 +00:00
eap
039a4f4346 + SMESH_Comment & operator=(const SMESH_Comment& c) {
+    _s << c.c_str() ;
+    this->string::operator=( _s.str() );
+    return *this;
+  }
+
2010-02-24 12:44:11 +00:00
eap
a34eac9276 + static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true); 2010-02-24 12:43:56 +00:00
skl
1ac99281d8 Changes for bug 0020705. 2010-02-19 14:38:11 +00:00
eap
da57c65070 fix pb with GetName() in case of meshing imported 2D skin 2010-02-19 08:43:22 +00:00
dmv
7ca0689d93 0020701: Additional fix concerned to the GetName Method changes. 2010-02-18 11:28:58 +00:00
eap
a710674f83 020697: EDF 1248 SMESH: Sub-mesh on group of face not taken into account
* Correct adding geom groups into map of ansestors
2010-02-18 08:29:00 +00:00
eap
b3a24eca49 0020680: EDF 1252 SMESH: Bad cell created by Radial prism in center of torus
1) Try to build nodes using transformation before using block approach
2) workaround for wrong surface.Value(u,v) for UV near boundary of BSline surface
2010-02-17 14:59:19 +00:00
eap
0719fe6424 0020680: EDF 1252 SMESH: Bad cell created by Radial prism in center of torus
+  /*!
+   * \brief Return transformations to get coordinates of nodes of each internal layer
+   *        by nodes of the bottom. Layer is a set of nodes at a certain step
+   *        from bottom to top.
+   */
+  bool GetLayersTransformation(std::vector<gp_Trsf> & trsf) const;
2010-02-17 14:56:40 +00:00
eap
db9b76d342 1)
+    ## Defines "QuadrangleParams" hypothesis
+    #  @param vertex: vertex of a trilateral geometrical face, around which triangles
+    #                 will be created while other elements will be quadrangles.
+    #                 Vertex can be either a GEOM_Object or a vertex ID within the
+    #                 shape to mesh
+    #
+    def TriangleVertex(self, vertex, UseExisting=0):

2) in FixedPoints1D(), convert geom reversed edges into IDs
2010-02-17 14:54:30 +00:00
skl
e096680dda Changes for bug 0020681. 2010-02-16 11:07:53 +00:00
eap
ae8e36cc4a fix Save() and Load() 2010-02-16 09:32:14 +00:00
vsr
97a2f52e50 0020702: [CEA] Problem with Segment function of SMESH module
0020701: EDF SMESH : GetName Method of smeshDC.py
Additional fix
2010-02-16 09:20:56 +00:00
skl
68b6c38588 Changes for bug 0020681. 2010-02-16 09:19:59 +00:00
dmv
4bb95af61f 0020702: [CEA] Problem with Segment function of SMESH module 2010-02-15 09:35:36 +00:00
eap
3d1a536674 protect IndexToShape() from Standard_OutOfRange exception 2010-02-15 07:11:44 +00:00
eap
8d6ad56522 report error reasons in case of trilateral face 2010-02-12 14:27:33 +00:00
vsr
2029d91e2f Issue 20509: EDF 1065 OTHER : Add the Salome version in the header of the dump 2010-02-12 08:37:10 +00:00
eap
2cd3dfdd08 fix case of 2 edges 2010-02-12 08:15:06 +00:00
maintenance team
d7d3916c31 Fix compilation problem on Debian Sarge 2010-02-12 08:03:53 +00:00
eap
4e29225bc5 precise error message 2010-02-12 07:41:39 +00:00
vsr
8321c7460e Issue 0020701: EDF SMESH : GetName Method of smeshDC.py 2010-02-12 06:07:26 +00:00
eap
84dcc4efcf 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
* Add CheckNodeU()
* Compute parameters of created medium nodes even in force3d mode
* Leave doxygen-style comments of functions only in the header
2010-02-11 13:16:51 +00:00
dmv
9e7387ef24 0020631: EDF 1195 SMESH : Merge Node : Optional display of the nodes of the mesh 2010-02-11 12:08:34 +00:00
eap
13623edbcc 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* Fix for internal edges
2010-02-11 08:26:40 +00:00
eap
7be9f329c4 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* Fix GetOrderedEdges(): workaroud for BRepTools_WireExplorer, which return no edges if they are internal
2010-02-11 08:25:06 +00:00
eap
04efa6b9dc clear auxiliary data after Compute() 2010-02-10 07:36:45 +00:00
eap
2169f74278 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells
* Redesign in order to bind two pyramids to one base quadrangle.
 * Check presence of 3D elements sharing the base quadrangle.
2010-02-09 11:17:06 +00:00
eap
2536cb0c1b Make TNodeXYZ public, which together with SMDS_StdIterator allows getting coordinates of all nodes of mesh element in a couple of lines of code:
typedef SMDS_StdIterator< SMESH_MeshEditor::TNodeXYZ, SMDS_ElemIteratorPtr > TXyzIterator;
  vector<gp_Pnt> coords( TXyzIterator( elem->nodesIterator()), TXyzIterator() );



class SMESH_EXPORT SMESH_MeshEditor
{
public:
+  //------------------------------------------
+  /*!
+   * \brief SMDS_MeshNode -> gp_XYZ convertor
+   */
+  //------------------------------------------
+  struct TNodeXYZ : public gp_XYZ
2010-02-09 11:13:23 +00:00
eap
c8050ec0d5 + // std-like iteration on nodes
+  typedef SMDS_StdIterator< const SMDS_MeshNode*, SMDS_ElemIteratorPtr > iterator;
+  iterator begin_nodes() const { return iterator( nodesIterator() ); }
+  iterator end_nodes()   const { return iterator(); }
2010-02-09 11:03:51 +00:00
eap
1088385e70 const SMDS_MeshElement* next()
{
+    if ( !more() ) return 0;
2010-02-09 11:03:15 +00:00
eap
48378761b2 Add iterator, wrapper over SMDS_Iterator, adding std-like operators *, ++ etc
+	SMDS_StdIterator.hxx
2010-02-09 11:02:53 +00:00
eap
1fd762e26c - SMDS_MeshElement * MeshElement(int ID);
+  SMDS_MeshElement * MeshElement(int ID) const;
2010-02-09 07:02:21 +00:00
eap
b90c9d785d Write nodes in the order of increasing ids
-      SMDS_NodeIteratorPtr aNodesIter = myMesh->nodesIterator();
+      SMDS_NodeIteratorPtr aNodesIter = myMesh->nodesIterator(/*idInceasingOrder=*/true);
2010-02-08 14:39:14 +00:00
eap
509187908d Add an utility to iterate on nodes in the order of increasing ids
-  SMDS_NodeIteratorPtr nodesIterator() const;
+  SMDS_NodeIteratorPtr nodesIterator(bool idInceasingOrder=false) const;
2010-02-08 14:38:03 +00:00
vsr
d06764f347 0020691: EDF SMESH : Export STL always in binary 2010-02-08 11:22:48 +00:00
maintenance team
8abff026bc import salome 2010-02-08 10:28:23 +00:00
eap
172b75f1d3 follow modif for IPAL21558 (In Group creation dialog, selection of sub-shapes in OB, viewer and dialog is not well syncronized)
-  virtual void            processOwner( const LightApp_DataOwner* );
+  virtual bool            processOwner( const LightApp_DataOwner* );
2010-02-08 07:14:33 +00:00
eap
a3b1bac8a0 020674: EDF 870 SMESH: Mesh generated by Netgen not usable by GHS3D
* Rename HasDegenenaratedEdges() -> HasDegeneratedEdges()
2010-02-01 14:26:09 +00:00
eap
696fa5df7f 020674: EDF 870 SMESH: Mesh generated by Netgen not usable by GHS3D
+   * \brief Check if the shape set through IsQuadraticSubMesh() or SetSubShape()
+   *        has a degenerated edges
+    * \retval bool - true if it has
+   */
+  bool HasDegenenaratedEdges() const { return !myDegenShapeIds.empty(); }
2010-02-01 14:19:06 +00:00
eap
2998fad1e1 minor change 2010-02-01 13:30:15 +00:00
eap
8d2789db83 020674: EDF 870 SMESH: Mesh generated by Netgen not usable by GHS3D
avoid creating degenetrated faces
2010-02-01 13:29:23 +00:00
eap
d7c779851c fix comment 2010-02-01 13:28:11 +00:00
eap
0cadad987c 0019296: EDF 681 SMESH - Pre-evaluation of the number of elements before mesh
* Evaluate():
  ** do not read from out of vector range
  ** report error if algo->Evaluate() returns negative number
2010-02-01 11:12:17 +00:00
eap
8d99b0dffe 0019296: EDF 681 SMESH - Pre-evaluation of the number of elements before mesh
* Evaluate(): do not call algo->Evaluate() if needed submeshes failed to evaluate
2010-02-01 11:09:38 +00:00
nge
cbc21f731e Revert last modification 2010-01-27 14:22:19 +00:00
nge
a2f5fa75bd Add missing import StdMeshers 2010-01-27 13:43:29 +00:00
nge
a63ab6b7e1 import salome missing on some scripts 2010-01-27 11:08:25 +00:00
eap
8726d7811f 0019296: EDF 681 SMESH - Pre-evaluation of the number of elements before mesh
Assure that this submesh is evaluated once
2010-01-27 10:09:15 +00:00
gdd
f3ede5f066 Small correction 2010-01-23 09:00:59 +00:00
eap
4104f26589 0020431: EDF 1020 SMESH : Radial Mesh of a cylinder
* Algorith behavior has changed - default hyps have appeared
2010-01-22 11:38:25 +00:00
eap
fd1dc99bb5 shorten code 2010-01-22 11:37:48 +00:00
eap
188c7b742c unused variables 2010-01-22 11:36:53 +00:00
eap
9a6c1bd34d 0020431: EDF 1020 SMESH : Radial Mesh of a cylinder
* Learn Quadrangle() create Mesh_RadialQuadrangle1D2D algo

+QUARDANGLE = 0
+RADIAL_QUAD = 1
2010-01-22 11:36:02 +00:00
eap
035f2b519d - if ( theNbSegments )
+  if ( theNbSegments > 0 )
     myGen.SetDefaultNbSegments( int(theNbSegments) );
   else
     THROW_SALOME_CORBA_EXCEPTION( "non-positive number of segments", SALOME::BAD_PARAM );
2010-01-22 11:34:11 +00:00
eap
890d47aa59 0020431: EDF 1020 SMESH : Radial Mesh of a cylinder
* Fix conversion of LayerDistribution hypothesis
2010-01-22 11:33:35 +00:00
eap
c6fb8166df - <translation>Geomerty mismatches algorithm's expectation</translation>
+            <translation>Geomerty mismatches algorithm's expectation\nCheck algorithm documentation for supported geometry</translation>
2010-01-22 11:31:20 +00:00
eap
982b910458 0020431: EDF 1020 SMESH : Radial Mesh of a cylinder
+  virtual bool operator==(const SMESHDS_Hypothesis& other) const;
+  bool operator!=(const SMESHDS_Hypothesis& other) const { return !(*this==other); }
2010-01-22 11:30:28 +00:00
eap
6462277df0 shorten code 2010-01-22 11:29:51 +00:00
maintenance team
909e9e40a7 *** empty log message *** 2010-01-21 09:18:32 +00:00
ouv
084d5228ee Issue 0020657: EDF 1244 SMESH: Bad display of tetras 2010-01-20 15:24:23 +00:00
eap
0862b12810 1) + // RadialQuadrangle_1D2D ----------
2) fix _pyLayerDistributionHypo: move some code from Process() to Flush()
2010-01-20 11:03:16 +00:00
eap
9f57d8b5e9 initialize _nbSegments 2010-01-20 08:31:14 +00:00
dmv
7a8e3a50af Unstable warning in release mode, on creating radialQuadrangle1D2D meshes. 2010-01-12 15:34:12 +00:00
dmv
06f0c4f62f correct debug messages 2010-01-12 15:32:37 +00:00
eap
65197a8515 - myHelpFileName = "mesh_through_point_page.html";
+  myHelpFileName = "find_element_by_point_page.html";
2010-01-12 13:18:05 +00:00
dmv
85d94c3b51 0020635: EDF 1223 SMESH: Error message of RadialQuadrangle algorithm not precise 2010-01-12 08:07:50 +00:00
dmv
d316b3a623 0020635: EDF 1223 SMESH: Error message of RadialQuadrangle algorithm not precise 2010-01-11 15:14:52 +00:00
ouv
3334ebae06 Issue 0020638: EDF 1225 SMESH: Missing options in Color/Size menu 2010-01-11 13:30:06 +00:00