Commit Graph

375 Commits

Author SHA1 Message Date
eap
3750df108a 0021543: EDF 1978 SMESH: Viscous layer for 2D meshes
Extend the class to store 1D proxy elements
2012-10-15 13:03:16 +00:00
eap
4605267548 0021543: EDF 1978 SMESH: Viscous layer for 2D meshes
-void FindEqualElements(set<const SMDS_MeshElement*> & theElements,
+void FindEqualElements(TIDSortedElemSet &        theElements,
                        TListOfListOfElementsID & theGroupsOfElementsID)
2012-10-15 13:01:00 +00:00
prascle
f3d031f77d PR: bug on CreateHoleSkin with groups 2012-10-12 10:59:49 +00:00
eap
798c633011 in ComputeStateEngine(), clear _computeError at certain events only 2012-10-10 10:45:50 +00:00
eap
b02b941bd8 protect GetSubShapeByNode() from SIGSEGV at NULL node 2012-10-10 10:44:55 +00:00
eap
5f62c18c48 Make IsQuadraticMesh() return LINEAR instead of QUADRATIC in an empty mesh 2012-10-01 14:08:42 +00:00
eap
1943d6f613 0021884]: [CEA 679] SALOME crashes when using Netgen 2D without 1D algorithm
Stupid access to NULL object
2012-10-01 13:58:55 +00:00
eap
6162a92b86 Enable searching EventListener by its name
+  const char*  GetName()     const { return myName; }
+  virtual void BeforeDelete(SMESH_subMesh*                  subMesh,
+                            SMESH_subMeshEventListenerData* data)
2012-09-24 11:26:52 +00:00
eap
9586144b53 + EventListenerData* GetEventListenerData(const std::string& listenerName) const; 2012-09-24 11:25:47 +00:00
eap
587ed40d42 Enable Transform() of 0D elements 2012-09-24 11:24:09 +00:00
eap
b59ca5c972 021382: EDF 1985 SMESH: Read/write of .mesh files (GMF format)
+  SMESH_ComputeErrorPtr GMFToMesh(const char* theFileName);
+  void ExportGMF(const char * file, const SMESHDS_Mesh* mesh);
2012-09-24 11:20:01 +00:00
eap
cc048fe72d Remove this from StudyContextStruct at destructor 2012-09-24 11:19:01 +00:00
eap
2974c0b8ab 021382: EDF 1985 SMESH: Read/write of .mesh files (GMF format)
when setting myName, call myGroupDS->SetStoreName( myName )
2012-09-24 11:17:56 +00:00
eap
dce6fb4fd7 021382: EDF 1985 SMESH: Read/write of .mesh files (GMF format)
+	-I$(srcdir)/../DriverGMF \
2012-09-24 11:16:52 +00:00
ana
3dfa809507 Win32 compatibility 2012-09-20 08:06:33 +00:00
eap
2077709da4 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
+  void force3DOutOfBoundary( SMESH_MesherHelper&    theHelper,
+                             SMESH_ComputeErrorPtr& theError)
2012-09-17 10:18:28 +00:00
eap
12c889c3f6 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
Returns description of an error/warning occured during the last mesh edition
2012-09-17 10:18:07 +00:00
eap
7a940415de 0021559: EDF 2175 SMESH: Hexa/Tetra mixed meshes
Improve GetAlgo()
2012-09-11 13:20:29 +00:00
eap
118122435c 0021845: EDF 1855 SMESH : A no-regression test fails on RadialQuadrangle meshing
+  static TopAbs_ShapeEnum GetGroupType(const TopoDS_Shape& group,
+                                       const bool          avoidCompound=false);
2012-09-11 09:24:59 +00:00
eap
68b41560cb 0021845: EDF 1855 SMESH : A no-regression test fails on RadialQuadrangle meshing
1) fix getAlgoData()
2) correct detection of concurrent algos in GetAlgo()
2012-09-11 09:24:28 +00:00
prascle
34976cf1e1 PR: bug EDF 2300 2012-09-10 07:04:02 +00:00
prascle
61bc7f8f5f PR: correction bug EDF 2299. 2012-09-08 14:40:53 +00:00
eap
98ad123d21 0021843: [CEA 658] Segmentation fault when using GHS3D on a 2D group
correct fillAncestorsMap() not to miss COMPOUNDs inside a COMPOUND
2012-09-07 08:00:48 +00:00
eap
f8658faa90 0021843: [CEA 658] Segmentation fault when using GHS3D on a 2D group
Avoid "1D global algo is missing" error if it's not really missing
2012-09-07 07:58:38 +00:00
eap
314c0d0977 0021559: EDF 2175 SMESH: Hexa/Tetra mixed meshes
Use LDOMParser

