Commit Graph

976 Commits

Author SHA1 Message Date
adam
3cd9dd3663 windows port 2010-07-06 10:17:30 +00:00
dmv
4d43188368 IPAL21820 TC6.1.0: Lost new nodes 2010-07-05 13:58:35 +00:00
dmv
e3ffb861ce IPAL21831 Can't load the Python dump after Export to MED 2010-06-30 11:40:12 +00:00
vsr
9862fa66b4 Bug IPAL21801: preferences for SMESH: color of Group name text should be added
EDF 703 SMESH VISU : Display Mesh Groups names in viewer (as a caption)
Additional fix: add preferences for the names groups color
2010-06-23 13:19:50 +00:00
vsr
8c1e153907 0020752: EDF 1303 SMESH : Add a 'Select All' button in Create Group dialog box 2010-06-22 15:24:40 +00:00
jfa
946f0a4e5c Mantis issue 0020812: Register() and Destroy() of the GenericObj. 2010-06-22 14:43:41 +00:00
ouv
e533bcb1d7 Issue 0020755: EDF 1279 MESH : 'Mesh to Pass Through a Point' enhancement 2010-06-21 10:30:03 +00:00
vsr
2343a5b385 Fix bug of NodeSearcher: search fails if point is outside the mesh on the distance more than octree node precision value. Version 2 with improved performance. 2010-06-21 07:29:04 +00:00
vsr
97577f2731 Fix bug of NodeSearcher: search fails if point is outside the mesh on the distance more than octree node precision value 2010-06-17 19:00:18 +00:00
vsr
6ea1e8f320 Merge from V5_1_4_BR (5_1_4rc2) 09/06/2010 2010-06-10 06:51:07 +00:00
eap
452d18f670 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* In GetFaceWires(), create a separate wire for each internal edge
2010-06-08 11:33:26 +00:00
eap
dd4eae00e6 - return ( e && e->NbNodes() == ( e->IsQuadratic() ? 8 : 4 ));
+    return ( e && e->NbCornerNodes() == 4 );
2010-05-20 10:23:56 +00:00
eap
17aeb4f3c7 0020855: [CEA] Problem with ijk algo ---------- KO.med file 2010-05-20 10:04:19 +00:00
eap
5dad3ddd64 0020855: [CEA] Problem with ijk algo
* Fix detection of block corners
  * Fix selection of sides
2010-05-19 08:16:18 +00:00
eap
0611264223 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
## Computes the mesh and returns the status of the computation
+    #  @param discardModifs if True and the mesh has been edited since
+    #         a last total re-compute and that may prevent successful partial re-compute,
+    #         then the mesh is cleaned before Compute()
     #  @return True or False
     #  @ingroup l2_construct
-    def Compute(self, geom=0):
+    def Compute(self, geom=0, discardModifs=False):
2010-05-13 06:24:13 +00:00
eap
475c43c868 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
* set _isModified attribute of the mesh to true
2010-05-13 06:23:03 +00:00
eap
fdac3f59c5 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
* save/restore _isModified attribute of the mesh
2010-05-13 06:22:26 +00:00
eap
38824d786e 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+    if ( myMesh->HasModificationsToDiscard() && // issue 0020693
+         SUIT_MessageBox::question( desktop(), tr( "SMESH_WARNING" ),
+                                    tr( "FULL_RECOMPUTE_QUESTION" ),
+                                    tr( "SMESH_BUT_YES" ), tr( "SMESH_BUT_NO" ), 1, 0 ) == 0 )
+      myMesh->Clear();
2010-05-13 06:20:35 +00:00
eap
a5103fc7f7 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+            <source>FULL_RECOMPUTE_QUESTION</source>
+            <translation>
+The mesh has been edited since a last total re-compute
+that may prevent successful computation.
+Do you wish to re-compute the mesh totally to discard the modifications?
+            </translation>
+        </message>
+        <message>
2010-05-13 06:20:02 +00:00
eap
dc9f7a0708 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+    /*!
+     * Return true if the mesh has been edited since a total re-compute
+     * and those modifications may prevent successful partial re-compute
+     */
+    boolean HasModificationsToDiscard()
+      raises (SALOME::SALOME_Exception);
2010-05-13 06:18:57 +00:00
eap
d0e4aacc56 0020693: EDF 1288 SMESH: Problem to recompute a mesh with a sub-mesh and a conversion linear-quadratic
+  void SetIsModified(bool isModified);
+  bool GetIsModified() const { return _isModified; }
+  bool HasModificationsToDiscard() const;
+  bool                       _isModified; //!< modified since last total re-compute, issue 0020693
2010-05-13 06:18:02 +00:00
vsr
6650dea1f8 Merge from V5_1_4_BR 07/05/2010 2010-05-07 15:08:23 +00:00
eap
4a1881f9c1 0020855: [CEA] Problem with ijk algo
* Fix difining sharing of block sides
  * Fix selection of adjacent side
