Commit Graph

779 Commits

Author SHA1 Message Date
cvw
51aa4c4a2d deprecated v7 import smesh, studyBuilder modification 2013-06-18 08:34:04 +00:00
cvw
ca40d2121f merge from BR_pluginMGCleaner tag mergeto_v7_main_17jun13 2013-06-18 08:31:15 +00:00
cvw
dc02ba1daa merge from BR_pluginMGCleaner tag mergeto_v7_main_17jun13 2013-06-17 14:56:45 +00:00
cvw
3d7ec410f2 best warning on qlineedit for double value 2013-06-17 14:49:25 +00:00
cvw
071166030d deprecated import smesh smeshBuilder 2013-06-14 11:56:20 +00:00
cvw
3bd0a20a52 add SMESH plugin MGCleaner 2013-06-13 13:50:31 +00:00
cvw
739951e33d bug 2013-06-13 13:47:53 +00:00
cvw
02df1b69aa add SMESH plugin MGCleaner 2013-06-13 13:38:35 +00:00
eap
25008e4a96 21952: EDF 2383 SMESH : Add an option to write planar meshes as 3D meshes in MED files
Correct position of autoDimension in ExportMED()
2013-06-11 11:51:44 +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
dfe28da84c avoid "unused variable" compilation warnings 2013-06-05 10:04:09 +00:00
eap
543e7425c7 avoid compilation warnings 2013-06-05 09:59:53 +00:00
eap
bd8276e43f avoid compilation warnings in release mode 2013-06-05 09:49:03 +00:00
eap
973402fcd3 avoid compilation warnings in release mode 2013-06-05 09:39:43 +00:00
eap
6c81f9a1e5 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh
2013-06-04 15:05:51 +00:00
eap
d98ea3bd2b 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh

Have a separate SMESH_MesherHelper in each TSideFace in order to get a
correct UV on periodic FACE
2013-06-04 15:05:28 +00:00
eap
9ebd1fea41 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh

In GetUVPtStruct(), update normParam when reloading points from a proxy
mesh in a reversed order
2013-06-04 15:03:15 +00:00
eap
dccff92fcb 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh

In ComputeParameters(), more attempts to get a correct result
2013-06-04 15:00:45 +00:00
eap
b61aaf79a6 0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
= Allow viscous layers on boundary EDGEs of a 2D sub-mesh

Redesign onCriterionChanged() to avoid SIGSEGV on a comboItem of an
improper side
2013-06-04 14:59:12 +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
ea2fec5674 - //_face.Orientation( TopAbs_FORWARD );
+  _face.Orientation( TopAbs_FORWARD ); // 2D logic works only in this case
2013-05-31 11:56:48 +00:00
eap
083e873dfe check orientation when re-loading points from a proxy mesh 2013-05-31 11:56:32 +00:00
eap
65c94961fc take care of a correct orientation (attempt No2 ) 2013-05-30 16:35:57 +00:00
eap
05c6c409ee take care of a correct orientation 2013-05-30 16:28:03 +00:00
eap
708660afc3 "import python files corresponding to plugins" is not needed (since long time) 2013-05-30 14:32:41 +00:00
eap
f72c766475 untabify and
-#ifdef WITHGENERICOBJ
2013-05-30 14:20:52 +00:00
eap
036be279a4 0022104: EDF 2550 SMESH: 2D viscous layer, allow specifying edges with viscous layer
Provide access to QLabel's of parameters:

+  QLabel*                      getLabel(int i) const;

+  ListOfWidgets                myParamLabels;
2013-05-30 14:20:00 +00:00
eap
9f9b06a194 0022104: EDF 2550 SMESH: 2D viscous layer, allow specifying edges with viscous layer
-    def ViscousLayers2D(self, thickness, numberOfLayers, stretchFactor, ignoreEdges=[]):
+    def ViscousLayers2D(self, thickness, numberOfLayers, stretchFactor,
+                        edges=[], isEdgesToIgnore=True ):
2013-05-30 14:18:23 +00:00
eap
62c442d05f 0022104: EDF 2550 SMESH: 2D viscous layer, allow specifying edges with viscous layer 2013-05-30 14:17:56 +00:00
eap
cb2ff0ef70 0022104: EDF 2550 SMESH: 2D viscous layer, allow specifying edges with viscous layer
In addition to implementing IMP, avoid "limiting" _thickness to zero:

-    _thickness = Min( _hyp->GetTotalThickness(), maxPossibleThick );
+    if ( maxPossibleThick > 0. )
+      _thickness = Min( _hyp->GetTotalThickness(), maxPossibleThick );
2013-05-30 14:15:57 +00:00
eap
4a87093dce 0022104: EDF 2550 SMESH: 2D viscous layer, allow specifying edges with viscous layer
+  void SetBndShapes(const std::vector<int>& shapeIds, bool toIgnore);
+  std::vector<int> GetBndShapes() const { return _shapeIds; }
+  bool IsToIgnoreShapes() const { return _isToIgnoreShapes; }

  private:

-  std::vector<int> _ignoreBndShapeIds;
+  std::vector<int> _shapeIds;
+  bool             _isToIgnoreShapes;
2013-05-30 14:14:31 +00:00
inv
a29849f24b Compatibility with gcc 4.1 (centos 5) 2013-05-30 08:02:04 +00:00
eap
abdbef3f20 22222: [CEA 820] GHS3D in salome 7.2.0 ten times slower than in salome 6.6.0
In MakeComputed(), call SMESH_Gen::Compute() with aShapeOnly = true

-    return gen->Compute( *mesh, shape );
+    return gen->Compute( *mesh, shape, /*shapeOnly=*/true );
2013-05-29 15:32:30 +00:00
eap
557a9b549c 22222: [CEA 820] GHS3D in salome 7.2.0 ten times slower than in salome 6.6.0
-      if ( myGen.Compute( myLocMesh, myLocShape, false, aDim, &shapeIds ) )
+      if ( myGen.Compute( myLocMesh, myLocShape, false, false, aDim, &shapeIds ) )

The 3-d parameter aShapeOnly added to SMESH_Gen::Compute()
2013-05-29 15:31:16 +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
ccd189545b 0022136: EDF 2345 SMESH: Improving documentation of Quadrangle mapping with the type "Reduced"
1) Send a warning if Reduced transition can't be used.
2) Fix SIGSEGV for the case of nbRows = 1, nbTop = 4, nbBot = 16
2013-05-29 13:41:51 +00:00
eap
cbfe948334 Make ElemEntityType pass nodes through as well 2013-05-28 16:51:03 +00:00
eap
dc9f23c3cd 0022108: EDF 2547 SMESH: Duplicate elements only
+    def DoubleElements(self, theElements, theGroupName=""):
2013-05-28 16:49:24 +00:00
eap
251eb76e54 0022108: EDF 2547 SMESH: Duplicate elements only
Modify UniqueName() to look through all objects (groups, sub-meshes
etc) and not only meshes.
2013-05-28 16:49:06 +00:00
eap
4effbfc0dc 0022108: EDF 2547 SMESH: Duplicate elements only 2013-05-28 16:47:51 +00:00
eap
5cc99bd09d 0022108: EDF 2547 SMESH: Duplicate elements only
1)
+  SMESH::SMESH_Group_ptr DoubleElements(SMESH::SMESH_IDSource_ptr theElements,
+                                        const char*               theGroupName)

2) set mesh to a filter
+  void prepareIdSource(SMESH::SMESH_IDSource_ptr theObject);
2013-05-28 16:46:20 +00:00
eap
2de5e478f7 0022108: EDF 2547 SMESH: Duplicate elements only
1)
+  void _pyGen::addFilterUser( Handle(_pyCommand)& theCmd, const Handle(_pyObject)& user );

2)
+   * \brief Replaces "mesh.GetIDSource([id1,id2])" argument of a given command by
+   *        a list "[id1,id2]" if the list is an accesible type of argument.
+   */
+  void GetIDSourceToList( Handle( _pyCommand)& theCommand )