+  -lTKCDF
2012-09-06 14:08:01 +00:00
eap
7f64a1c94a 0021559: EDF 2175 SMESH: Hexa/Tetra mixed meshes
1) +  static std::vector< std::string > GetPluginXMLPaths();
2) In GetAlgo(), choose a concurrent 2D algorithm whose output is
suitable to both different 3D algos on SOLIDs
2012-09-06 14:07:24 +00:00
eap
b2a682e314 0021559: EDF 2175 SMESH: Hexa/Tetra mixed meshes
+  static std::vector< std::string > GetPluginXMLPaths();
2012-09-06 13:50:41 +00:00
eap
2a7bf64d23 0021559: EDF 2175 SMESH: Hexa/Tetra mixed meshes
+  // return true if given order of sub-meshes is OK
+  bool IsOrderOK( const SMESH_subMesh* smBefore,
+                  const SMESH_subMesh* smAfter ) const;
2012-09-06 13:49:43 +00:00
prascle
4cde840048 PR: correction bug EDF 2299. 2012-09-06 13:27:46 +00:00
prascle
fc3530a171 PR: tools for crack meshing : take into account surfaces detected as only GeomAbs_C0 but still OK for meshing 2012-09-04 13:57:12 +00:00
prascle
7446d65dcb PR: tools for crack meshing : detection of elements affected by node duplication, identification of elements near a geom shape, to create a hole, creation of the skin of the future hole 2012-09-04 13:54:50 +00:00
eap
a297fa5cdd 0021823: [CEA 649] Compute failed without any errors
Fix reporting a warning if no elements are assigned to a sub-shape
2012-08-31 12:08:42 +00:00
eap
3cff0381cc 0021823: [CEA 649] Compute failed without any errors
bool checkComputeError(SMESH_Algo*         theAlgo,
+                         const bool          theComputeOK,
                          const TopoDS_Shape& theShape=TopoDS_Shape());
2012-08-31 12:07:45 +00:00
eap
1a1cf7152f 0021823: [CEA 649] Compute failed without any errors
report a warning if no elements are assigned to a sub-shape
2012-08-30 07:42:09 +00:00
eap
36df571332 Remove useless files, declarations and implementations of constructors
of classes are moved to SMESH.Algo.*xx

SMESH_*D_Algo.*xx
2012-08-29 16:43:11 +00:00
eap
0353127167 0021815: EDF 2347 SMESH : Error when meshing vertices
Enable ceation of nodes on a COMPOUND of VERTEXes
2012-08-27 13:25:36 +00:00
eap
0ccce9ef1b improve comments 2012-08-24 13:51:54 +00:00
eap
3b4c1aab2b http://www.salome-platform.org/forum/forum_11/800053490
Fix LoadNodeColumns() for a not implemented case of viscous layers
2012-08-24 13:39:50 +00:00
eap
b7aaf5fe0e comment out obsolete methods relating to treatment of notebook variables 2012-08-24 13:33:22 +00:00
eap
868ce5dcae improve comments 2012-08-24 13:32:35 +00:00
eap
9767e4ad3e 0021801: EDF 2143 SMESH: random order of groups returned by ExtrusionSweepObject2D
set correct type of a new group
2012-08-21 14:26:08 +00:00
eap
ff3bbcc0c9 0021801: EDF 2143 SMESH: random order of groups returned by ExtrusionSweepObject2D 2012-08-21 14:14:48 +00:00
eap
110067df8c 0021801: EDF 2143 SMESH: random order of groups returned by ExtrusionSweepObject2D
+  SMESH_Group* AddGroup (SMESHDS_GroupBase* groupDS)
2012-08-21 14:13:23 +00:00
eap
6056cf7472 0021765: EDF 2334 SMESH: ConvertToQuadratic with medium node on geometry generates bad elements
+   * \brief Enables fixing node parameters on EDGEs and FACEs by
+   * GetNodeU(...,check=true), GetNodeUV(...,check=true), CheckNodeUV() and
+   * CheckNodeU() in case if a node lies on a shape set via SetSubShape().
+   * Default is False
+   */
+  void ToFixNodeParameters(bool toFix);
2012-08-07 09:16:38 +00:00
eap
0bab05d95d 0021762: EDF 2333 : Bug in composite side algorithm on partition result
fix orientation of EDGEs before calling BRepLProp::Continuity()
2012-07-31 10:51:50 +00:00
eap
1d6e1db451 -#ifdef WITH_SMESH_CANCEL_COMPUTE 2012-07-20 16:11:59 +00:00
eap
a08c336e83 remove commented obsolete code 2012-07-20 16:11:41 +00:00
eap
7c5dc4f006 Generalize "Cancel Compute" mechanism to be able to report
"Computation canceled" instead of "Algorithm failed" as failure reason

