Salome HOME
22244: [CEA] Method to compute the normal to a mesh face
authoreap <eap@opencascade.com>
Mon, 20 Jan 2014 17:42:20 +0000 (17:42 +0000)
committereap <eap@opencascade.com>
Mon, 20 Jan 2014 17:42:20 +0000 (17:42 +0000)
-    double_array GetFaceNormal(in long faceId);
+    double_array GetFaceNormal(in long faceId, in boolean normalized);

idl/SMESH_Mesh.idl
src/SMESH_I/SMESH_Mesh_i.cxx
src/SMESH_I/SMESH_Mesh_i.hxx
src/SMESH_SWIG/smeshBuilder.py

index 92a3cd3b828d1f0d224dd0fb189399d3fab39a6b..abce2bb25fd06388ad09c891d82ed606d9229a3b 100644 (file)
@@ -931,7 +931,7 @@ module SMESH
     /*!
      * Returns three components of normal of given mesh face (or an empty array in KO case)
      */
     /*!
      * Returns three components of normal of given mesh face (or an empty array in KO case)
      */
-    double_array GetFaceNormal(in long faceId);
+    double_array GetFaceNormal(in long faceId, in boolean normalized);
 
     /*!
      * Returns an element based on all given nodes.
 
     /*!
      * Returns an element based on all given nodes.
index b47ae9b19e261cd1c7ae03d6f169e51d68bbb774..139262a6f38b4f5c2b2938f5bfc29b00ab2535d4 100644 (file)
@@ -4048,7 +4048,8 @@ SMESH::long_array* SMESH_Mesh_i::GetElemFaceNodes(CORBA::Long  elemId,
 //purpose  : Returns three components of normal of given mesh face.
 //=======================================================================
 
 //purpose  : Returns three components of normal of given mesh face.
 //=======================================================================
 
-SMESH::double_array* SMESH_Mesh_i::GetFaceNormal(CORBA::Long  elemId)
+SMESH::double_array* SMESH_Mesh_i::GetFaceNormal(CORBA::Long    elemId,
+                                                 CORBA::Boolean normalized)
 {
   if ( _preMeshInfo )
     _preMeshInfo->FullLoadFromFile();
 {
   if ( _preMeshInfo )
     _preMeshInfo->FullLoadFromFile();
@@ -4058,7 +4059,7 @@ SMESH::double_array* SMESH_Mesh_i::GetFaceNormal(CORBA::Long  elemId)
   if ( SMESHDS_Mesh* mesh = _impl->GetMeshDS() )
   {
     gp_XYZ normal;
   if ( SMESHDS_Mesh* mesh = _impl->GetMeshDS() )
   {
     gp_XYZ normal;
-    if ( SMESH_MeshAlgos::FaceNormal( mesh->FindElement(elemId), normal, /*normalized=*/true ))
+    if ( SMESH_MeshAlgos::FaceNormal( mesh->FindElement(elemId), normal, normalized ))
     {
       aResult->length( 3 );
       aResult[ 0 ] = normal.X();
     {
       aResult->length( 3 );
       aResult[ 0 ] = normal.X();
index 7b1fdc473fe4d632ddc7fc5b1da9e4702ca7523a..f83347539ae8dc3312913dadc38a4d6d1c52fe6b 100644 (file)
@@ -538,7 +538,7 @@ public:
   /*!
    * Returns three components of normal of given mesh face (or an empty array in KO case)
    */
   /*!
    * Returns three components of normal of given mesh face (or an empty array in KO case)
    */
-  SMESH::double_array* GetFaceNormal(CORBA::Long faceId);
+  SMESH::double_array* GetFaceNormal(CORBA::Long faceId, CORBA::Boolean normalized);
 
   /*!
    * Returns an element based on all given nodes.
 
   /*!
    * Returns an element based on all given nodes.
index 4e7c418e494ef2d46f09308338661fd1b08fecd8..41791ff77611d844e72f8d7aaaab4d50ac6ce65e 100644 (file)
@@ -2431,8 +2431,8 @@ class Mesh:
     ## Returns three components of normal of given mesh face
     #  (or an empty array in KO case)
     #  @ingroup l1_meshinfo
     ## Returns three components of normal of given mesh face
     #  (or an empty array in KO case)
     #  @ingroup l1_meshinfo
-    def GetFaceNormal(self, faceId):
-        return self.mesh.GetFaceNormal(faceId)
+    def GetFaceNormal(self, faceId, normalized=False):
+        return self.mesh.GetFaceNormal(faceId,normalized)
 
     ## Returns an element based on all given nodes.
     #  @ingroup l1_meshinfo
 
     ## Returns an element based on all given nodes.
     #  @ingroup l1_meshinfo