3)
+   * \brief Replaces "SMESH.PointStruct(x,y,z)" and "SMESH.DirStruct( SMESH.PointStruct(x,y,z))"
+   *        arguments of a given command by a list "[x,y,z]" if the list is accesible
+   *        type of argument.
+   */
+  void StructToList( Handle( _pyCommand)& theCommand )
2013-05-28 16:45:15 +00:00
eap
eb58d6d004 0022108: EDF 2547 SMESH: Duplicate elements only
+  void _pyGen::addFilterUser( Handle(_pyCommand)& theCmd, const Handle(_pyObject)& user );
2013-05-28 16:43:28 +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
c25ddc7d49 0022108: EDF 2547 SMESH: Duplicate elements only
More filters

+  struct Filter
+  {
+    virtual bool operator()(const SMDS_MeshElement* e) const = 0;
+    ~Filter() {}
+  };
+  struct NonNullFilter: public Filter
2013-05-28 16:41:00 +00:00
eap
c922a9cc64 Fix GetNode() for polyhedron 2013-05-28 16:40:15 +00:00
akl
1227aa421b Fix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
read the whole line instead of chars set.
2013-05-28 08:52:35 +00:00
eap
d9e7f2c591 0022218: EDF 2638 SMESH: Issue when importing UNV file
-  const size_t theMaxLineLen = 82;
+  const size_t theMaxLineLen = 82; // 80 for text + 2 for "\r\n"
2013-05-28 08:33:47 +00:00
akl
96625f32df Fix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
set the correct number of symbols to read the given coordinate system data.
2013-05-28 08:16:34 +00:00
vsr
2cbc0e004d Fix regression (SIGSEGV) caused by improvement 0022099 2013-05-27 14:50:33 +00:00
eap
a541c7e70e 0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D or BLSurf...)
Improve MakeComputed to compute a source sub-mesh using an
 all-dimensional algo of dim greater than dim of the given sub-mesh
2013-05-27 14:04:00 +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
b4fdb7ebde 0022172: [CEA 790] create the groups corresponding to domains
Allow calling Create() and Assign() with geom == None
2013-05-24 12:01:17 +00:00
eap
2c17372e2f 0022172: [CEA 790] create the groups corresponding to domains
Fix treating a warning sent by algorithm.Compute() - print "Warning"
instead of "Error"
2013-05-24 12:00:21 +00:00
eap
401090842f 0022172: [CEA 790] create the groups corresponding to domains
Fix dump of AddHypothesis() in the case w/o geometry
2013-05-24 11:57:38 +00:00
eap
0f7414545b 0022172: [CEA 790] create the groups corresponding to domains
1) Do not erase "mesh.Compute()" command if the next command
   "[ group1, group2 ] = mesh.GetGroups()" dumps groups created by some algorithm.

2) Clear "mesh.RemoveGroup( group )" command
3) Clear "[ group1, group2 ] = mesh.GetGroups()" command if the groups
   are removed later.