+  volatile bool _computeCanceled; //!< is set to True while computing to stop it
2012-07-20 16:11:12 +00:00
eap
06abe76e03 + * Creates LINEAR!!!!!!!!! octahedron 2012-07-19 13:18:07 +00:00
eap
bcaa0ad2ee 0021459: EDF 1495 SMESH: Manipulation of discrete elements with attributes
SMDS_MeshElement* AddElement(const std::vector<const SMDS_MeshNode*> & nodes,
                                const SMDSAbs_ElementType                 type,
                                const bool                                isPoly,
                                const int                                 ID = -1,
+                               const double                              ballDiameter=0.);

Adjust Transform() and FindElementsByPoint()
2012-07-19 13:17:43 +00:00
eap
baade10114 0021459: EDF 1495 SMESH: Manipulation of discrete elements with attributes
+  int NbBalls() const throw(SALOME_Exception);
2012-07-19 13:14:54 +00:00
eap
2ee680b116 0021381: EDF 1984 BLSURFPLUGIN: Sub-mesh with BLSURF
Enable IsQuadraticSubMesh() work with compounds
2012-07-02 13:25:53 +00:00
eap
c6bde687aa struct SMESH_ElementSearcher
{
+  virtual const SMDS_MeshElement* FindClosestTo( const gp_Pnt&       point,
+                                                 SMDSAbs_ElementType type) = 0;
 }
+  int Reorient2D (TIDSortedElemSet &       theFaces,
+                  const gp_Dir&            theDirection,
+                  const SMDS_MeshElement * theFace);

+  static double GetDistance( const SMDS_MeshFace* face, const gp_Pnt& point );

+  void ElementBndBoxTree::getElementsInSphere ( const gp_XYZ&     center,
+                                                const double      radius,
+                                                TIDSortedElemSet& foundElems)
2012-06-29 13:41:37 +00:00
eap
6051d0caf8 struct SMESH_ElementSearcher
{
+  virtual const SMDS_MeshElement* FindClosestTo( const gp_Pnt&       point,
+                                                 SMDSAbs_ElementType type) = 0;
 }
+  int Reorient2D (TIDSortedElemSet &       theFaces,
+                  const gp_Dir&            theDirection,
+                  const SMDS_MeshElement * theFace);

+  static double GetDistance( const SMDS_MeshFace* face, const gp_Pnt& point );
2012-06-29 13:40:11 +00:00
eap
35eb82363a - SMDS_MeshNode* AddNode(double x, double y, double z, int ID = 0);
+  SMDS_MeshNode* AddNode(double x, double y, double z, int ID = 0, double u=0., double v=0.);
2012-06-08 07:06:43 +00:00
gdd
86c4cc3003 Fix for compilation with gcc 4.7 2012-06-07 11:26:44 +00:00
vsr
d4a710ce52 Merge from V6_5_BR 05/06/2012 2012-06-05 12:18:07 +00:00
eap
08e8a82bb2 0021530: EDF 2176 SMESH: Projection 1D-2D with compounds
In GetGroupSubMeshesContaining() preview a case where the main
     shape is a group
2012-04-11 08:19:09 +00:00
eap
264238f852 0021208: Performance issue when loading SMESH with an hdf file containing a big mesh
loadDependentMeshes() before algo->Compute()
2012-03-22 14:09:13 +00:00
eap
a75b6e066e 0020749: EDF 1291 SMESH : Create 2D Mesh from 3D improvement
In MakeBoundaryMesh(), try to set new elements to a shape
2012-03-16 16:38:19 +00:00
eap
656d6656d4 0021208: Performance issue when loading SMESH with an hdf file containing a big mesh
rename private methods to start from lower-case letters

