0020968: EDF1545 SMESH: Problem in de creation of a mesh group on geometry
Detect not computed sub-shapes in case if algo computes many
submeshes at once
bool SMESH_HypoFilter::IsMoreLocalThanPredicate::IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const
{
+ // issue 0020963
+ // if aShape is COMPOUND (i.e. most probably a GEOM group) then
+ // it is more local if it contains shapes of less dimension than _shapeType
+ ...
eap [Thu, 19 Aug 2010 13:28:02 +0000 (13:28 +0000)]
Fix for SIGSEGV on Mandriva2008 in optimize mode only
==21300== Invalid read of size 4
==21300== at 0x1445EA23: StdMeshers_Penta_3D::MakeVolumeMesh() (StdMeshers_Penta_3D.cxx:681)
while (aItNodes->more()) {
It seems to be an error of optimization, aItNodes.px becomes invalid
before aItNodes->more() returns false but after the loop code is
performed for the last time.
eap [Wed, 4 Aug 2010 12:02:49 +0000 (12:02 +0000)]
0020951: EDF 1501 SMESH: Conversion linear/quadratic with medium nodes on geometry fails with GHS3D
* Fix for usecase: open the atached study, convert Mesh_1 from
quadratic, unassign GHS3D algo -> SIGSEGV. Reason is that the same
SMDS_SpacePosition is shared by all nodes in different solids.
0020951: EDF 1501 SMESH: Conversion linear/quadratic with medium nodes on geometry fails with GHS3D
* Fix GetNodeUV() for a node on seam edge: enable projection of node in face
* Fix GetMediumNode(): set a node in volume #1 as well
* Fix QFace::GetLinkChain(), case of triangles
vsr [Wed, 23 Jun 2010 13:19:50 +0000 (13:19 +0000)]
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
vsr [Mon, 21 Jun 2010 07:29:04 +0000 (07:29 +0000)]
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.
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