]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
fix Volume documentation and test
authorNicolas RECHATIN <nicolas.rechatin@cea.fr>
Tue, 3 Aug 2021 07:56:14 +0000 (09:56 +0200)
committerNicolas RECHATIN <nicolas.rechatin@cea.fr>
Tue, 3 Aug 2021 07:56:14 +0000 (09:56 +0200)
src/OperaAPI/OperaAPI_Volume.cpp
src/OperaAPI/OperaAPI_Volume.h
src/OperaPlugin/CMakeLists.txt
src/OperaPlugin/OperaPlugin_Plugin.cpp
src/OperaPlugin/OperaPlugin_Volume.cpp
src/OperaPlugin/OperaPlugin_Volume.h
src/OperaPlugin/Test/TestVolume.py
src/OperaPlugin/doc/TUI_volume.rst [new file with mode: 0644]
src/OperaPlugin/doc/volumeFeature.rst
src/OperaPlugin/plugin-Opera.xml

index b216ec67eac4cc57d1da4343d0f046d3ea74bf95..2612060d15a19c3f52b0b53abd5c8d0724ed0159 100644 (file)
@@ -58,7 +58,7 @@ OperaAPI_Volume::~OperaAPI_Volume() {}
 //==================================================================================================
 void OperaAPI_Volume::setMedium(const ModelHighAPI_Double& theMedium)
 {
-  fillAttribute(OperaPlugin_Volume::MEDIUM(), medium());
+  fillAttribute(OperaPlugin_Volume::MEDIUM_ID(), medium());
   execute();
 }
 
@@ -75,7 +75,7 @@ void OperaAPI_Volume::dump(ModelHighAPI_Dumper& theDumper) const
   FeaturePtr aBase = feature();
   const std::string& aDocName = theDumper.name(aBase->document());
 
-  AttributeStringPtr anAttrMedium = aBase->string(OperaPlugin_Volume::MEDIUM());
+  AttributeStringPtr anAttrMedium = aBase->string(OperaPlugin_Volume::MEDIUM_ID());
   theDumper << aBase << " = model.addVolume(" << aDocName << ", " << anAttrMedium << ", ";
 
   AttributeSelectionListPtr anAttrList = aBase->selectionList(OperaPlugin_Volume::VOLUME_LIST_ID());
index 11df68c11f307742ea576756bb5ecc95c88c9b00..46842b0181a2e4d8fbdd2fae5147e15f2af16eb8 100644 (file)
@@ -50,7 +50,7 @@ public:
   virtual ~OperaAPI_Volume();
 
   INTERFACE_2(OperaPlugin_Volume::ID(),
-              medium, OperaPlugin_Volume::MEDIUM(),
+              medium, OperaPlugin_Volume::MEDIUM_ID(),
               ModelAPI_AttributeString, /** Volume medium */,
               volumeList, OperaPlugin_Volume::VOLUME_LIST_ID(),
               ModelAPI_AttributeSelectionList, /** Group list*/)
index 7988af5340df1ea7435fe5880b39b1d3ac75b780..a1f7fd6002df40552a1e1df478d468f9b99bc432 100644 (file)
@@ -69,7 +69,7 @@ ADD_UNIT_TESTS(${TEST_NAMES})
 
 if(${HAVE_SALOME})
   enable_testing()
-  set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/CollectionPlugin")
+  set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/OperaPlugin")
 
   install(FILES CTestTestfileInstall.cmake
   DESTINATION ${TEST_INSTALL_DIRECTORY}
index 25c7762ecf4187b6ee558f1efc5048c678a7a5b2..e5791e5167693f05bd81bf9b18f5cc653c9a0ab7 100644 (file)
@@ -40,8 +40,6 @@ FeaturePtr OperaPlugin_Plugin::createFeature(std::string theFeatureID)
   if (theFeatureID == OperaPlugin_Volume::ID()) {
     return FeaturePtr(new OperaPlugin_Volume);
   } else {
-    // else if (theFeatureID == OperaPlugin_addNode::ID()){
-    // return FeaturePtr(new OperaPlugin_addNode);
     return FeaturePtr();
   }
 }