+  void Load();
2012-02-24 10:39:58 +00:00
eap
d5a3c3b28a 0021208: Performance issue when loading SMESH with an hdf file containing a big mesh
rename private methods to start from lower-case letters

  enum compute_event {
+     SUBMESH_LOADED

+  void loadDependentMeshes();
2012-02-24 10:38:22 +00:00
eap
d8cd2598fc 0021208: Performance issue when loading SMESH with an hdf file containing a big mesh
add a note on usage of mySubMeshes while mesh loading
2012-02-24 10:33:21 +00:00
gdd
4ad6a5b19b Replace Descret by Discrete in variable and method names. 2012-02-17 14:30:02 +00:00
ana
e1a3f42b5c 021374: EDF 1898 SMESH: Extrusion of a node to have an edge 2012-02-16 14:48:49 +00:00
gdd
af3910d143 Initialisation of private variable. 2012-02-15 13:07:11 +00:00
eap
785e19b0ca 0021375: EDF 1671 SMESH: Dump study of current state
avoid crash at deletion of SMESH_subMesh::myOwnListeners at mesh removal

-  std::list< std::pair< SMESH_subMesh*, EventListener* > > myOwnListeners;
+  struct OwnListenerData {
+    ...
+  };
+  std::list< OwnListenerData > myOwnListeners;
2012-02-09 13:11:58 +00:00
eap
14e44c7736 0021375: EDF 1671 SMESH: Dump study of current state
+  bool MeshExists( int meshId ) const;
     used to avoid crash at deletion of SMESH_subMesh::myOwnListeners
     at mesh removal
2012-02-09 13:10:52 +00:00
eap
7a57f9da6e 0021489: EDF 2096: Regression in Prism algorithm between 6.3.1 and 6.4.0
fix LoadNodeColumns()
2012-02-09 12:30:06 +00:00
prascle
fda2d7b99e PR: flat elements on 2D meshes 2012-02-02 17:06:56 +00:00
eap
fe663d61f6 0021480: EDF 2084 SMESH: SIGSEGV when validating Netgen3D hypothesis
In destructor, delete all data and delete mesh DS in a thread
2012-01-24 12:59:44 +00:00
eap
fe75082f74 0021480: EDF 2084 SMESH: SIGSEGV when validating Netgen3D hypothesis
in CreateMesh(), fix storing a new mesh in aStudyContext:

-  aStudyContext->mapMesh[_localId] = aMesh;
+  aStudyContext->mapMesh[_localId-1] = aMesh;
2012-01-24 12:58:12 +00:00
eap
b35e752a84 0021480: EDF 2084 SMESH: SIGSEGV when validating Netgen3D hypothesis
+	$(BOOST_LIB_THREAD)  \
2012-01-24 12:57:05 +00:00
eap
6a9e9ab497 0021472: EDF 2080 SMESH: Projection1D2D on a Voronoi structure fails
fix GetMediumPos() to return EDGE instead of FACE for 2 VERTEXes
2012-01-18 12:42:06 +00:00
eap
fbae18cd7f Add "const char* name" argument to consrtucctor of SMESH_subMeshEventListener 2012-01-18 12:07:14 +00:00
ana
253807f5b3 Fix for the bug IPAL22851: Sub-shapes spelling 2012-01-13 15:11:09 +00:00
eap
98921cf0d1 0021330: EDF 1919 SMESH: Convert to quadratic gives wrong elements
fix convertElemToQuadratic()
2012-01-11 08:43:41 +00:00
eap
bfb3c2e489 0021270: EDF 1870 SMESH: ExtrusionAlongPathObjX + Merge nodes remove 3D elements
in MergeNodes(), fix detection of replaced nodes of an elem
2012-01-11 08:15:48 +00:00
eap
e8b482055b 0021457: [CEA] import check_mesh stability
in Transform(), reverse elements only if needed
2012-01-10 14:36:48 +00:00
jfa
5acab3d327 Porting to OCCT development version: Standard_PI -> M_PI 2011-12-26 13:07:08 +00:00
eap
fd5de6779a 0021347: [CEA 497] Visualisation into SMESH and VISU of hexagonal prism cells (MED_OCTA12)
0021380: EDF 1937 SMESH: Take into account QUAD9 and HEXA27

fix AddPolygonalFace()
2011-12-16 09:22:06 +00:00
eap
032bca98c2 0021347: [CEA 497] Visualisation into SMESH and VISU of hexagonal prism cells (MED_OCTA12)
0021380: EDF 1937 SMESH: Take into account QUAD9 and HEXA27
Update
  AddElement()
  QuadToTri()
  SplitVolumesIntoTetra ()
  RotationSweep()
  ExtrusionSweep()
  Transform()
  ConvertToQuadratic()
  Make2DMeshFrom3D()
  MakeBoundaryMesh()
2011-12-16 09:21:35 +00:00
eap
da68d59ab6 0021347: [CEA 497] Visualisation into SMESH and VISU of hexagonal prism cells (MED_OCTA12)
0021380: EDF 1937 SMESH: Take into account QUAD9 and HEXA27

+  int NbBiQuadQuadrangles() const throw(SALOME_Exception);
+  int NbTriQuadraticHexas() const throw(SALOME_Exception);
+  int NbHexagonalPrisms() const throw(SALOME_Exception);
2011-12-16 09:14:54 +00:00
eap
d9297961f7 0021440: EDF 2040 SMESH: Bug translation of a mesh
GetMediumNode(): use Force3D=true if projection on EDGE fails
2011-12-12 11:00:48 +00:00
vsr
493747e8ea Merge from V6_4_BR 05/12/2011 2011-12-05 11:03:04 +00:00
eap
41d7b89b3b 0021336: EDF 1717 SMESH: New algorithm "body fitting" cartesian unstructured
1) catch SMESH_ComputeError thrown by algo->Compute()
2)
+  SMESH_Algo* GetAlgo() const;
2011-10-28 12:48:56 +00:00
eap
07f1cc8292 speed up NotifySubMeshesHypothesisModification()
+  if ( !GetMeshDS()->IsUsedHypothesis( hyp ))
+    return;
2011-10-28 12:47:11 +00:00
eap
577f41d12d improve comment 2011-10-28 12:46:32 +00:00
vsr
b6174726d9 Merge from V6_3_BR branch (Windows porting) 27/10/2011 2011-10-27 15:33:35 +00:00
eap
1c3b8d413b 0021096: EDF 1729 SMESH: Create a Projection 1D-2D algorithm
In CleanDependants(), do not call ComputeStateEngine(CLEAN) of a
dependant subMesh if it IsEmpty() in order to prevent infinite CLEAN
via event lesteners
2011-10-17 09:59:32 +00:00
eap
f95be2abe0 0021106: EDF 1691 SMESH: MEsh.Group(SubShape) fails on Shells
Forbid 3D mesh on the SHELL
2011-10-13 06:35:00 +00:00
eap
ce1fe98019 fix a comment 2011-10-13 05:28:23 +00:00
eap
9484b374c3 0021096: EDF 1729 SMESH: Create a Projection 1D-2D algorithm
+  static TopoDS_Shape GetCommonAncestor(const TopoDS_Shape& shape1,
+                                        const TopoDS_Shape& shape2,
+                                        const SMESH_Mesh&   mesh,
+                                        TopAbs_ShapeEnum    ancestorType);

