Commit Graph

150 Commits

Author SHA1 Message Date
eap
48653b1aec -#if OCC_VERSION_LARGE > 0x06010000
OCC_CATCH_SIGNALS;
-#endif
2013-10-10 10:29:42 +00:00
eap
a6a734f166 catch exceptions in "rate = algo->GetProgress();" 2013-10-10 10:26:03 +00:00
eap
f5c4ae89eb 0022172: [CEA 790] create the groups corresponding to domains (note 0016221)
A better fix for Clear() for the mesh w/o shape
2013-10-04 10:12:56 +00:00
eap
ad501c420b 0022172: [CEA 790] create the groups corresponding to domains (note 0016221)
Fix Clear() for the mesh w/o shape
2013-10-04 10:08:21 +00:00
eap
8b3847f1af Fix warning
unused variable 'ielem'
2013-09-27 07:54:54 +00:00
eap
5cdebf6f36 For PPGP: in GetAlgoState() remove INFOS( "None algorithm attached" ) since hyp
definition errors are reported now in both gui and tui modes
2013-09-25 08:16:55 +00:00
vsr
9be2f33e68 Fix linkage problem 2013-09-12 06:56:51 +00:00
eap
c81123c27b 22170: [CEA 704] Redirect NETGEN outup in a log file
restore cout possibly redirected by algo
2013-09-10 13:52:57 +00:00
eap
3efca6d10c Progress bar. Increase difference between computeCost of EDGE and FACE 2013-09-03 15:48:57 +00:00
eap
8a85c65b1e Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/3D_mesh_Extrusion/A6
TTElemOfElemListMap and TElemOfVecOfNnlmiMap must use same comparator
for correct work of makeWalls()
2013-09-03 11:38:19 +00:00
eap
a1c755a149 SALOME Forum bug: http://www.salome-platform.org/forum/forum_10/967838025
Do not report a compute error if a degenerated EDGE is not computed
2013-08-23 16:22:51 +00:00
eap
211c8198b3 SALOME Forum bug: http://www.salome-platform.org/forum/forum_10/967838025
Re-fix "Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6"
previously fixed by revision 1.23.2.9.
Use TElemOfElemListMap with new comparator TIDTypeCompare instead of
TElemOfElemListMap declared in SMESH_TypeDefs.hxx which uses
TIDCompare (whose behavior has been just restored)
2013-08-23 13:15:52 +00:00
eap
3c53917e76 SALOME Forum bug: http://www.salome-platform.org/forum/forum_10/967838025
Don't use BRep_Tool::Degenerated() which sometimes gives a wrong answer,
use SMESH_Algo::isDegenerated() instead
2013-08-23 07:44:07 +00:00
eap
3939500c74 In ExportMED() use SMESH_TRY to normally transfer exceptions from the driver 2013-08-14 12:34:41 +00:00
eap
2d070665a5 Fix regression of SMESH_TEST/Grids/smesh/3D_mesh_Extrusion/A3
+  static bool isStraight( const TopoDS_Edge & E, const bool degenResult=false );
2013-08-13 16:35:31 +00:00
eap
5f791c80a4 Optimize cleanSubMesh( SMESH_subMesh * subMesh ) a bit 2013-08-08 12:38:25 +00:00
eap
e97c496f7d 0022297: BR_new_bop3/Occdev_3f4689a163 => Faces are missing after an extrusion
Fix ConvertToQuadratic(): do not convert twice quadratic volumes
2013-08-08 12:36:02 +00:00
eap
9a4f5e4852 progress bar: fix for viscous layers 2013-08-05 12:30:05 +00:00
prascle
ef59152514 PR : merge from V7_2_1p1
memory leaks, bug in import 1D for cracks
M src/SMDS/SMDS_UnstructuredGrid.cxx
M src/SMESH/SMESH_MeshEditor.cxx
M src/SMESH/SMESH_MesherHelper.cxx
M src/SMESHUtils/SMESH_MeshAlgos.cxx
M src/SMESHUtils/SMESH_MeshAlgos.hxx
M src/SMESHUtils/SMESH_Octree.hxx
M src/SMESHUtils/SMESH_Tree.hxx
M src/SMESH_PY/smeshstudytools.py
M src/StdMeshers/StdMeshers_Import_1D.cxx
2013-08-03 11:11:12 +00:00
eap
04fe81eb47 SALOME Forum bug: structured mesh is not strictly rectilinear with Viscous Layers.
http://www.salome-platform.org/forum/forum_10/998544058

 class SMESH_2D_Algo
 {
+  /*!
+   * \brief Method in which an algorithm generating a structured mesh
+   *        fixes positions of in-face nodes after there movement
+   *        due to insertion of viscous layers.
+   */
+  virtual bool FixInternalNodes(const SMESH_ProxyMesh& mesh,
+                                const TopoDS_Face&     face);
2013-07-31 11:21:55 +00:00
eap
09020c0206 fix a comment 2013-07-31 11:18:51 +00:00
rnc
094287b4df BUG: EDF 2655: Hexa splitting into tetra low performance
A better fix has been found by improving the getNextFree() method in ObjectPool.hxx. When there is no "hole" in the ID list we don't iterate on the _freeList to find the next free ID. We jump straight to the last occupied ID.
This fix is simpler and can benefit to other methods of SMESH_Editor like QuadTo4Tri for example.
2013-07-22 08:46:57 +00:00
rnc
3f3beb8b95 BUG: EDF 2655: Low performance of hexa to tetra splitting
The whole procedure performance was almost O(n^2) due to insertion of for example 5 elements in a mesh with a free ID at the beginning. The second element is then inserted with a O(n) complexity.
The hexas are now removed after all tetra insertions, which guarantees a O(n) complexity for the whole procedure at a limited memory cost (transient additional cost of 1/5 of total memory occupation at the end).
2013-07-19 16:01:27 +00:00
eap
e7dbe802e0 22252: EDF 2684 SMESH: Extrusion along a path with a curvilinear edge
Some decorations in ExtrusionAlongTrack()
2013-07-16 14:30:30 +00:00
eap
c96730d0aa Compute Progress bar 2013-07-09 11:59:40 +00:00
eap
42d136bcdc Compute Progress bar
+  bool DependsOn( const SMESH_subMesh* other ) const;
+  int                   _realComputeCost; // _computeCost depending on presence of needed hypotheses
2013-07-09 11:59:18 +00:00
eap
a311b5af11 Compute Progress bar
-  int& GetComputeCost() { return _computeCost; }
+  std::vector<SMESH_subMesh*>& SubMeshesToCompute() { return _smToCompute; }
2013-07-09 11:58:41 +00:00
eap
e0f019ccf9 Compute Progress bar: ignore sub-meshes that are NOT_READY to compute 2013-07-08 11:27:16 +00:00
eap
8ead976689 Compute Progress bar
SMESH_subMeshIteratorPtr getDependsOnIterator(const bool includeSelf,
-                                                const bool complexShapeFirst) const;
+                                                const bool complexShapeFirst=false) const;