index 1a285745ece222a5eacf9cb7a49653a6b66a543e..4c41960aec2a53b6f078ef494f1ea1209d0bebfd 100644 (file)
@@ -63,7 +63,7 @@ static GeomShapePtr shapeOfSelection(AttributeSelectionPtr theSel) {
 void OperaPlugin_Volume::initAttributes()
 {
   // Get Medium
-  data()->addAttribute(MEDIUM(), ModelAPI_AttributeString::typeId());
+  data()->addAttribute(MEDIUM_ID(), ModelAPI_AttributeString::typeId());
 
   // Get Objects
   data()->addAttribute(VOLUME_LIST_ID(), ModelAPI_AttributeSelectionList::typeId());
@@ -72,7 +72,7 @@ void OperaPlugin_Volume::initAttributes()
 //=================================================================================================
 void OperaPlugin_Volume::execute()
 {
-  std::string aCopiesMedium = string(MEDIUM())->value();
+  std::string aCopiesMedium = string(MEDIUM_ID())->value();
   if (aCopiesMedium.empty())
   {
     setError("Error: Medium cannot be empty.");
index 75dcf614fe30bd9c44fe60f62c5ced76a4c34af0..e48e2ff5bcf01120310ef4e3efdb94a0b36bb65c 100644 (file)
@@ -43,7 +43,7 @@ class OperaPlugin_Volume : public ModelAPI_Feature
       static const std::string MY_VOLUME_ID("Volume");
       return MY_VOLUME_ID;
     }
-    inline static const std::string& MEDIUM()
+    inline static const std::string& MEDIUM_ID()
     {
       static const std::string MY_MEDIUM_ID("medium");
       return MY_MEDIUM_ID;
index bd6d2bccf6679ab2c5118844f1dbcdd571d38abe..f85f3246dbf7e64b1f970f813f64913b8f09a000 100755 (executable)
@@ -45,7 +45,7 @@ Sphere_1 = model.addSphere(Part_1_doc, model.selection("VERTEX", "PartSet/Origin
 Volume_1 = model.addVolume(Part_1_doc, "Air", [model.selection("SOLID", "Box_1_1")])
 
 ### Create a volume from the cylinder and the sphere
-Volume_2 = model.addVolume(Part_1_doc, "Concrete", [model.selection("SOLID", "Cylinder_1_1"), model.selection("SOLID", "Sphere_1_1")])
+Volume_2 = model.addVolume(Part_1_doc, "Eau", [model.selection("SOLID", "Cylinder_1_1"), model.selection("SOLID", "Sphere_1_1")])
 
 #Checks
 from GeomAPI import GeomAPI_Shape
diff --git a/src/OperaPlugin/doc/TUI_volume.rst b/src/OperaPlugin/doc/TUI_volume.rst
new file mode 100644 (file)
index 0000000..f136686
--- /dev/null
@@ -0,0 +1,11 @@
+
+  .. tui_create_volume:
+
+Create Box by points
+====================
+
+.. literalinclude:: examples/volume.py
+    :linenos:
+    :language: python
+
+:download:`Download this script <examples/volume.py>`
index f3541686eecee82fef86d44c315da9b2f81e3039..66aa642856692fc8914369c65cfbadf94cda6b9d 100644 (file)
@@ -1,5 +1,8 @@
 .. |Volume_button.icon|    image:: images/Volume_button.png
 
+Volume
+-------------
+
 Volume feature creates a box solid.
 
 To create a Volume in the active part:
@@ -7,11 +10,6 @@ To create a Volume in the active part:
 #. select in the Main Menu *Opera - > Volume* item  or
 #. click |Volume_button.icon| **Volume** button in the toolbar:
 
---------------------------------------------------------------------------------
-
-by Medium and Solids
--------------
-
 Volume is created by a Medium value and a list of solids
 
 .. figure:: images/Volume_create.png
@@ -23,11 +21,11 @@ Input fields:
 
 **TUI Command**:
 
-.. py:function:: model.addVolume(Part_doc, MEDIUM, VOLUME_LIST)
+.. py:function:: model.addVolume(Part_doc, MediumString, model.selection["SOLID", "...", ...])
 
     :param part: The current part object.
-    :param real: Medium name.
-    :param real: List of solids.
+    :param string: Medium name.
+    :param list: List of solids.
     :return: Result object.
 
 Result
@@ -37,3 +35,5 @@ One solid for each selected solid in the volume list with according medium
 
 .. figure:: images/Volume1.png
    :align: center
+
+**See Also** a sample TUI Script of :ref:`tui_create_volume` operation.
index 9691814c650344c99fae7217ff88cf04ae023b27..f16bf394b0218e0cfd07a44f8b4324de15645942 100644 (file)
@@ -1,8 +1,7 @@
 <plugin>
   <workbench id="Opera" document="Part">
     <group id="Opera">
-      <feature
-               id="Volume"
+      <feature id="Volume"
                title="Volume"
                tooltip="Create a volume"
                icon="icons/Opera/Volume.png"