]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
doc Adding doc for Volume
authorNicolas RECHATIN <nicolas.rechatin@cea.fr>
Mon, 2 Aug 2021 09:37:03 +0000 (11:37 +0200)
committerNicolas RECHATIN <nicolas.rechatin@cea.fr>
Mon, 2 Aug 2021 09:37:03 +0000 (11:37 +0200)
src/OperaPlugin/OperaPlugin_Plugin.h
src/OperaPlugin/OperaPlugin_Volume.h
src/OperaPlugin/OperaPlugin_msg_fr.ts
src/OperaPlugin/doc/OperaPlugin.rst [new file with mode: 0644]
src/OperaPlugin/doc/addvolumeFeature.rst [deleted file]
src/OperaPlugin/doc/example/volume.py [new file with mode: 0644]
src/OperaPlugin/doc/images/Volume1.png [new file with mode: 0644]
src/OperaPlugin/doc/images/Volume_button.png [new file with mode: 0644]
src/OperaPlugin/doc/images/Volume_create.png [new file with mode: 0644]
src/OperaPlugin/doc/volumeFeature.rst [new file with mode: 0644]

index b4fd54ca728ca4d64735f652ffaf09a7cea527b0..a68e29f2545928516c5438514f1bcb23e1f3af14 100644 (file)
@@ -26,7 +26,7 @@
 
 /**\class OperaPlugin_Plugin
  * \ingroup Plugins
- * \brief The main class managing Primitive Features as plugins.
+ * \brief The main class managing Opera Features as plugins.
  */
 class OPERAPLUGIN_EXPORT OperaPlugin_Plugin : public ModelAPI_Plugin
 {
index a31e921763c1b7cd5cbc4332964774d6bff30c89..75dcf614fe30bd9c44fe60f62c5ced76a4c34af0 100644 (file)
@@ -29,17 +29,15 @@ class ModelAPI_ResultBody;
 
 /**\class OperaPlugin_Volume
  * \ingroup Plugins
- * \brief Feature for creation of a box primitive using various methods.
+ * \brief Feature for creation of a Volume using solids.
  *
- * Box creates a cuboid - Parallelepiped with 6 rectangular faces. It can be built via three
- * methods : using two points that define a diagonal, a point that define a center and 3 lengths
- * that define the half-lengths on X, Y and Z-axes, or using 3 lengths that define the
- * rectangular dimensions.
+ * Volume creates Volume object - This volume takes selected solids shape
+ * and transform the result to a volume with a medium for OPERA.
  */
 class OperaPlugin_Volume : public ModelAPI_Feature
 {
   public:
-    /// Box kind
+    /// Volume kind
     inline static const std::string& ID()
     {
       static const std::string MY_VOLUME_ID("Volume");
@@ -72,11 +70,6 @@ class OperaPlugin_Volume : public ModelAPI_Feature
 
     /// Use plugin manager for features creation
     OperaPlugin_Volume();
-
-    private:
-    //
-    void loadNamingDS(std::shared_ptr<GeomAlgoAPI_Box> theBoxAlgo,
-                      std::shared_ptr<ModelAPI_ResultBody> theResultBox);
 };
 
 #endif
index 22d0de57f5bed891432a160f85a67128885d0db5..fe1f1dd05db947e03d44304a8a96e68a613a1854 100644 (file)
@@ -1,408 +1,3 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="fr_FR">
-
-  <context>
-    <name>workshop</name>
-    <message>
-      <source>Primitives</source>
-      <translation>Primitives</translation>
-    </message>
-    <message>
-      <source>Box</source>
-      <translation>Boîte</translation>
-    </message>
-    <message>
-      <source>Cone</source>
-      <translation>Cône</translation>
-    </message>
-    <message>
-      <source>Cylinder</source>
-      <translation>Cylindre</translation>
-    </message>
-    <message>
-      <source>Sphere</source>
-      <translation>Sphère</translation>
-    </message>
-    <message>
-      <source>Torus</source>
-      <translation>Tore</translation>
-    </message>
-  </context>
-
-  <context>
-    <name>Box</name>
-    <message>
-      <source>Box</source>
-      <translation>Boîte</translation>
-    </message>
-    <message>
-      <source>Create a box</source>
-      <translation>Créer une boîte</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:CreationMethod</name>
-    <message>
-      <source>By dimensions</source>
-      <translation>Par dimensions</translation>
-    </message>
-    <message>
-      <source>By two points</source>
-      <translation>Par deux points</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:FirstPoint</name>
-    <message>
-      <source>First point</source>
-      <translation>Premier point</translation>
-    </message>
-    <message>
-      <source>Select a first point</source>
-      <translation>Sélectionnez un premier point</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:FirstPoint</name>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez un premier point.</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:SecondPoint</name>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez un deuxième point.</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:SecondPoint</name>
-    <message>
-      <source>Second point</source>
-      <translation>Deuxième point</translation>
-    </message>
-    <message>
-      <source>Select a second point</source>
-      <translation>Sélectionnez un deuxième point</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:dx</name>
-    <message>
-      <source>DX</source>
-      <translation>DX</translation>
-    </message>
-    <message>
-      <source>Dimension in X</source>
-      <translation>Dimension en X</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:dy</name>
-    <message>
-      <source>DY</source>
-      <translation>DY</translation>
-    </message>
-    <message>
-      <source>Dimension in Y</source>
-      <translation>Dimension en Y</translation>
-    </message>
-  </context>
-  <context>
-    <name>Box:dz</name>
-    <message>
-      <source>DZ</source>
-      <translation>DZ</translation>
-    </message>
-    <message>
-      <source>Dimension in Z</source>
-      <translation>Dimension en Z</translation>
-    </message>
-  </context>
-
-  <context>
-    <name>Cone</name>
-    <message>
-      <source>Cone</source>
-      <translation>Cône</translation>
-    </message>
-    <message>
-      <source>Create a Cone</source>
-      <translation>Créer un cône</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:axis</name>
-    <message>
-      <source>Select the axis of the cone</source>
-      <translation>Sélectionnez l&apos;axe du cône</translation>
-    </message>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez l&apos;axe du cône</translation>
-    </message>
-    <message>
-      <source>axis</source>
-      <translation>axe</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:base_point</name>
-    <message>
-      <source>Select the center of the base of the cone</source>
-      <translation>Sélectionnez le centre de la base du cône</translation>
-    </message>
-    <message>
-      <source>base_point</source>
-      <translation>point de base</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:base_radius</name>
-    <message>
-      <source>Base radius</source>
-      <translation>Rayon de la base</translation>
-    </message>
-    <message>
-      <source>Enter the base radius of the cone</source>
-      <translation>Entrez le rayon de base du cône</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:height</name>
-    <message>
-      <source>Enter the height of the cone</source>
-      <translation>Entrez la hauteur du cône</translation>
-    </message>
-    <message>
-      <source>height</source>
-      <translation>hauteur</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:top_radius</name>
-    <message>
-      <source>Enter the top radius of the cone</source>
-      <translation>Entrez le rayon supérieur du cône</translation>
-    </message>
-    <message>
-      <source>Top radius</source>
-      <translation>Rayon supérieur</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:base_point</name>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez le centre de la base du cône.</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cone:base_point:GeomValidators_ConstructionComposite</name>
-    <message>
-      <source>The result is empty</source>
-      <translation>Le résultat est vide</translation>
-    </message>
-  </context>
-
-  <context>
-    <name>Cylinder</name>
-    <message>
-      <source>Create a cylinder</source>
-      <translation>Créer un cylindre</translation>
-    </message>
-    <message>
-      <source>Cylinder</source>
-      <translation>Cylindre</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:CreationMethod</name>
-    <message>
-      <source>Cylinder</source>
-      <translation>Cylindre</translation>
-    </message>
-    <message>
-      <source>Portion of cylinder</source>
-      <translation>Portion de cylindre</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:angle</name>
-    <message>
-      <source>Enter the angle of the portion of the cylinder</source>
-      <translation>Entrez l&apos;angle de la portion du cylindre</translation>
-    </message>
-    <message>
-      <source>angle</source>
-      <translation>angle</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:axis</name>
-    <message>
-      <source>Select the axis of the cylinder</source>
-      <translation>Sélectionnez l&apos;axe du cylindre.</translation>
-    </message>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez l&apos;axe du cylindre.</translation>
-    </message>
-    <message>
-      <source>axis</source>
-      <translation>axe</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:base_point</name>
-    <message>
-      <source>Select the center of the base of the cylinder</source>
-      <translation>Sélectionnez le centre de la base du cylindre</translation>
-    </message>
-    <message>
-      <source>base_point</source>
-      <translation>point de base</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:height</name>
-    <message>
-      <source>Enter the height of the cylinder</source>
-      <translation>Entrez la hauteur du cylindre</translation>
-    </message>
-    <message>
-      <source>height</source>
-      <translation>hauteur</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:radius</name>
-    <message>
-      <source>Enter the radius of the cylinder</source>
-      <translation>Entrez le rayon du cylindre</translation>
-    </message>
-    <message>
-      <source>radius</source>
-      <translation>rayon</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:base_point</name>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez le centre de la base du cylindre.</translation>
-    </message>
-  </context>
-  <context>
-    <name>Cylinder:base_point:GeomValidators_ConstructionComposite</name>
-    <message>
-      <source>The result is empty</source>
-      <translation>Le résultat est vide</translation>
-    </message>
-  </context>
-
-  <context>
-    <name>Sphere</name>
-    <message>
-      <source>Create a sphere</source>
-      <translation>Créer une sphère</translation>
-    </message>
-    <message>
-      <source>Sphere</source>
-      <translation>Sphère</translation>
-    </message>
-  </context>
-  <context>
-    <name>Sphere:center_point</name>
-    <message>
-      <source>Center point</source>
-      <translation>Point central</translation>
-    </message>
-    <message>
-      <source>Select a center point</source>
-      <translation>Sélectionnez un point central.</translation>
-    </message>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez un point central.</translation>
-    </message>
-  </context>
-  <context>
-    <name>Sphere:radius</name>
-    <message>
-      <source>Enter a radius</source>
-      <translation>Entrez un rayon</translation>
-    </message>
-    <message>
-      <source>Radius</source>
-      <translation>Rayon</translation>
-    </message>
-  </context>
-
-  <context>
-    <name>Torus</name>
-    <message>
-      <source>Create a Torus</source>
-      <translation>Créer un tore</translation>
-    </message>
-    <message>
-      <source>Torus</source>
-      <translation>Tore</translation>
-    </message>
-  </context>
-  <context>
-    <name>Torus:axis</name>
-    <message>
-      <source>Select the axis of the torus</source>
-      <translation>Sélectionnez l&apos;axe du tore.</translation>
-    </message>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez l&apos;axe du tore.</translation>
-    </message>
-    <message>
-      <source>axis</source>
-      <translation>axe</translation>
-    </message>
-  </context>
-  <context>
-    <name>Torus:base_point</name>
-    <message>
-      <source>Select the center of the torus</source>
-      <translation>Sélectionnez le centre du tore.</translation>
-    </message>
-    <message>
-      <source>Attribute "%1" is not initialized.</source>
-      <translation>Sélectionnez le centre du tore.</translation>
-    </message>
-    <message>
-      <source>base_point</source>
-      <translation>point de base</translation>
-    </message>
-  </context>
-  <context>
-    <name>Torus:radius</name>
-    <message>
-      <source>Enter the radius of the torus</source>
-      <translation>Entrez le rayon du tore</translation>
-    </message>
-    <message>
-      <source>Radius</source>
-      <translation>Rayon</translation>
-    </message>
-  </context>
-  <context>
-    <name>Torus:ring_radius</name>
-    <message>
-      <source>Enter the ring radius of the torus</source>
-      <translation>Entrez le rayon de l&apos;anneau du tore</translation>
-    </message>
-    <message>
-      <source>Ring radius</source>
-      <translation>Rayon de l&apos;anneau</translation>
-    </message>
-  </context>
-
-</TS>
+<TS version="2.0" language="fr_FR"></TS>
diff --git a/src/OperaPlugin/doc/OperaPlugin.rst b/src/OperaPlugin/doc/OperaPlugin.rst
new file mode 100644 (file)
index 0000000..41da0e5
--- /dev/null
@@ -0,0 +1,13 @@
+
+.. _operaPlugin:
+
+Opera plug-in
+==================
+
+The Opera plug-in contains features for creation of Opera items. Result of each feature is a solid. The plug-in includes the following features:
+
+.. toctree::
+   :titlesonly:
+   :maxdepth: 1
+
+   volumeFeature.rst
diff --git a/src/OperaPlugin/doc/addvolumeFeature.rst b/src/OperaPlugin/doc/addvolumeFeature.rst
deleted file mode 100644 (file)
index e91466c..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-.. |Box_button.icon|    image:: images/Box_button.png
-
-Box
-===
-
-Box feature creates a box solid.
-
-To create a Box in the active part:
-
-#. select in the Main Menu *Primitives - > Box* item  or
-#. click |Box_button.icon| **Box** button in the toolbar:
-
-There are 3 algorithms for creation of a Box:
-
-.. figure:: images/box_dxyz_32x32.png
-   :align: left
-   :height: 24px
-
-**By dimensions** 
-
-.. figure:: images/box_2pt_32x32.png
-   :align: left
-   :height: 24px
-
-**By two points** 
-
-.. figure:: images/box_pt_dxyz_32x32.png
-   :align: left
-   :height: 24px
-
-**By coordinates of a point and dimensions** 
-
---------------------------------------------------------------------------------
-
-By dimensions
--------------
-
-Box is created by dimensions along X, Y, Z axis starting from the origin.
-
-.. figure:: images/Box_dimensions.png
-   :align: center
-
-Input fields:
-
-- **DX**, **DY**, **DZ** define dimensions of the box along the corresponding coordinate axes. 
-
-**TUI Command**:
-
-.. py:function:: model.addBox(Part_doc, DX, DY, DZ)
-  
-    :param part: The current part object.
-    :param real: Size along X.
-    :param real: Size along Y.
-    :param real: Size along Z.
-    :return: Result object.
-
-Result
-""""""
-
-A solid box based on the origin of coordinates and with edges parallel to the coordinate axes.
-
-.. figure:: images/Box1.png
-   :align: center
-
-**See Also** a sample TUI Script of a :ref:`tui_create_boxdim` operation.
-
-By two points
--------------
-
-Box is created by two points of the box diagonal.
-
-.. figure:: images/Box_2points.png
-   :align: center
-
-Input fields:
-
-- **Point 1** and **Point 2**  define diagonal points of the box selected in 3D OCC viewer or object browser.
-  
-**TUI Command**:
-
-.. py:function:: model.addBox(Part_doc, point1, point2)
-
-    :param part: The current part object.
-    :param object: First vertex of diagonal.
-    :param object: Second vertex of diagonal.
-    :return: Result object.
-
-Result
-""""""
-
-A solid box based on two points and with edges parallel to the coordinate axes.
-
-.. figure:: images/Box2.png
-   :align: center
-                  
-   Created boxes
-
-**See Also** a sample TUI Script of :ref:`tui_create_boxpnt` operation.
-
-By coordinates of a point and dimensions
-----------------------------------------
-
-Box is created by dimensions along X, Y, Z axis starting from the point of coordinates (x,y,z).
-
-.. figure:: images/Box_ptAndDims.png
-   :align: center
-
-Input fields:
-
-- **OX**, **OY**, **OZ** define coordinates of the center of box.
-- **DX**, **DY**, **DZ** define dimensions (hafl length) of the box along the corresponding coordinate axes.
-  
-**TUI Command**:
-
-.. py:function:: model.addBox(Part_doc, OX, OY, OZ, DX, DY, DZ)
-
-    :param part: The current part object.
-    :param real: X coordinate of the center point
-    :param real: Y coordinate of the center point
-    :param real: Z coordinate of the center point
-    :param real: Half size along X.
-    :param real: Half size along Y.
-    :param real: Half size along Z.
-    :return: Result object.
-
-Result
-""""""
-
-A solid box whose point coordinates are the center and the dimensions are half lengths on one side and the other on the axes relative to the center.
-
-.. figure:: images/Box3.png
-   :align: center
-                  
-   Created boxes
-
-**See Also** a sample TUI Script of :ref:`tui_create_boxptdim` operation.
diff --git a/src/OperaPlugin/doc/example/volume.py b/src/OperaPlugin/doc/example/volume.py
new file mode 100644 (file)
index 0000000..a21ef53
--- /dev/null
@@ -0,0 +1,12 @@
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+Volume_1 = model.addVolume(Part_1_doc, "Air", [model.selection("SOLID", "Box_1_1")])
+
+model.do()
+model.end()
diff --git a/src/OperaPlugin/doc/images/Volume1.png b/src/OperaPlugin/doc/images/Volume1.png
new file mode 100644 (file)
index 0000000..4e8a1d2
Binary files /dev/null and b/src/OperaPlugin/doc/images/Volume1.png differ
diff --git a/src/OperaPlugin/doc/images/Volume_button.png b/src/OperaPlugin/doc/images/Volume_button.png
new file mode 100644 (file)
index 0000000..aaa604a
Binary files /dev/null and b/src/OperaPlugin/doc/images/Volume_button.png differ
diff --git a/src/OperaPlugin/doc/images/Volume_create.png b/src/OperaPlugin/doc/images/Volume_create.png
new file mode 100644 (file)
index 0000000..a4e64a2
Binary files /dev/null and b/src/OperaPlugin/doc/images/Volume_create.png differ
diff --git a/src/OperaPlugin/doc/volumeFeature.rst b/src/OperaPlugin/doc/volumeFeature.rst
new file mode 100644 (file)
index 0000000..f354168
--- /dev/null
@@ -0,0 +1,39 @@
+.. |Volume_button.icon|    image:: images/Volume_button.png
+
+Volume feature creates a box solid.
+
+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
+   :align: center
+
+Input fields:
+
+- **MEDIUM**, **VOLUME_LIST** define medium and shapes of the volume.
+
+**TUI Command**:
+
+.. py:function:: model.addVolume(Part_doc, MEDIUM, VOLUME_LIST)
+
+    :param part: The current part object.
+    :param real: Medium name.
+    :param real: List of solids.
+    :return: Result object.
+
+Result
+""""""
+
+One solid for each selected solid in the volume list with according medium
+
+.. figure:: images/Volume1.png
+   :align: center