+  int GetComputeCost() const;

   TopoDS_Shape getCollection(SMESH_Gen * theGen,
                              SMESH_Algo* theAlgo,
                              bool &      theSubComputed,
                              bool &      theSubFailed,
+                             int  &      theComputeCost);

+  int                   _computeCost; // how costly is to compute this sub-mesh
2013-07-03 16:12:38 +00:00
eap
ffa2f0be82 Compute Progress bar
+  double GetComputeProgress() const;
+  SMESH_Hypothesis * GetHypothesis(const int aHypID) const;
2013-07-03 16:10:31 +00:00
eap
1481fb61da - std::map < int, SMESH_Algo * >_mapAlgo;
-  std::map < int, SMESH_0D_Algo * >_map0D_Algo;
-  std::map < int, SMESH_1D_Algo * >_map1D_Algo;
-  std::map < int, SMESH_2D_Algo * >_map2D_Algo;
-  std::map < int, SMESH_3D_Algo * >_map3D_Algo;
2013-07-03 16:09:54 +00:00
eap
fad96c2870 Compute Progress bar
+  virtual double GetProgress() const;
+  double GetProgressByTic() const;
+  int& GetComputeCost() { return _computeCost; }

+  int           _computeCost;     //!< "compute cost" of shapes being Compute()d
+  int           _progressTic;     //!< counter of calls from SMESH_Mesh::GetComputeProgress()
+  double        _progress;        //!< progress of Compute() [0.,1.]
2013-07-03 16:09:28 +00:00
eap
dbf60372a6 CoTech decision: move MEDWrapper from MED to SMESH
-	$(MED_CXXFLAGS) \

+	-I$(srcdir)/../MEDWrapper/Base \
2013-06-24 10:07:19 +00:00
eap
9a93fe49f9 0022229: [CEA 829] Error "Edge multiple times in surface mesh"
Fix IsReversedSubMesh(), avoid getting uv on a faces at a singularity
point of sphere
2013-06-11 10:24:55 +00:00
eap
4fecefcc2b 0021952: Add an option to write planar meshes as 3D meshes in MED files 2013-06-05 15:13:53 +00:00
eap
973402fcd3 avoid compilation warnings in release mode 2013-06-05 09:39:43 +00:00
eap
a77a5a1a51 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh

