Commit Graph

292 Commits

Author SHA1 Message Date
eap
4cd62d7138 untabify 2009-10-07 13:14:47 +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
692b18b251 untabify 2009-10-02 13:09:52 +00:00
eap
69aebe3a10 untabify 2009-09-17 12:22:15 +00:00
eap
794e4ede5b untabify 2009-09-17 07:27:34 +00:00
eap
fd8513f94e untabify 2009-09-15 16:18:08 +00:00
dmv
a448c25876 IPAL21346 After Quadrangle Algorithm failed, visualisation of mesh is bad. Regress to 5.1.2 2009-09-15 15:27:58 +00:00
eap
a269dcbbdf 0020431: EDF 1020 SMESH : Radial Mesh of a cylinder
pb: only the 1st algo is applied

     // apply the algos that do not require descretized boundaries
     // ----------------------------------------------------------
     for ( subIt = smWithAlgoSupportingSubmeshes.rbegin(); subIt != subEnd; ++subIt )
+    {
+      sm = *subIt;
       if ( sm->GetComputeState() == SMESH_subMesh::READY_TO_COMPUTE)
       {
2009-09-15 13:24:04 +00:00
eap
8d7286fc5d untabify 2009-09-15 08:46:22 +00:00
eap
0244669837 untabify 2009-09-10 15:29:29 +00:00
ptv
a44eb77228 0020105: EDF 862 SMESH : Creation of the skin elements (2D) of a 3D Mesh 2009-09-10 12:40:55 +00:00
eap
525249fdfb unatbify 2009-09-10 11:06:18 +00:00
eap
99e3564a09 0020464: EDF 1100 SMESH: Performance issue of the function MoveNode
+#include <limits>
2009-09-10 08:10:41 +00:00
ptv
35c05cab65 0020105: EDF 862 SMESH : Creation of the skin elements (2D) of a 3D Mesh 2009-09-10 06:59:27 +00:00
eap
7512099966 0020464: EDF 1100 SMESH: Performance issue of the function MoveNode
0020139: EDF 944 SMESH : Get 2D/3D element with X, Y, Z coordinates

optimize for performance
2009-09-10 05:49:16 +00:00
eap
0f2c407672 0020464: EDF 1100 SMESH: Performance issue of the function MoveNode
struct SMESH_NodeSearcher
 {
   virtual const SMDS_MeshNode* FindClosestTo( const gp_Pnt& pnt ) = 0;
+  virtual void MoveNode( const SMDS_MeshNode* node, const gp_Pnt& toPnt ) = 0;
 };

0020139: EDF 944 SMESH : Get 2D/3D element with X, Y, Z coordinates

+//=======================================================================
+/*!
+ * \brief Return elements of given type where the given point is IN or ON.
+ *
+ * 'ALL' type means elements of any type excluding nodes and 0D elements
+ */
+//=======================================================================
+
+struct SMESH_ElementSearcher
+{
+  virtual void FindElementsByPoint(const gp_Pnt&                           point,
+                                   SMDSAbs_ElementType                     type,
+                                   std::vector< const SMDS_MeshElement* >& foundNodes)=0;
+};
2009-09-10 05:29:55 +00:00
eap
ec71bd93d2 untabify 2009-09-09 06:17:26 +00:00
ptv
2fa6f3c92b remove compilation error on Windows 2009-09-01 06:56:48 +00:00
ptv
8a7fc527d7 remove compilation error on Windows 2009-09-01 03:53:08 +00:00
eap
db647c3bf2 unused variables 2009-08-27 14:09:43 +00:00
eap
30aaa793b9 fix GetSubMesh()
if ( it.More() )
+    {
       index = _myMeshDS->AddCompoundSubmesh( aSubShape, it.Value().ShapeType() );
+      if ( index > _nbSubShapes ) _nbSubShapes = index; // not to create sm for this group again
+    }
   }
2009-08-27 13:58:53 +00:00
ptv
40b2818f18 0019296: EDF 681 SMESH - Pre-evaluation of the number of elements before mesh
Replace hard coded values of element types by new enumeration (added in advanced mesh info Improvement)
2009-08-25 05:18:16 +00:00
eap
57781aac7a 0020452: EDF 1056 SMESH : 2D Projection Issue
static int GetOrderedEdges (const TopoDS_Face&        theFace,
                               TopoDS_Vertex             theFirstVertex,
                               std::list< TopoDS_Edge >& theEdges,
-                              std::list< int >  &       theNbVertexInWires);
+                              std::list< int >  &       theNbVertexInWires,
+                              const bool                theShapeAnalysisAlgo=false);
2009-08-20 07:35:09 +00:00
vsr
2e5ccf9f57 Issue 0020194: EDF 977 ALL: Get rid of warnings PACKAGE_VERSION already defined 2009-08-13 05:50:13 +00:00
ptv
787fff0067 IMP20439 Create hole by element and nodes duplication 2009-08-11 12:01:49 +00:00
vsr
a4d61a7b6f Fix compilation problems on Windows 2009-07-31 13:52:22 +00:00
skl
6a950222ba Changes for bug 0020381 from Mantis. 2009-07-28 11:38:26 +00:00
skl
55510e5ccd Implementation of Quadrangle (Mapping) for faces built on 3 edges (0018911 from Mantis). 2009-07-22 09:13:29 +00:00
adam
90c6367e0c Fix compilation of gcc 4.3.2 2009-07-20 13:11:57 +00:00
jfa
4592fecfcf IMP 0020089: Take into account 0D elements (MED_POINT1) 2009-07-16 13:33:03 +00:00
vsr
686a864564 Merge from V5_1_2_BR branch (14 July 2009) 2009-07-15 08:11:22 +00:00
skl
bb0c89d5a8 Implememtation of evaluation for improvement 0019296. 2009-06-29 13:26:16 +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
3232c8723f 0020128: EDF SMESH 926 : Quadratic conversion of BLSURF mesh
struct SMESH_TLink: public NLink {
+  const SMDS_MeshNode* node1() const { return first; }
+  const SMDS_MeshNode* node2() const { return second; }
};
2009-06-18 12:42:13 +00:00
eap
47e62a030c 0020128: EDF SMESH 926 : Quadratic conversion of BLSURF mesh
in ConvertToQuadratic()
+  if ( !theForce3d ) {
+    aHelper.SetSubShape(0); // apply to the whole mesh
+    aHelper.FixQuadraticElements();
+  }
2009-06-18 12:40:22 +00:00
skl
34fb01e7b5 Implementation of new version ExtrusionAlongPath (20003 from Mantis). 2009-06-10 07:09:15 +00:00
eap
c7b8fb12f3 0020145: EDF 666 SMESH: Modifications of GEOM groups are not taken into account
allow changing shape to mesh in case of shape being group
2009-05-25 11:20:50 +00:00
eap
60009bb9da 0020279: [CEA 334] control the "random" use when using mesh algorithms
For stability of StdMeshers_CompositeSegment_1D:
+  bool IsAlwaysComputed() { return _alwaysComputed; }
2009-05-19 15:27:52 +00:00
eap
aa8faf765a #include SMESH_MeshEditor.hxx via SMESH_MesherHelper.hxx 2009-05-19 15:26:34 +00:00
eap
c50dcca3fe +#include "SMESH_MeshEditor.hxx" // needed for many meshers 2009-05-19 15:20:28 +00:00
eap
b6c9c862b4 0020279: [CEA 334] control the "random" use when using mesh algorithms
fix IsQuadraticSubMesh() to work on mesh w/o shape
2009-05-19 15:19:52 +00:00
eap
b632539159 move struct TIDCompare to SMDS_MeshElement.hxx 2009-05-19 15:17:19 +00:00
eap
eb1ffbdba2 static const SMDS_MeshNode* VertexNode(const TopoDS_Vertex& V,
-                                         SMESHDS_Mesh*        meshDS);
+                                         const SMESHDS_Mesh* meshDS);
2009-05-19 15:16:37 +00:00
eap
24f41d7b2b in GetNodeParamOnEdge(), take into account that nodes on vertices not
always present, e.g. when Composite side discretisation is used
2009-05-19 15:16:23 +00:00
eap
b6986ac1b1 GetNode(int index) no longer wraps index, rather GetNodeWrap(int index) does 2009-05-19 15:12:54 +00:00
eap
fd97cbec7c 0020340: EDF 1022 SMESH : Crash with FindNodeClosestTo in a second new study
notify node searcher on mesh destruction
2009-05-06 13:17:33 +00:00
eap
9266dd32f0 0020210: EDF SMESH 976: Update of a smesh group after modification of the associated geom group
void SMESH_Mesh::ShapeToMesh(const TopoDS_Shape & aShape)
{
 ...
+  else
+  {
+    _isShapeToMesh = false;
+    _shapeDiagonal = 0.0;
+    _myMeshDS->ShapeToMesh( PseudoShape() );
+  }
2009-04-03 14:11:19 +00:00
jfa
c113b9f92e Bug 0020185: EDF SMESH 967 : Anomaly in Merge Nodes. 2009-04-03 08:54:51 +00:00
eap
95f31e3a95 fix the previous modification
-      std::swap( iAfterSame, iAfterSame );
+      std::swap( iBeforeSame, iAfterSame );
2009-03-24 08:29:44 +00:00
eap
73a829efdf simply code 2009-03-23 08:00:51 +00:00
eap
bebf85204e 0020206: EDF SMESH 987: Netgen1D2D3D +submesh
clear mesh if an added local algorithm hides a global all-dimensional one
2009-03-11 15:19:39 +00:00
eap
7462200bee 0020206: EDF SMESH 987: Netgen1D2D3D +submesh
clear mesh if an added local algorithm hides a global all-dimensional one
2009-03-11 15:18:03 +00:00
eap
e49d9ab359 0020206: EDF SMESH 987: Netgen1D2D3D +submesh
in GetSubMesh(), fix detection of SMESHDS_SubMesh'es of geom groups
2009-03-11 15:09:46 +00:00
eap
6f2fdeb795 0020206: EDF SMESH 987: Netgen1D2D3D +submesh
fix detection of SMESHDS_SubMesh'es of geom groups
+  int                        _nbSubShapes;  // initial nb of subshapes in the shape to mesh
2009-03-11 14:58:44 +00:00
adam
c9cb7f7c5d Test EXPORTS definition with target name as suggested by cmake 2009-03-06 16:00:11 +00:00
eap
d27067784a 0020184: EDF SMESH 952: Projection 2D does not work
use ShapeAnalysis::OuterWire() insead of BRepTools::OuterWire()
2009-03-03 08:38:05 +00:00
jfa
2bd83d5b0b Bug 0020185: EDF SMESH 967 : Anomaly in Merge Nodes. 2009-03-02 14:57:00 +00:00
eap
df4afe2d50 0019929: EDF 772 SMESH : script readability
+
+  operator char*() const {
+    return (char*)c_str();
+  }
2009-02-24 14:52:58 +00:00
adam
d5dd2d9628 compatibility windows compilation with cmake 2009-02-24 09:27:39 +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
nge
984c4ffdd7 PAL 14158 Add the Octree and OctreeNode classes to accelerate detection of close nodes. Octree is virtual pure, OctreeNode inherites from Octree. 2007-01-22 15:14:44 +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
jfa
4ff5bd6154 Join modifications from branch OCC_development_for_3_2_0a2 2006-03-13 15:29:49 +00:00
smh
d0f366c4a3 Merge from OCC_development_generic_2006
Preparation of 3.2.0a1
2006-02-07 15:01:11 +00:00
eap
96874fc4b6 PAL10953. Fix GetSubmeshComputed(): there may be elements but no nodes in a submesh 2005-12-26 10:36:57 +00:00
eap
493903908d fix PAL10974. Call CleanDependants() instead of
RemoveSubMeshElementsAndNodes() before algo->Compute()
2005-12-20 13:57:13 +00:00
eap
d81b4f8f21 fix bug PAL10974: add IsReversedSubMesh() 2005-12-20 13:53:23 +00:00
eap
477d745d92 fix bug PAL10974: check if SubMeshesComputed() by presence of nodes in submesh.
Restore lost modifications fixing PAL8021.
2005-12-20 11:10:13 +00:00
smh
2754c581d3 Copyrights update 2005-12-05 16:31:55 +00:00
skl
db9a6dee24 Improvement of extrusion functionality 2005-11-14 12:41:17 +00:00
eap
81e9dbdf6c PAL10491. Add GetAlgoState() 2005-11-14 09:11:54 +00:00
eap
d5f8c39955 Fix bug 10390. fix getting submesh for a shell 2005-11-08 13:04:03 +00:00
eap
b992817854 PAL10158. Add clearMesh() 2005-11-07 14:34:13 +00:00
eap
7a320061b4 PAL10158. Add clearMesh() where call ComputeStateEngine(CLEANDEP) 2005-11-07 14:34:02 +00:00
skl
868e306e09 Improvement of extrusion functionality 2005-10-25 07:26:54 +00:00
san
22f20048e0 Temporarily rolling back the last integration 2005-10-21 07:58:14 +00:00
skl
423f097f5e Inmprovement extrusion algorithm in MeshEditor 2005-10-21 07:44:17 +00:00
eap
1bed3bf84e PAL10196. use renamed GetGroupNames()->GetGroupNamesAndTypes() of MED Driver 2005-10-11 13:41:57 +00:00
skl
e331ccd26c Modification some functionality for splitting assembly 2005-10-06 12:26:54 +00:00
skl
3f8c64cc43 Modification function HashCode() for correct work of DataMap 2005-10-05 13:27:49 +00:00
skl
56e741c0f7 Integration some new classes for working of core mesher 2005-10-04 06:04:02 +00:00
skl
98fe24f8c9 Replaced NMTTools map with NCollection map for removing dependencies from GEOM module. 2005-09-26 12:26:52 +00:00
skl
05ae10badd Add interface for keeping information about performed operation of extrusion. 2005-09-26 07:03:47 +00:00
skl
ab6b16e673 Replaced NMTTools map with NCollection map for removing dependencies from GEOM module. 2005-09-26 07:01:06 +00:00
eap
3291e2c4e1 PAL9874. Fix error in SMESH_HypoFilter::IsGlobalPredicate; add possibility to add all predicates in one statement. 2005-09-07 08:07:34 +00:00
sln
bbfbac1990 GetElementType method added 2005-08-23 08:58:58 +00:00
jfa
c9c6669fab Enable setting of Numeric Functors as criteria in Split Quadrangles and Union Triangles functionalities in GUI 2005-08-11 08:06:39 +00:00
eap
3bd4631f8e Move MEDWrapper to MED module 2005-07-13 09:01:03 +00:00
eap
255ab4e2ee PAL8196. Do not operate with hypothesis for a geom group member which is not a sub-shape of the main shape 2005-06-24 11:09:36 +00:00
eap
72b3cba035 PAL8196. Fix GetAlgo() for the case with the same algo on several ancestors 2005-06-24 11:01:15 +00:00
smh
c38c10811a SMH: Preparation version 3.0.0 - merge (HEAD+POLYWORK) 2005-06-07 13:22:20 +00:00
eap
ebe9f34644 PAL8330. In sweepElement(): fix volume orientation 2005-04-01 11:26:44 +00:00
apo
6bbcf82682 PythonDump for SMESH Controls / Filter 2005-03-30 12:49:55 +00:00
msv
f4c7cebbd6 Comment out useless message output to speed up change hypothesis operation 2005-03-18 12:49:28 +00:00
san
935adb05a1 PAL8310 2005-02-25 14:37:37 +00:00
eap
a9750358c9 PAL8021. In AlgpStateEngine(), clean existing sub-mesh only if hypothesis change. In CleanDependants(), do not go upper than SOLID. 2005-02-07 11:06:45 +00:00
eap
9b3ccd683e PAL7933. Use SMESH_HypoFilter to retrieve assigned hypotheses 2005-02-04 11:00:40 +00:00
eap
36409e98c9 PAL7933. Change IsGlobalAlgo() -> IsGlobalHypothesis();
Use SMESH_HypoFilter to retrieve assigned hypotheses
2005-02-04 10:58:21 +00:00
eap
e753a76d0e PAL7933. Add GetHypothesi(e)s() which filter assigned hypotheses;
enable propagation of local hypotheses assigned to super-shapes;
Use SMESH_HypoFilter to retrieve assigned hypotheses
2005-02-04 10:54:26 +00:00
eap
85b8384fb0 PAL7933. Add static IsApplicableHypothesis();
enable propagation of local hypotheses assigned to super-shapes;
Use SMESH_HypoFilter to retrieve assigned hypotheses
2005-02-04 10:39:49 +00:00
eap
45e910e8aa PAL7933. Add static IsApplicableHypothesis() 2005-02-04 10:34:55 +00:00
eap
5ed9406302 PAL7933. Create class SMESH_HypoFilter 2005-02-04 10:31:55 +00:00
eap
fedc148b81 PAL7913. Add static ShellPoint() 2005-02-01 07:44:53 +00:00
eap
316e159045 PAL7913. Add static ShellPoint() and several methos about sub-shapes indexation 2005-02-01 07:43:14 +00:00
eap
35c1f52506 Do not try to compute sub-meshes if the main shape is already meshed 2005-02-01 07:37:00 +00:00
eap
455afe36e4 PAL7935. In Load(face), load from a forward face 2005-01-31 11:33:26 +00:00
eap
1c5631d5e5 PAL7926. Add missing return 2005-01-31 07:21:33 +00:00
eap
6d13ce6863 PAL7403. In ShapeToMesh(), remove shape referring data if the main shape becomes NULL 2005-01-26 08:42:27 +00:00
eap
31e0d2b9b7 remove not used fields 2005-01-26 08:35:00 +00:00
eap
a4f98fe737 PAL7358. Add VertexParameters() and EdgeParameters() 2005-01-26 08:32:21 +00:00
eap
dcab7b2d24 PAL7722. Add IsReversedInChain(). In BuildPropagationChain(), chains of edges with propagated hypothesis are filled taking into account edges orientation 2005-01-21 14:11:17 +00:00
eap
d9ce7a48c1 Comment annoing trace 2005-01-21 14:03:54 +00:00
eap
08e0a4de43 PAL7358. Now Reorient() can work with edge, faces and volumes 2005-01-21 12:16:32 +00:00
vsr
3f9592083e Fix a bug of 'Extrusion Along a Path' : number of rotation angles should be 1 less than number of path points 2005-01-21 08:42:11 +00:00
vsr
5496cb6ab1 Implement sweep mesh elements along a path (PAL7218). 2005-01-20 14:50:37 +00:00
san
e465982eeb Implementation of new pattern mapping algorthm (mesh refinement) 2005-01-20 14:44:17 +00:00
admin
090aff0726 Merge with OCC_development_01 2005-01-20 06:25:54 +00:00
admin
ed456586bf Merge with OCC-V2_1_0_deb 2004-12-17 11:07:35 +00:00
admin
e4737e85f0 Merge with version on tag OCC-V2_1_0d 2004-12-01 10:48:31 +00:00
yfr
bc37f0b49f DCQ : Merge with Ecole_Ete_a6. 2004-06-18 08:55:35 +00:00
nadir
d65fdaa969 correct a small bug detected when using different wire discretisation
of edges of the shape to be meshed by hexaedrons.
2004-04-01 11:54:39 +00:00
jrt
61c36a7e0c Creating and importing 2 meshes from the same engine was not working. Mesh ID management was change to fix this problem. 2004-03-26 14:53:44 +00:00
jrt
7b70ad87bf Merge br_enable_import_mesh. Enable import mesh and save/load SMESH study. 2004-03-15 18:42:16 +00:00
jrt
0aec6215ad HAVE_NETGEN (#define) to remove an unresolved symbol when building without netgen 2003-12-11 09:49:11 +00:00
nadir
51fa3b0985 Correcting a problem araising when building the SMESH module whithout Netgen. 2003-12-09 14:13:45 +00:00
nadir
faa1c8f2bc updating or adding when merging in the main trunk with the version in the
branch nadir_1_2_2 !!
2003-12-08 15:43:20 +00:00
jrt
ef932e4d05 Correct some memory leaks 2003-09-05 11:45:54 +00:00
jrt
f7fbf1c622 Use nodes and elements pointer instead on IDs 2003-09-05 10:31:32 +00:00
jrt
fb91f8b907 make GetMaxArea const 2003-09-04 10:10:43 +00:00
jrt
97368ef20f make hypothesis const 2003-09-04 10:10:23 +00:00
jrt
5e5d6b74d8 Update to match the change of SMDS (new DS). 2003-09-04 09:55:13 +00:00
jrt
bb2c60c2b6 Update to match the change of SMDS (new DS). 2003-09-04 09:21:41 +00:00
jrt
0273fe09c6 make GetNumberOfSegments and GetScaleFactor const 2003-09-04 09:13:24 +00:00
jrt
5b889e3e3e make GetLength const 2003-09-04 09:10:12 +00:00
nri
ebd78fd529 NRI : Merge from V1_2. 2003-07-10 15:04:17 +00:00
yfr
789d7f7415 yfr : Merge with v1.2 2003-07-10 10:13:42 +00:00
nri
1fc3c03b8d NRI : Add KERNEL includes and libs. 2003-05-19 14:12:29 +00:00
nri
0b959120c5 NRI : First integration. 2003-05-19 13:18:36 +00:00