Salome HOME
modules/smesh.git
8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:46:20 +0000 (16:46 +0000)]
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);

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:45:15 +0000 (16:45 +0000)]
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 )

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:43:28 +0000 (16:43 +0000)]
0022108: EDF 2547 SMESH: Duplicate elements only

+  void _pyGen::addFilterUser( Handle(_pyCommand)& theCmd, const Handle(_pyObject)& user );

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:42:11 +0000 (16:42 +0000)]
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 );

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:41:32 +0000 (16:41 +0000)]
0022108: EDF 2547 SMESH: Duplicate elements only

+  void DoubleElements( const TIDSortedElemSet& theElements );

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:41:00 +0000 (16:41 +0000)]
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

8 years agoFix GetNode() for polyhedron
eap [Tue, 28 May 2013 16:40:15 +0000 (16:40 +0000)]
Fix GetNode() for polyhedron

8 years ago0022108: EDF 2547 SMESH: Duplicate elements only
eap [Tue, 28 May 2013 16:39:28 +0000 (16:39 +0000)]
0022108: EDF 2547 SMESH: Duplicate elements only

8 years agoFix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
akl [Tue, 28 May 2013 08:52:35 +0000 (08:52 +0000)]
Fix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
read the whole line instead of chars set.

8 years ago0022218: EDF 2638 SMESH: Issue when importing UNV file
eap [Tue, 28 May 2013 08:33:47 +0000 (08:33 +0000)]
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"

8 years agoFix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
akl [Tue, 28 May 2013 08:16:34 +0000 (08:16 +0000)]
Fix of 0022218: EDF 2638 SMESH: Issue when importing UNV file:
set the correct number of symbols to read the given coordinate system data.

8 years agoFix regression (SIGSEGV) caused by improvement 0022099
vsr [Mon, 27 May 2013 14:50:33 +0000 (14:50 +0000)]
Fix regression (SIGSEGV) caused by improvement 0022099

8 years ago0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D...
eap [Mon, 27 May 2013 14:04:00 +0000 (14:04 +0000)]
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

8 years ago0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D...
eap [Mon, 27 May 2013 14:01:40 +0000 (14:01 +0000)]
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

8 years agoFix a typo nagate -> negate
eap [Mon, 27 May 2013 14:00:27 +0000 (14:00 +0000)]
Fix a typo nagate -> negate

8 years ago0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D...
eap [Mon, 27 May 2013 13:59:56 +0000 (13:59 +0000)]
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.

8 years agoMake const GetAppliedHypothesis() and GetUsedHypothesis()
eap [Mon, 27 May 2013 13:56:30 +0000 (13:56 +0000)]
Make const GetAppliedHypothesis() and GetUsedHypothesis()

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 12:01:17 +0000 (12:01 +0000)]
0022172: [CEA 790] create the groups corresponding to domains

Allow calling Create() and Assign() with geom == None

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 12:00:21 +0000 (12:00 +0000)]
0022172: [CEA 790] create the groups corresponding to domains

Fix treating a warning sent by algorithm.Compute() - print "Warning"
instead of "Error"

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 11:57:38 +0000 (11:57 +0000)]
0022172: [CEA 790] create the groups corresponding to domains

Fix dump of AddHypothesis() in the case w/o geometry

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 11:55:12 +0000 (11:55 +0000)]
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.

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 11:49:50 +0000 (11:49 +0000)]
0022172: [CEA 790] create the groups corresponding to domains

Prepend "Warning" to error description with code==COMPERR_WARNING

8 years ago0022172: [CEA 790] create the groups corresponding to domains
eap [Fri, 24 May 2013 11:46:27 +0000 (11:46 +0000)]
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

8 years agoTreat Scale commands
eap [Wed, 22 May 2013 16:05:06 +0000 (16:05 +0000)]
Treat Scale commands