Make const GetNodeU()
2013-06-04 14:58:08 +00:00
eap
e884e4cd7e 22222: [CEA 820] GHS3D in salome 7.2.0 ten times slower than in salome 6.6.0
Choose a compute event (COMPUTE or COMPUTE_SUBMESH) depending on an
explicit parameter aShapeOnly.

   bool Compute(::SMESH_Mesh &        aMesh,
                const TopoDS_Shape &  aShape,
+               const bool            aShapeOnly=false,
                const bool            anUpward=false,
                const ::MeshDimension aDim=::MeshDim_3D,
                TSetOfInt*            aShapesId=0);
2013-05-29 15:29:19 +00:00
eap
fec22e7699 0022108: EDF 2547 SMESH: Duplicate elements only
1)
+  void DoubleElements( const TIDSortedElemSet& theElements );

2)
+  template < class ELEM_SET >
+  SMDS_ElemIteratorPtr elemSetIterator( const ELEM_SET& elements );
2013-05-28 16:42:11 +00:00
eap
9d998b2291 0022108: EDF 2547 SMESH: Duplicate elements only
+  void DoubleElements( const TIDSortedElemSet& theElements );
2013-05-28 16:41:32 +00:00
eap
6b2c537fcd 0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D or BLSurf...)
int GetHypotheses(const TopoDS_Shape &                aSubShape,
                   const SMESH_HypoFilter&             aFilter,
                   list <const SMESHDS_Hypothesis * >& aHypList,
                   const bool                          andAncestors,
+                  list< TopoDS_Shape > *              assignedTo=0) const
2013-05-27 14:01:40 +00:00
eap
fce384ca68 Fix a typo nagate -> negate 2013-05-27 14:00:27 +00:00
eap
6a6b89f677 0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D or BLSurf...)
Fix checkConformIgnoredAlgos() to prevent warning on hiding a local
algo by a local all-dimensional algo of upper dim.
2013-05-27 13:59:56 +00:00
eap
4443257370 Make const GetAppliedHypothesis() and GetUsedHypothesis() 2013-05-27 13:56:30 +00:00
eap
10a6101340 0022172: [CEA 790] create the groups corresponding to domains
1) Reset _algo = 0 if ( event == REMOVE_ALGO || event == REMOVE_FATHER_ALGO )

2) Avoid erasing _computeError holding a WARNING is algo->Compute() returns true

-          if ( !_computeError || ( !ret && _computeError->IsOK() ) )
+          if ( !_computeError || (/* !ret && */_computeError->IsOK() ) )
             _computeError = algo->GetComputeError();

3) Fix notifyListenersOnEvent():

-      if ( !isDeletable || !_eventListeners.count( li_da.first ))
+      if ( !isDeletable || _eventListeners.count( li_da.first ))
         li_da.first->myBusySM.erase( this ); // a listener is hopefully not dead
2013-05-24 11:46:27 +00:00
eap
751d20eca2 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
+  void QuadTo4Tri (TIDSortedElemSet & theElems);
2013-05-22 14:58:32 +00:00
eap
8506f58d10 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
Fix position of a central node of a distorted bi-quadratic triangle

+   * \brief Return UV for the central node of a biquadratic triangle
+   */
+  static gp_XY GetCenterUV(const gp_XY& uv1,
+                           const gp_XY& uv2,
+                           const gp_XY& uv3,
+                           const gp_XY& uv12,
+                           const gp_XY& uv23,
+                           const gp_XY& uv31,
+                           bool *       isBadTria=0);
2013-05-22 14:58:06 +00:00
eap
46654775eb In GetSubMesh(), assure calling fillAncestorsMap() for each compound
(take into account that a compound can be added to SMESHDS_Mesh at
creation of group on geometry)
2013-05-20 09:11:12 +00:00
eap
96862daa25 arrange #include 2013-05-16 16:29:29 +00:00
eap
098ecf81c2 0022100: EDF 2413 SMESH: Take into account TRIA7
+  const SMDS_MeshNode* GetCentralNode(const SMDS_MeshNode* n1,
+                                      const SMDS_MeshNode* n2,
+                                      const SMDS_MeshNode* n3,
+                                      const SMDS_MeshNode* n12,
+                                      const SMDS_MeshNode* n23,
+                                      const SMDS_MeshNode* n31,
+                                      bool                 force3d);
2013-05-16 16:28:40 +00:00