2013-05-24 11:55:12 +00:00
eap
7b5176ec4d 0022172: [CEA 790] create the groups corresponding to domains
Prepend "Warning" to error description with code==COMPERR_WARNING
2013-05-24 11:49:50 +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
610978f5f6 Treat Scale commands 2013-05-22 16:05:06 +00:00
vsr
5de80d5f32 0022101: EDF 2492 SMESH: Update Destination field when "Find closest to destination" is unchecked in "Move node" 2013-05-22 15:48:24 +00:00
eap
5dcf8c6597 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles 2013-05-22 15:36:05 +00:00
eap
f96a5f853b 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
+    def QuadTo4Tri (self, theElements=[]):
2013-05-22 15:35:28 +00:00
eap
741e8ae522 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
Treat SMESH_MeshEditor::QuadTo4Tri()
2013-05-22 15:34:17 +00:00
eap
ba9f67eab1 0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
+  void           QuadTo4Tri      (SMESH::SMESH_IDSource_ptr   theObject)
2013-05-22 15:33:27 +00:00
vsr
b07f27826f 0022099: EDF 2307 SMESH: Apply a transformation to several meshes, sub-meshes or groups 2013-05-22 15:25:18 +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
82b050103f + void SetParameters(double aUparam, double aVparam); 2013-05-22 14:54:20 +00:00
vsr
686e5fb3ee 0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes" 2013-05-22 14:03:03 +00:00
vsr
10e0608dee 0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes" 2013-05-22 13:35:08 +00:00
vsr
e0528f4426 Fix problem with highlighting polyhedrons 2013-05-22 13:20:53 +00:00
vsr
e87a86a68d 0021941: [CEA 699] Use for Auto Color method on mesh group the same algorithm that this one in GEOM which define colors. 2013-05-21 14:57:30 +00:00
eap
88068fce89 0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group 2013-05-21 09:09:04 +00:00
eap
f70691d5a4 Fix a doc of GetFilter()
+   #  @param mesh the mesh to initialize the filter with
    #  @return SMESH_Filter
    #
    #  <a href="../tui_filters_page.html#tui_filters">Example of Filters usage</a>
    #  @ingroup l1_controls
    def GetFilter(self,elementType,
2013-05-21 09:08:25 +00:00
eap
af65a4c6c9 0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
+  // Create groups of elements preventing computation of a sub-shape
+  SMESH::ListOfGroups* MakeGroupsOfBadInputElements( int         theSubShapeID,
+                                                     const char* theGroupName)
+    throw (SALOME::SALOME_Exception);
2013-05-21 09:07:16 +00:00
eap
dcd520f576 0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
+  // Create groups of elements preventing computation of a sub-shape
+  SMESH::ListOfGroups* MakeGroupsOfBadInputElements( SMESH::SMESH_Mesh_ptr theMesh,
+                                                     CORBA::Short          theSubShapeID,
+                                                     const char*           theGroupName)
+    throw ( SALOME::SALOME_Exception );
2013-05-21 09:06:43 +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
akl
e69867dda8 Fix to take into account qudratic edges also. 2013-05-17 12:26:06 +00:00
eap
7c9cf53741 untabify 2013-05-16 17:18:39 +00:00
eap
0e9e37a6e8 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
0022100: EDF 2413 SMESH: Take into account TRIA7
2013-05-16 17:18:28 +00:00
eap
9791c651e7 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 17:17:56 +00:00
eap
7c9baff7a5 indentation 2013-05-16 17:16:44 +00:00
eap
50e4126336 0022100: EDF 2413 SMESH: Take into account TRIA7
+  case 4137:     // BIQUADRATIC TRIANGLE

Support all types of elements in DAT format files
2013-05-16 17:15:56 +00:00
eap
b93c19aaa2 untabify 2013-05-16 17:09:28 +00:00
eap
8df43f2a70 0022195: EDF SMESH: Mesh using existing elements. 2013-05-16 17:08:45 +00:00
eap
9b739aaa01 0022195: EDF SMESH: Mesh using existing elements.
In Compute() call assure the source mesh is loaded:
_sourceHyp->GetGroups(/*loaded=*/true);

In getMaps(), do not clear n2n map to assure sharing nodes on EDGEs
for adjacent FACEs
2013-05-16 17:06:42 +00:00
eap
3010de27c3 0022195: EDF SMESH: Mesh using existing elements.
To load the mesh owning source groups

-  const std::vector<SMESH_Group*>& GetGroups() const;
+  const std::vector<SMESH_Group*>& GetGroups(bool loaded=false) const;
2013-05-16 17:02:10 +00:00
eap
42491f3cb5 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+#include "SMESH_MeshAlgos.hxx"
2013-05-16 16:58:08 +00:00
eap
f2160ad9de + subMeshOfSolid->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE ); 2013-05-16 16:55:53 +00:00
eap
22dd2b977a 0022100: EDF 2413 SMESH: Take into account TRIA7
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+    def NbBiQuadTriangles(self):

+    def ClearLastCreated(self):

    def GetFilter(self,elementType,
                  CritType=FT_Undefined,
                  Compare=FT_EqualTo,
                  Threshold="",
                  UnaryOp=FT_Undefined,
                  Tolerance=1e-07,
+                 mesh=None):
2013-05-16 16:55:14 +00:00
eap
70fad16a15 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:53:18 +00:00
eap
998c774c5d 0022100: EDF 2413 SMESH: Take into account TRIA7
+  CORBA::Long NbBiQuadTriangles()
2013-05-16 16:49:03 +00:00
eap
3a8dfa1bdb +#include "SMESH_MeshAlgos.hxx"
+// A macro used in SMESH_TryCatch.hxx,
+// it re-raises a CORBA SALOME exception thrown by SMESH_MeshEditor_i and caught by SMESH_CATCH
+#define SMY_OWN_CATCH \
+  catch ( SALOME::SALOME_Exception & e ) { throw e; }

