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
eap [Thu, 11 Feb 2010 13:16:51 +0000 (13:16 +0000)]
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
eap [Thu, 11 Feb 2010 08:25:06 +0000 (08:25 +0000)]
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
eap [Tue, 9 Feb 2010 11:17:06 +0000 (11:17 +0000)]
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.
eap [Mon, 1 Feb 2010 14:19:06 +0000 (14:19 +0000)]
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(); }
eap [Mon, 1 Feb 2010 11:12:17 +0000 (11:12 +0000)]
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