]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Add unit test
authorJérôme <jerome.lucas@cesgenslab.fr>
Tue, 17 Nov 2020 18:24:09 +0000 (19:24 +0100)
committerJérôme <jerome.lucas@cesgenslab.fr>
Tue, 17 Nov 2020 18:24:09 +0000 (19:24 +0100)
src/FeaturesAPI/FeaturesAPI_PointCoordinates.cpp
src/FeaturesAPI/FeaturesAPI_PointCoordinates.h
src/FeaturesPlugin/CMakeLists.txt
src/FeaturesPlugin/Test/TestPointCoordinates.py [new file with mode: 0644]
src/PythonAPI/model/features/__init__.py

index d8fdb693023519f6539ee6f93754f0677f96c774..f4805ac22be129b98c2254a01077a4440ec19817 100644 (file)
@@ -24,8 +24,8 @@
 #include <ModelHighAPI_Services.h>
 #include <ModelHighAPI_Tools.h>
 
-std::list<double>  pointCoordinates(const std::shared_ptr<ModelAPI_Document>& thePart,
-                                    const ModelHighAPI_Selection& thePoint)
+std::list<double>  getPointCoordinates(const std::shared_ptr<ModelAPI_Document>& thePart,
+                                       const ModelHighAPI_Selection& thePoint)
 {
   FeaturePtr aPointCoodFeat = thePart->addFeature(FeaturesPlugin_PointCoordinates::ID());
 
index 2c1abfa761c97ef0a577834f7e4acbafe3c4198b..b6d502d38da891b792c68d6b7299912d956b82e3 100644 (file)
@@ -29,9 +29,9 @@ class ModelAPI_Document;
 class ModelHighAPI_Selection;
 
 /// \ingroup CPPHighAPI
-/// \brief ???
+/// \brief  Get the point coordinates.
 FEATURESAPI_EXPORT
-std::list<double> pointCoordinates(const std::shared_ptr<ModelAPI_Document>& thePart,
-                                   const ModelHighAPI_Selection& thePoint);
+std::list<double> getPointCoordinates(const std::shared_ptr<ModelAPI_Document>& thePart,
+                                      const ModelHighAPI_Selection& thePoint);
 
 #endif // FeaturesAPI_PointCoordinates_H_
index d6fb6ae6c2595d6961e05984f64cfcb23229d5fe..ada07caa6fd25fc439e151959e626e8a24cc52a1 100644 (file)
@@ -701,4 +701,5 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestFillet1D_Wire_3.py
                TestFillet1D_Wire_4.py
                TestFillet1D_Wire_5.py
+               TestPointCoordinates.py
 )
diff --git a/src/FeaturesPlugin/Test/TestPointCoordinates.py b/src/FeaturesPlugin/Test/TestPointCoordinates.py
new file mode 100644 (file)
index 0000000..8b5c5b9
--- /dev/null
@@ -0,0 +1,73 @@
+# Copyright (C) 2014-2020  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+"""
+      Unit test of ...
+"""
+#=========================================================================
+# Initialization of the test
+#=========================================================================
+
+import os
+import math
+
+from salome.shaper import model
+
+__updated__ = "2020-11-12"
+
+#=========================================================================
+# test get point coordinates
+#=========================================================================
+def test_point_coordinates():
+
+    model.begin()
+    file_path = os.path.join(os.getenv("DATA_DIR"),"Shapes","Brep","box1.brep")
+    partSet = model.moduleDocument()
+    Part_1 = model.addPart(partSet)
+    Part_1_doc = Part_1.document()
+    Import_1 = model.addImport(Part_1_doc,file_path)
+    model.do()
+    
+    myDelta = 1e-6
+    coordinates = model.getPointCoordinates(Part_1_doc,model.selection("VERTEX", "[box1_1/Shape_2][box1_1/Shape_3][box1_1/Shape_6]"))
+
+    print(" x: ", coordinates[0])
+    print(" y: ", coordinates[1])
+    print(" z: ", coordinates[2]) 
+
+    aRef = 200
+    aRes = coordinates[0]
+    assert (math.fabs(aRes - aRef) < myDelta), "The coordinate X is wrong: expected = {0}, real = {1}".format(aRef, aRes)
+
+    aRef = 0
+    aRes= coordinates[1]
+    assert (math.fabs(aRes - aRef) < myDelta), "The coordinate Y is wrong: expected = {0}, real = {1}".format(aRef, aRes)
+
+    aRef = 200
+    aRes = coordinates[2]
+    assert (math.fabs(aRes - aRef) < myDelta), "The coordinate Z is wrong: expected = {0}, real = {1}".format(aRef, aRes)
+
+    
+if __name__ == '__main__':
+
+    test_point_coordinates()
+        
+    #=========================================================================
+    # End of test
+    #=========================================================================
index d0dbeb2c61c323bec1fef93405fe0c50f2b7fc79..41f3e1e8e66bd2d0042284791c782cff13284a20 100644 (file)
@@ -30,7 +30,7 @@ from FeaturesAPI import addRecover
 from FeaturesAPI import addFillet, addChamfer
 from FeaturesAPI import addFusionFaces
 from FeaturesAPI import measureLength, measureDistance, measureRadius, measureAngle
-from FeaturesAPI import pointCoordinates
+from FeaturesAPI import getPointCoordinates
 from FeaturesAPI import addRemoveResults
 from FeaturesAPI import addCopy, addImportResult
 from FeaturesAPI import addDefeaturing