+  std::pair<int, TopAbs_ShapeEnum> GetMediumPos(const SMDS_MeshNode* n1,
+                                                const SMDS_MeshNode* n2);
2011-10-13 05:27:59 +00:00
eap
eaff026082 0021371: EDF SMESH: The propagation of elements courbure is sometimes wrong in quadratic conversion with nodes on geometry
In FixQuadraticElements(), enhance detection of straight links
2011-10-06 16:01:08 +00:00
eap
bc5760bd4e untabify 2011-10-06 12:10:14 +00:00
eap
9ff48e7e76 0021370: EDF SMESH: Hexahedron + Composite Side Disretization generate a bad mesh
Redesign LoadNodeColumns() to work with a composite base side
2011-10-06 09:42:51 +00:00
eap
d36c35f9a2 fix comment 2011-10-06 09:39:29 +00:00
rnv
4a818e20d5 Fix for the issue "21356: EDF 1705 SMESH: Extrusion along a path using a mesh w/o geometry". 2011-09-22 07:07:55 +00:00
eap
c267141b79 Fix a bug reported to SALOME forum at "Bug: Salome 6.3.1 Auto Tetrahedron meshing" discussion 2011-08-19 12:36:55 +00:00
jfa
33fc29c42a Porting to OCCT6.5.1 2011-08-12 13:12:13 +00:00