eap [Tue, 8 Jun 2010 11:33:26 +0000 (11:33 +0000)]
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
eap [Thu, 13 May 2010 06:24:13 +0000 (06:24 +0000)]
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):
eap [Thu, 13 May 2010 06:22:26 +0000 (06:22 +0000)]
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
eap [Thu, 13 May 2010 06:20:02 +0000 (06:20 +0000)]
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>
eap [Thu, 13 May 2010 06:18:57 +0000 (06:18 +0000)]
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);
eap [Thu, 13 May 2010 06:18:02 +0000 (06:18 +0000)]
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
eap [Tue, 30 Mar 2010 12:27:31 +0000 (12:27 +0000)]
/*!
+ * 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);
eap [Tue, 23 Mar 2010 08:04:58 +0000 (08:04 +0000)]
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);
+
eap [Fri, 19 Mar 2010 14:21:48 +0000 (14:21 +0000)]
0020771: EDF 1322 SMESH : Quadratic/Linear conversion with Medium Nodes on Geometry issue
* Care of period when performing operations on points in parametric space
eap [Thu, 18 Mar 2010 09:42:08 +0000 (09:42 +0000)]
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
eap [Wed, 3 Mar 2010 09:03:47 +0000 (09:03 +0000)]
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.
eap [Wed, 3 Mar 2010 07:48:07 +0000 (07:48 +0000)]
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.
eap [Wed, 17 Feb 2010 14:59:19 +0000 (14:59 +0000)]
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
eap [Wed, 17 Feb 2010 14:56:40 +0000 (14:56 +0000)]
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;
eap [Wed, 17 Feb 2010 14:54:30 +0000 (14:54 +0000)]
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