+  void ClearLastCreated() throw (SALOME::SALOME_Exception);
2013-05-16 16:48:19 +00:00
eap
143bb6d8a6 + void ClearLastCreated() throw (SALOME::SALOME_Exception); 2013-05-16 16:46:57 +00:00
eap
b47c581141 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+  class SMESH_I_EXPORT ConnectedElements_i: public virtual POA_SMESH::ConnectedElements,
+                                            public virtual Predicate_i

+    ConnectedElements_ptr     CreateConnectedElements();
2013-05-16 16:46:26 +00:00
eap
9be03d1b02 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh 2013-05-16 16:45:34 +00:00
eap
765c100cd0 0022100: EDF 2413 SMESH: Take into account TRIA7
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
2013-05-16 16:44:02 +00:00
eap
45157dd914 0022100: EDF 2413 SMESH: Take into account TRIA7
+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);
2013-05-16 16:41:58 +00:00
eap
7868270178 0022100: EDF 2413 SMESH: Take into account TRIA7
decompose bi-quadratic elements using the central node of face
2013-05-16 16:41:30 +00:00
eap
3e2ff42c86 1) Remove writing into stdout
2) Support all types of elements
2013-05-16 16:39:55 +00:00
eap
6d0acadd44 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:38:48 +00:00
eap
101919845f 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
+#include "SMESH_MeshAlgos.hxx"

+    class SMESHCONTROLS_EXPORT ConnectedElements: public virtual Predicate
2013-05-16 16:36:26 +00:00
eap
b73a05d5ec 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

+	SMESH_MeshAlgos.cxx
2013-05-16 16:35:18 +00:00
eap
f377659e82 0022100: EDF 2413 SMESH: Take into account TRIA7
Fix AddNode() for the case if a node already in
2013-05-16 16:33:34 +00:00
eap
30c56009c3 0022100: EDF 2413 SMESH: Take into account TRIA7
-  void SetNodeInVolume(SMDS_MeshNode * aNode, const TopoDS_Shell & S);
+  void SetNodeInVolume(const SMDS_MeshNode * aNode, const TopoDS_Shell & S);

-  void MoveNode(const SMDS_MeshNode *, double x, double y, double z);
+  virtual void MoveNode(const SMDS_MeshNode *, double x, double y, double z);

+  // biquadratic triangle of 7 nodes
+  virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3,
+                                       int n12,int n23,int n31, int nCenter, int ID);
2013-05-16 16:32:39 +00:00
eap
6cc3a49ea9 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:30:18 +00:00
eap
f0c8a5c35a 0022100: EDF 2413 SMESH: Take into account TRIA7
+  inline void AddBiQuadTriasWithID(SMDS_Mesh* theMesh,
+                                   SMESH::log_array_var theSeq,
+                                   CORBA::Long theId)
2013-05-16 16:29:56 +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
eap
664ae5e033 1) 0022100: EDF 2413 SMESH: Take into account TRIA7
2) 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

