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 92a3cd3..abce2bb 100644 (file)
@@ -931,7 +931,7 @@ module SMESH
     /*!
      * 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.
index b47ae9b..139262a 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.
 //=======================================================================
 
-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();
@@ -4058,7 +4059,7 @@ SMESH::double_array* SMESH_Mesh_i::GetFaceNormal(CORBA::Long  elemId)
   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();
index 7b1fdc4..f833475 100644 (file)
@@ -538,7 +538,7 @@ public:
   /*!
    * 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.
index 4e7c418..41791ff 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
-    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