2010-05-06 08:48:21 +00:00
eap
46390b4393 0020855: [CEA] Problem with ijk algo
* Fix uninitialized gravity center
-      gp_XYZ gc;
+      gp_XYZ gc(0,0,0);
2010-04-30 06:45:50 +00:00
eap
8ebb31bcc9 0020849: [CEA] Projection 2D fails
* project by transformation in case if TopoDS_TFace's are different
2010-04-26 10:39:30 +00:00
dmv
0fe4350ada IPAL21668 Call of Edit Group leads to Crash. 2010-04-08 07:52:18 +00:00
san
845309d919 Issue 0020580: improved validation in integer and double spin boxes, possibility to adjust input field precision through preferences 2010-04-05 11:43:42 +00:00
eap
da4a6470be Rename to avoid clash with same name class from GEOM_Engine
-class ObjectStates{
+class SMESH_ObjectStates{
2010-03-31 05:56:30 +00:00
eap
204b3f755c Remove useless extra dump in DEBUG mode 2010-03-31 05:55:11 +00:00
eap
a232cd7e03 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
+    void SplitVolumesIntoTetra(in SMESH_IDSource elems, in short methodFlags)
2010-03-30 12:38:16 +00:00
eap
01d2cde96d 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
* Add "Split into Tetrahedra" operation
2010-03-30 12:36:23 +00:00
eap
0e2bac7865 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
+  virtual int  NbCornerNodes() const;
2010-03-30 12:33:10 +00:00
eap
1f50f137e3 0020672: EDF 1243 SMESH : Be able to transform mixed mesh
* Implement GetFaceNodesIndices() for polyhedrons
2010-03-30 12:32:41 +00:00
eap
2705c10eb5 Move #include "SMESH_Algo.hxx" from hxx to cxx 2010-03-30 12:30:12 +00:00
eap
1d2d0b2f0a Use TXyzIterator in Preparation() 2010-03-30 12:29:24 +00:00
eap
8abf245a59 /*!
+     * Returns nodes of given face (counted from zero) for given volumic element.
+     */
+    long_array GetElemFaceNodes(in long elemId, in short faceIndex);
+
+    /*!
+     * Returns an element based on all given nodes.
+     */
+    long FindElementByNodes(in long_array nodes);
2010-03-30 12:27:31 +00:00
ouv
fa7f73d6bd Bug IPAL21655 - Points representation works incorrectly with white background 2010-03-29 08:24:47 +00:00
eap
aa031dbe39 untabify 2010-03-25 14:51:26 +00:00
ouv
4d33eed28b Issue 0020613: EDF 1106 : Modify Node Marker in SMESH and VISU 2010-03-25 13:55:29 +00:00
eap
c3b2640450 Move StdMeshers_ProjectionUtils::IsSubShape() to SMESH_MesherHelper 2010-03-23 14:33:16 +00:00
eap
8951a46238 Move from StdMeshers_ProjectionUtils
+  static bool IsSubShape( const TopoDS_Shape& shape, const TopoDS_Shape& mainShape );
+
+  static bool IsSubShape( const TopoDS_Shape& shape, SMESH_Mesh* aMesh );
2010-03-23 14:32:26 +00:00
eap
3a82c6685b 020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* Cash GeomAPI_ProjectPointOnSurf's
 * Make applyFunc() public under name applyIn2D()


+   * \brief Define a pointer to wrapper over a function of gp_XY class,
+   *       suitable to pass as xyFunPtr to applyIn2D().
+   *       For exaple gp_XY_FunPtr(Added) defines pointer gp_XY_Added to function
+   *       calling gp_XY::Added(gp_XY), which is to be used like following
+   *       applyIn2D(surf, uv1, uv2, gp_XY_Added)
+   */
+#define gp_XY_FunPtr(meth) \
+  static gp_XY __gpXY_##meth (const gp_XY& uv1, const gp_XY& uv2) { return uv1.meth( uv2 ); } \
+  static xyFunPtr gp_XY_##meth = & __gpXY_##meth

+  /*!
+   * \brief Perform given operation on two 2d points in parameric space of given surface.
+   *        It takes into account period of the surface. Use gp_XY_FunPtr macro
+   *        to easily define pointer to function of gp_XY class.
+   */
+  static gp_XY applyIn2D(const Handle(Geom_Surface)& surface,
+                         const gp_XY&                uv1,
+                         const gp_XY&                uv2,
+                         xyFunPtr                    fun,
+                         const bool                  resultInPeriod=true);
+
2010-03-23 08:04:58 +00:00
vsr
6468f538ec Issue 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 15:15:49 +00:00
vsr
e9aead38a5 Issue 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 15:08:53 +00:00
dmv
9e0ab432cc 0020799: [CEA] Smesh script fails 2010-03-22 14:48:33 +00:00
vsr
db9ba2e978 0020801: EDF 1343 SMESH : Segmentation violation during compound od Mesh with 0D elements 2010-03-22 14:30:36 +00:00
dmv
736b66759f 0020788: EDF 1339 SMESH : Crash after enabling "Auto Color" feature in attached MED file 2010-03-22 12:17:15 +00:00
eap
8a6ef93bb1 SMESH_IDSource can be not-published object
+    operator<<(SMESH::SMESH_IDSource_ptr theArg);
2010-03-19 14:56:03 +00:00
eap
43cfddbeaa 0020771: EDF 1322 SMESH : Quadratic/Linear conversion with Medium Nodes on Geometry issue
* Care of period when performing operations on points in parametric space
2010-03-19 14:21:48 +00:00
eap
d5768a3f63 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* fix pb of CheckNodeUV() with INTERNAL shapes

+  /*!
+   * \brief Return iterator on ancestors of the given type
+   */
+  static PShapeIteratorPtr GetAncestors(const TopoDS_Shape& shape,
+                                        const SMESH_Mesh&   mesh,
+                                        TopAbs_ShapeEnum    ancestorType);
2010-03-18 09:47:58 +00:00
eap
b51a02ed24 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
-  TopoDS_Shape GetSubShape() const  { return myShape; }
+  const TopoDS_Shape& GetSubShape() const  { return myShape; }

+typedef SMDS_Iterator<const TopoDS_Shape*>  PShapeIterator;
+typedef boost::shared_ptr< PShapeIterator > PShapeIteratorPtr;

+  /*!
+   * \brief Return iterator on ancestors of the given type
+   */
+  static PShapeIteratorPtr GetAncestors(const TopoDS_Shape& shape,
+                                        const SMESH_Mesh&   mesh,
+                                        TopAbs_ShapeEnum    ancestorType);
2010-03-18 09:46:14 +00:00
eap
331cc524a8 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen
* In GetOrderedEdges(), preview presence of the internal vertex within the face
2010-03-18 09:42:08 +00:00
dmv
6339de2d04 IPAL21631 Incorrect Help link. 2010-03-17 07:52:51 +00:00
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