-struct SMESH_NodeSearcher
-{
-struct SMESH_ElementSearcher
-{
-  SMESH_NodeSearcher* GetNodeSearcher();
-  SMESH_ElementSearcher* GetElementSearcher();
-  SMESH_ElementSearcher* GetElementSearcher( SMDS_ElemIteratorPtr elemIt );
-  static bool IsOut( const SMDS_MeshElement* element, const gp_Pnt& point, double tol );
-  static double GetDistance( const SMDS_MeshFace* face, const gp_Pnt& point );
-  static const SMDS_MeshElement* FindFaceInSet(const SMDS_MeshNode*    n1,
2013-05-16 16:27:06 +00:00
eap
68683b462f 0022100: EDF 2413 SMESH: Take into account TRIA7
+  int NbBiQuadTriangles() const throw(SALOME_Exception);
2013-05-16 16:23:11 +00:00
eap
36f9a5cb34 0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

-  static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
-  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
-                                                           const SMDS_MeshElement* e2);
2013-05-16 16:22:25 +00:00
eap
c2c0a21343 - virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
2013-05-16 16:17:16 +00:00
eap
1267641d31 0022100: EDF 2413 SMESH: Take into account TRIA7
Now  SMDS_VtkCellIteratorToUNV inherits from SMDS_NodeIterator and
hence next() returns a node

-class SMDS_VtkCellIteratorToUNV: public SMDS_VtkCellIterator
+class SMDS_VtkCellIteratorToUNV: public SMDS_NodeIterator, protected SMDS_VtkCellIterator
 {
 public:
   SMDS_VtkCellIteratorToUNV(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType);
+  virtual const SMDS_MeshNode* next();
+  virtual bool more();
   virtual ~SMDS_VtkCellIteratorToUNV();
 };
2013-05-16 16:16:22 +00:00
eap
5030955be8 Make IsFreeFace() fast, the old implementation of IsFreeFace() is renamed -> IsFreeFaceAdv()
bool IsFreeFace(  int faceIndex, const SMDS_MeshElement** otherVol=0 ) const;
-  // Check that all volumes built on the face nodes lays on one side
+  // Fast check that only one volume is built on nodes of a given face
+  // otherVol returns another volume sharing the given facet
+
+  bool IsFreeFaceAdv(  int faceIndex, const SMDS_MeshElement** otherVol=0 ) const;
+  // Thorough check that all volumes built on the face nodes lays on one side

+  bool IsPoly() const { return myPolyedre; }
2013-05-16 16:14:01 +00:00
eap
580dfddb72 0022100: EDF 2413 SMESH: Take into account TRIA7 2013-05-16 16:11:35 +00:00
eap
c448c8ff74 - SMDS_ElemIteratorPtr interlacedNodesElemIterator() const; 2013-05-16 16:10:37 +00:00
eap
010ee1ec71 0022100: EDF 2413 SMESH: Take into account TRIA7
+  int NbBiQuadTriangles() const { return myNbBiQuadTriangles; }
2013-05-16 16:08:36 +00:00
eap
24d5088297 - virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr nodeIterator() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
2013-05-16 16:08:00 +00:00
eap
90925ba7c0 0022100: EDF 2413 SMESH: Take into account TRIA7
+  virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
+                                 const SMDS_MeshNode * n2,
+                                 const SMDS_MeshNode * n3,
+                                 const SMDS_MeshNode * n12,
+                                 const SMDS_MeshNode * n23,
+                                 const SMDS_MeshNode * n31,
+                                 const SMDS_MeshNode * nCenter);

+  virtual void MoveNode(const SMDS_MeshNode *n, double x, double y, double z);
2013-05-16 16:06:21 +00:00
eap
77bf33663f indentation 2013-05-16 16:04:50 +00:00
eap
7cd54f6b75 0022100: EDF 2413 SMESH: Take into account TRIA7
+      _cellDimension[VTK_BIQUADRATIC_TRIANGLE] = 2;
2013-05-16 16:04:30 +00:00
eap
42462cd3f9 0022100: EDF 2413 SMESH: Take into account TRIA7
+  SMDSEntity_BiQuad_Triangle,
2013-05-16 16:04:10 +00:00
pnoyret
b1f8e808d5 specification des unités de chordal deviation 2013-05-16 13:31:34 +00:00
pnoyret
bed33c76b7 Pour prise en compte de la bonne valeur par defaut du chordal deviation 2013-05-16 13:24:39 +00:00
eap
89682777f7 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
Fix notifyListenersOnEvent() for the case of removing an EventListener (attempt No.2)
2013-04-29 14:18:32 +00:00
eap
36550205e6 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
Fix notifyListenersOnEvent() for the case of removing an EventListener
2013-04-29 12:00:40 +00:00
eap
55e345e578 Regression of SMESH_TEST/Grids/smesh/imps7/H6
Unreachable deep idea

           bool subComputed = false, subFailed = false;
           if (!algo->OnlyUnaryInput()) {
-            if ( event == COMPUTE &&
-                 ( algo->NeedDiscreteBoundary() || algo->SupportSubmeshes() ))
+            if ( event == COMPUTE /*&&
+                 ( algo->NeedDiscreteBoundary() || algo->SupportSubmeshes() )*/)
               shape = getCollection( gen, algo, subComputed, subFailed );
             else
               subComputed = SubMeshesComputed( & subFailed );
2013-04-26 15:53:34 +00:00
eap
adde8edd1b Regression of SMESH_TEST/Grids/smesh/imps7/H5
Fix position of medium nodes that are set to FACE by
StdMeshers_Projection_2D, since EDGEs are discreteized later than FACE.
2013-04-26 14:43:46 +00:00
eap
65c45fcb35 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
Fix the ensuring stability of SMESH_MeshEditor::makeWalls().
2013-04-26 11:47:26 +00:00
eap
250c4f2244 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
Fix the ensuring stability of SMESH_MeshEditor::makeWalls(). Allow
storing both nodes and cells in one map sorted by ID.


struct TIDCompare {
   bool operator () (const SMDS_MeshElement* e1, const SMDS_MeshElement* e2) const
-  { return e1->GetID() < e2->GetID(); }
+  { return e1->GetType() == e2->GetType() ? e1->GetID() < e2->GetID() : e1->GetType() < e2->GetType(); }
2013-04-26 11:46:58 +00:00
eap
e1fe293459 0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons
-  for ( int iF = 1; iF < faceToSolids.Extent(); ++iF )
+  for ( int iF = 1; iF <= faceToSolids.Extent(); ++iF )
2013-04-26 10:21:24 +00:00
akl
866063cabb Call 'Location' with correct indices only to avoid exception. 2013-04-24 13:25:21 +00:00
akl
436838c202 Fix to avoid dependence of mesh on itself (it leaded to cycle in 'SetRemovedFromStudy'). 2013-04-24 13:13:40 +00:00
eap
85cd604381 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
To assure stability of makeWalls(), use maps sorted by ID, that are
declared in SMESH_TypeDefs.hxx

-typedef map<const SMDS_MeshElement*, list<const SMDS_MeshNode*> >    TElemOfNodeListMap;
-typedef map<const SMDS_MeshElement*, list<const SMDS_MeshElement*> > TElemOfElemListMap;
2013-04-24 12:59:33 +00:00
eap
180deae521 Regression of XSMESH_TEST/SMESHCOMMON/SMESH_TEST/Grids/smesh/bugs12/M6
typedef std::map<const SMDS_MeshElement*,
-                 std::list<const SMDS_MeshElement*> >             TElemOfElemListMap;
+                 std::list<const SMDS_MeshElement*>, TIDCompare > TElemOfElemListMap;
2013-04-24 12:56:57 +00:00
eap
c965dca966 -algo=smesh.xxxx ==> algo.smeshBuilder.xxxx
+algo=smesh.xxxx  ==> algo=smeshBuilder.xxxx
2013-04-24 12:13:36 +00:00
akl
f4d0371a70 Check for null object was added. 2013-04-22 10:37:55 +00:00
akl
e5bd3f688c Indexation of OCC sequence is started from 1, but not 0. 2013-04-22 10:36:36 +00:00
gdd
51f6c9cec0 Update translations 2013-04-18 09:07:26 +00:00
prascle
d8a4fd0b8c PR: correction due to refactoring 2013-04-17 20:33:51 +00:00
akl
3ec0f6d752 Correction because of 'geompyDC' refactoring. 2013-04-17 11:34:31 +00:00
akl
6524427cb2 Correction because of 'smeshDC' refactoring. 2013-04-17 10:15:09 +00:00
akl
7f7f68d7de Correction of script because of 'geompyDC' refactoring. 2013-04-17 06:21:15 +00:00
prascle
bb5c11a5ed PR: relax constraints on node distances on StdMeshers_import_1D 2013-04-16 16:47:43 +00:00