8 years ago0022101: EDF 2492 SMESH: Update Destination field when "Find closest to destination...
vsr [Wed, 22 May 2013 15:48:24 +0000 (15:48 +0000)]
0022101: EDF 2492 SMESH: Update Destination field when "Find closest to destination" is unchecked in "Move node"

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 15:36:05 +0000 (15:36 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 15:35:28 +0000 (15:35 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

+    def QuadTo4Tri (self, theElements=[]):

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 15:34:55 +0000 (15:34 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

+    void QuadTo4Tri (in SMESH_IDSource theQuads) raises (SALOME::SALOME_Exception);

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 15:34:17 +0000 (15:34 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

 Treat SMESH_MeshEditor::QuadTo4Tri()

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 15:33:27 +0000 (15:33 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

+  void           QuadTo4Tri      (SMESH::SMESH_IDSource_ptr   theObject)

8 years ago0022099: EDF 2307 SMESH: Apply a transformation to several meshes, sub-meshes or...
vsr [Wed, 22 May 2013 15:25:18 +0000 (15:25 +0000)]
0022099: EDF 2307 SMESH: Apply a transformation to several meshes, sub-meshes or groups

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 14:58:32 +0000 (14:58 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

+  void QuadTo4Tri (TIDSortedElemSet & theElems);

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 14:58:06 +0000 (14:58 +0000)]
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);

8 years ago0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles
eap [Wed, 22 May 2013 14:55:42 +0000 (14:55 +0000)]
0022106: EDF 2464 SMESH : Split quadrangles in 4 triangles

8 years ago+ void SetParameters(double aUparam, double aVparam);
eap [Wed, 22 May 2013 14:54:20 +0000 (14:54 +0000)]
+        void SetParameters(double aUparam, double aVparam);

8 years ago0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes"
vsr [Wed, 22 May 2013 14:03:03 +0000 (14:03 +0000)]
0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes"

8 years ago0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes"
vsr [Wed, 22 May 2013 13:35:08 +0000 (13:35 +0000)]
0022097: EDF 2408 SMESH: Hide ID of double node in the function "Merge nodes"

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
ctn [Wed, 22 May 2013 13:30:10 +0000 (13:30 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years agoFix problem with highlighting polyhedrons
vsr [Wed, 22 May 2013 13:20:53 +0000 (13:20 +0000)]
Fix problem with highlighting polyhedrons

8 years ago0021941: [CEA 699] Use for Auto Color method on mesh group the same algorithm that...
vsr [Tue, 21 May 2013 14:57:30 +0000 (14:57 +0000)]
0021941: [CEA 699] Use for Auto Color method on mesh group the same algorithm that this one in GEOM which define colors.

8 years ago0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
eap [Tue, 21 May 2013 09:09:23 +0000 (09:09 +0000)]
0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group

+    SMESH::ListOfGroups MakeGroupsOfBadInputElements( in SMESH_Mesh theMesh,
+                                                      in short      theSubShapeID,
+                                                      in string     theGroupName)
+      raises ( SALOME::SALOME_Exception );

8 years ago0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
eap [Tue, 21 May 2013 09:09:04 +0000 (09:09 +0000)]
0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group

8 years agoFix a doc of GetFilter()
eap [Tue, 21 May 2013 09:08:25 +0000 (09:08 +0000)]
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,

8 years ago0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
eap [Tue, 21 May 2013 09:07:16 +0000 (09:07 +0000)]
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);

8 years ago0022107: EDF 2502 SMESH: Publish the result of show bad mesh in a group
eap [Tue, 21 May 2013 09:06:43 +0000 (09:06 +0000)]
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 );

8 years agoIn GetSubMesh(), assure calling fillAncestorsMap() for each compound
eap [Mon, 20 May 2013 09:11:12 +0000 (09:11 +0000)]
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)

8 years agoFix to take into account qudratic edges also.
akl [Fri, 17 May 2013 12:26:06 +0000 (12:26 +0000)]
Fix to take into account qudratic edges also.

8 years agountabify
eap [Thu, 16 May 2013 17:18:39 +0000 (17:18 +0000)]
untabify

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 17:18:28 +0000 (17:18 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 17:17:56 +0000 (17:17 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years agoindentation
eap [Thu, 16 May 2013 17:16:44 +0000 (17:16 +0000)]
indentation

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 17:15:56 +0000 (17:15 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  case 4137:     // BIQUADRATIC TRIANGLE

Support all types of elements in DAT format files

8 years ago+ void ClearLastCreated() raises (SALOME::SALOME_Exception);
eap [Thu, 16 May 2013 17:14:15 +0000 (17:14 +0000)]
+    void ClearLastCreated() raises (SALOME::SALOME_Exception);

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 17:14:04 +0000 (17:14 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+    FT_ConnectedElements,

+  interface ConnectedElements : Predicate {

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 17:13:13 +0000 (17:13 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+    Entity_BiQuad_Triangle,

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 17:12:43 +0000 (17:12 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+ mesh_biquad_triangle.png \

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 17:12:15 +0000 (17:12 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

8 years agountabify
eap [Thu, 16 May 2013 17:09:28 +0000 (17:09 +0000)]
untabify

8 years ago0022195: EDF SMESH: Mesh using existing elements.
eap [Thu, 16 May 2013 17:08:45 +0000 (17:08 +0000)]
0022195: EDF SMESH: Mesh using existing elements.

8 years ago0022195: EDF SMESH: Mesh using existing elements.
eap [Thu, 16 May 2013 17:06:42 +0000 (17:06 +0000)]
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

8 years ago0022195: EDF SMESH: Mesh using existing elements.
eap [Thu, 16 May 2013 17:02:10 +0000 (17:02 +0000)]
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;

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:58:08 +0000 (16:58 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+#include "SMESH_MeshAlgos.hxx"

8 years ago+ subMeshOfSolid->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
eap [Thu, 16 May 2013 16:55:53 +0000 (16:55 +0000)]
+      subMeshOfSolid->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:55:14 +0000 (16:55 +0000)]
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):

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:53:18 +0000 (16:53 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:49:03 +0000 (16:49 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  CORBA::Long NbBiQuadTriangles()

8 years ago+#include "SMESH_MeshAlgos.hxx"
eap [Thu, 16 May 2013 16:48:19 +0000 (16:48 +0000)]
+#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);

8 years ago+ void ClearLastCreated() throw (SALOME::SALOME_Exception);
eap [Thu, 16 May 2013 16:46:57 +0000 (16:46 +0000)]
+  void ClearLastCreated() throw (SALOME::SALOME_Exception);

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:46:26 +0000 (16:46 +0000)]
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();

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:45:34 +0000 (16:45 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:44:02 +0000 (16:44 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:41:58 +0000 (16:41 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  aFilter->RegisterCellsWithType(VTK_BIQUADRATIC_TRIANGLE);

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:41:30 +0000 (16:41 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

decompose bi-quadratic elements using the central node of face

8 years ago1) Remove writing into stdout
eap [Thu, 16 May 2013 16:39:55 +0000 (16:39 +0000)]
1) Remove writing into stdout
2) Support all types of elements

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:38:48 +0000 (16:38 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:36:26 +0000 (16:36 +0000)]
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh

+#include "SMESH_MeshAlgos.hxx"

+    class SMESHCONTROLS_EXPORT ConnectedElements: public virtual Predicate

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:35:18 +0000 (16:35 +0000)]
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

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:33:34 +0000 (16:33 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

Fix AddNode() for the case if a node already in

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:32:39 +0000 (16:32 +0000)]
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);

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:30:18 +0000 (16:30 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:29:56 +0000 (16:29 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  inline void AddBiQuadTriasWithID(SMDS_Mesh* theMesh,
+                                   SMESH::log_array_var theSeq,
+                                   CORBA::Long theId)

8 years agoarrange #include
eap [Thu, 16 May 2013 16:29:29 +0000 (16:29 +0000)]
arrange #include

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:28:40 +0000 (16:28 +0000)]
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);

8 years ago1) 0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:27:06 +0000 (16:27 +0000)]
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,

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:23:11 +0000 (16:23 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  int NbBiQuadTriangles() const throw(SALOME_Exception);

8 years ago0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
eap [Thu, 16 May 2013 16:22:25 +0000 (16:22 +0000)]
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);

8 years ago- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
eap [Thu, 16 May 2013 16:17:16 +0000 (16:17 +0000)]
-  virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:16:22 +0000 (16:16 +0000)]
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();
 };

8 years agoMake IsFreeFace() fast, the old implementation of IsFreeFace() is renamed -> IsFreeFa...
eap [Thu, 16 May 2013 16:14:01 +0000 (16:14 +0000)]
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; }

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:11:35 +0000 (16:11 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

8 years ago- SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
eap [Thu, 16 May 2013 16:10:37 +0000 (16:10 +0000)]
-  SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:08:36 +0000 (16:08 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  int NbBiQuadTriangles() const { return myNbBiQuadTriangles; }

8 years ago- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
eap [Thu, 16 May 2013 16:08:00 +0000 (16:08 +0000)]
-  virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;

+  virtual SMDS_NodeIteratorPtr nodeIterator() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:06:21 +0000 (16:06 +0000)]
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);

8 years agoindentation
eap [Thu, 16 May 2013 16:04:50 +0000 (16:04 +0000)]
indentation

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:04:30 +0000 (16:04 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+      _cellDimension[VTK_BIQUADRATIC_TRIANGLE] = 2;

8 years ago0022100: EDF 2413 SMESH: Take into account TRIA7
eap [Thu, 16 May 2013 16:04:10 +0000 (16:04 +0000)]
0022100: EDF 2413 SMESH: Take into account TRIA7

+  SMDSEntity_BiQuad_Triangle,

8 years agospecification des unités de chordal deviation
pnoyret [Thu, 16 May 2013 13:31:34 +0000 (13:31 +0000)]
specification des unités de chordal deviation

8 years agoPour prise en compte de la bonne valeur par defaut du chordal deviation
pnoyret [Thu, 16 May 2013 13:24:39 +0000 (13:24 +0000)]
Pour prise en compte de la bonne valeur par defaut du chordal deviation

8 years ago0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons V7_2_0 V7_2_0_public V7_2_0rc2
eap [Mon, 29 Apr 2013 14:18:32 +0000 (14:18 +0000)]
0022202: EDF SMESH: Regression in a script meshing prisms and hexaedrons

Fix notifyListenersOnEvent() for the case of removing an EventListener (attempt No.2)