22 Commits

Author SHA1 Message Date
eap
7b7daf5e4b + SMDS_MeshFace* AddPolygonalFace (const std::vector<const SMDS_MeshNode*>& nodes,
+  SMDS_MeshVolume* AddPolyhedralVolume (const std::vector<const SMDS_MeshNode*>& nodes,
2010-10-04 11:25:52 +00:00
eap
56d3c935a8 0021006: EDF 1546 SMESH : Convert To Quadratic fails
+  const SMDS_MeshNode* getMediumNodeOnComposedWire(const SMDS_MeshNode* n1,
+                                                   const SMDS_MeshNode* n2,
+                                                   bool                 force3d);
2010-09-28 11:29:20 +00:00
vsr
6ea1e8f320 Merge from V5_1_4_BR (5_1_4rc2) 09/06/2010 2010-06-10 06:51:07 +00:00
vsr
6650dea1f8 Merge from V5_1_4_BR 07/05/2010 2010-05-07 15:08:23 +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
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
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
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
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
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
6510081be2 020461: EDF 1102 GHS3DPLUGIN: Bad detection of volumes with Ghs3d mesh
SMESH_MesherHelper:

-  void SetCheckNodePosition(bool toCheck) { myCheckNodePos = toCheck; }
   /*!
+   * \brief Check and fix node UV on a face
+   *  \retval bool - false if UV is bad and could not be fixed
+   */
+  bool CheckNodeUV(const TopoDS_Face&   F,
+                   const SMDS_MeshNode* n,
+                   gp_XY&               uv,
+                   const double         tol) const;

-  bool            myCheckNodePos;
+  std::set< int > myOkNodePosShapes;
2009-10-02 16:20:31 +00:00
eap
69aebe3a10 untabify 2009-09-17 12:22:15 +00:00
eap
8735b17bdc 0020128: EDF SMESH 926 : Quadratic conversion of BLSURF mesh
/*!
+   * \brief Move medium nodes of faces and volumes to fix distorted elements
+   * \param volumeOnly - fix nodes on faces or not if the shape is solid
+   */
+  void FixQuadraticElements(bool volumeOnly=true);
2009-06-18 12:44:50 +00:00
eap
c50dcca3fe +#include "SMESH_MeshEditor.hxx" // needed for many meshers 2009-05-19 15:20:28 +00:00
adam
efe3598bba compatibility compilation with cmake 2009-02-24 09:25:26 +00:00
vsr
18711ecd04 Merge from BR_V5_DEV 17Feb09 2009-02-17 06:55:16 +00:00
vsr
0635c9fc80 Merge from BR_V5_DEV 16Feb09 2009-02-17 05:27:49 +00:00
jfa
79b1ac2b6d Join modifications from BR_Dev_For_4_0 tag V4_1_1. 2008-03-07 07:47:05 +00:00
jfa
c63ee099ad Join modifications from branch BR_DEBUG_3_2_0b1 2006-06-01 11:39:17 +00:00
jfa
57b43b4d01 Join modifications from branch OCC_debug_for_3_2_0b1 2006-05-06 08:51:48 +00:00