Salome HOME
Copyright update 2021
[modules/shaper.git] / src / ConstructionPlugin / point_widget.xml
index 230aac45a3f728b9f939617709f0080a9287dab7..1acb33893c524be2a192ec07d6c55c0a2962f295 100644 (file)
@@ -1,26 +1,10 @@
-<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
-
 <source>
   <toolbox id="creation_method">
     <box id="by_xyz"
          title="By X, Y, Z"
          tooltip="Point at a given distance from the origin."
          icon="icons/Construction/point_by_xyz_32x32.png">
-      <doublevalue id="x"
-                   label="X "
-                   tooltip="X coordinate."
-                   icon="icons/Construction/x_size.png"
-                   default="0"/>
-      <doublevalue id="y"
-                   label="Y "
-                   tooltip="Y coordinate."
-                   icon="icons/Construction/y_size.png"
-                   default="0"/>
-      <doublevalue id="z"
-                   label="Z "
-                   tooltip="Z coordinate."
-                   icon="icons/Construction/z_size.png"
-                   default="0"/>
+      <point_input id="point3d" default="0;0;0"/>
     </box>
     <box id="by_distance_on_edge"
          title="By distance on edge"
                       icon="icons/Construction/edge.png"
                       shape_types="edge">
         <validator id="GeomValidators_Finite"/>
+        <validator id="ConstructionPlugin_ValidatorNotFeature"/>
       </shape_selector>
-      <groupbox title="Distance">
-        <doublevalue id="value"
-                     label="Value"
-                     tooltip="Distance value."
-                     icon="icons/Construction/distance_value.png"
-                     default="50"/>
-        <boolvalue id="percent"
-                   label="Percent(%)"
-                   tooltip="Distance in percent from length."
-                   default="true"/>
-      </groupbox>
+      <radiobox id="offset_type">
+        <radio id="offset_type_by_distance"
+             title="Distance on edge by value"
+             tooltip="Point on an edge, at a given distance specified by value."
+             icon="icons/Construction/point_by_distance_on_edge_24x24.png">
+          <doublevalue id="distance"
+             label="Distance"
+             tooltip="Distance value."
+             min="0.0"
+             default="10">
+          </doublevalue>
+        </radio>
+        <radio id="offset_type_by_ratio"
+             title="Distance on edge by ratio"
+             tooltip="Point on an edge, at a given distance specified by ratio."
+             icon="icons/Construction/point_by_ratio_on_edge_24x24.png">
+          <doublevalue id="ratio"
+             label="Ratio"
+             tooltip="Ratio value."
+             min="0.0"
+             max="1.0"
+             step="0.1"
+             default="0.5">
+          </doublevalue>
+        </radio>
+      </radiobox>
       <boolvalue id="reverse"
            label="Reverse"
            tooltip="Distance from edge end point."
            default="false"/>
     </box>
     <box id="by_projection"
-         title="By projection"
-         tooltip="Point on face surface by projection selected point."
+         title="By projection on edge or plane"
+         tooltip="Point on edge or plane by projection selected point."
          icon="icons/Construction/point_by_projection_32x32.png">
-      <shape_selector id="point"
+      <shape_selector id="point_to_project"
                       label="Point"
                       tooltip="Point for projection."
                       icon="icons/Construction/point.png"
                       shape_types="vertex">
       </shape_selector>
-      <shape_selector id="plane"
-                      label="Plane"
-                      tooltip="Plane for projection."
-                      icon="icons/Construction/face.png"
-                      shape_types="face">
-        <validator id="GeomValidators_Face" parameters="plane"/>
-      </shape_selector>
+      <toolbox id="projection_type">
+        <box id="projection_type_on_edge"
+             title="By projection on edge"
+             tooltip="Point on edge by projection selected point."
+             icon="icons/Construction/point_by_projection_on_edge_24x24.png">
+          <shape_selector id="edge_for_point_projection"
+                          label="edge"
+                          tooltip="Edge for projection."
+                          icon="icons/Construction/edge.png"
+                          shape_types="edge">
+          </shape_selector>
+        </box>
+        <box id="projection_type_on_face"
+             title="By projection on face"
+             tooltip="Point on face surface by projection selected point."
+             icon="icons/Construction/point_by_projection_on_face_24x24.png">
+          <shape_selector id="face_for_point_projection"
+                          label="face"
+                          tooltip="Face for projection."
+                          icon="icons/Construction/face.png"
+                          shape_types="face">
+            <validator id="GeomValidators_Face" parameters="plane"/>
+          </shape_selector>
+        </box>
+      </toolbox>
+    </box>
+    <box id="by_intersection"
+         title="By intersection of objects"
+         tooltip="Point on intersection of different objects."
+         icon="icons/Construction/point_by_intersection_32x32.png">
+      <toolbox id="intersection_type">
+        <box id="intersection_type_by_lines"
+             title="By two lines intersection"
+             tooltip="Point by intersection of two coplanar lines."
+             icon="icons/Construction/point_by_lines_intersection_24x24.png">
+          <shape_selector id="intersection_line_1"
+                          label="First line"
+                          tooltip="First line."
+                          icon="icons/Construction/edge.png"
+                          shape_types="edge">
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
+            <validator id="ConstructionPlugin_ValidatorPointLines"
+                       parameters="intersection_line_2"/>
+          </shape_selector>
+          <shape_selector id="intersection_line_2"
+                          label="Second line"
+                          tooltip="Second line."
+                          icon="icons/Construction/edge.png"
+                          shape_types="edge">
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
+            <validator id="ConstructionPlugin_ValidatorPointLines"
+                       parameters="intersection_line_1"/>
+          </shape_selector>
+        </box>
+        <box id="intersection_type_by_line_and_plane"
+             title="By line and plane intersection"
+             tooltip="Point by intersection of line and plane."
+             icon="icons/Construction/point_by_line_and_plane_intersection_24x24.png">
+          <shape_selector id="intersection_line"
+                          label="Line"
+                          tooltip="Line for intersection."
+                          icon="icons/Construction/edge.png"
+                          shape_types="edge"
+                          geometrical_selection="true">
+            <validator id="ConstructionPlugin_ValidatorPointEdgeAndPlaneNotParallel"
+                       parameters="intersection_plane"/>
+          </shape_selector>
+          <shape_selector id="intersection_plane"
+                          label="Plane"
+                          tooltip="Plane for intersection."
+                          icon="icons/Construction/face.png"
+                          shape_types="face"
+                          geometrical_selection="true">
+            <validator id="GeomValidators_Face" parameters="plane"/>
+            <validator id="ConstructionPlugin_ValidatorPointEdgeAndPlaneNotParallel"
+                       parameters="intersection_line"/>
+          </shape_selector>
+          <optionalbox id="use_offset" title="Offset from the plane">
+            <doublevalue id="offset"
+                         label="Distance "
+                         tooltip="Distance from the plane"
+                         min="0"
+                         default="0"/>
+            <boolvalue id="reverse_offset"
+                       label="Reverse"
+                       tooltip="Reverse offset value"
+                       default="false"/>
+          </optionalbox>
+        </box>
+        <box id="intersection_type_by_planes"
+             title="By three planes intersection"
+             tooltip="Point by intersection of three planes."
+             icon="icons/Construction/point_by_planes_intersection_24x24.png">
+          <shape_selector id="intersection_plane_1"
+                          label="1st plane"
+                          tooltip="Select a planar face."
+                          icon="icons/Construction/face.png"
+                          shape_types="face">
+            <validator id="GeomValidators_Face" parameters="plane"/>
+            <validator id="ConstructionPlugin_ValidatorPointThreeNonParallelPlanes"
+                       parameters="intersection_plane_2, intersection_plane_3"/>
+          </shape_selector>
+          <shape_selector id="intersection_plane_2"
+                          label="2nd plane"
+                          tooltip="Select a planar face."
+                          icon="icons/Construction/face.png"
+                          shape_types="face">
+            <validator id="GeomValidators_Face" parameters="plane"/>
+            <validator id="ConstructionPlugin_ValidatorPointThreeNonParallelPlanes"
+                       parameters="intersection_plane_1, intersection_plane_3"/>
+          </shape_selector>
+          <shape_selector id="intersection_plane_3"
+                          label="3rd plane"
+                          tooltip="Select a planar face."
+                          icon="icons/Construction/face.png"
+                          shape_types="face">
+            <validator id="GeomValidators_Face" parameters="plane"/>
+            <validator id="ConstructionPlugin_ValidatorPointThreeNonParallelPlanes"
+                       parameters="intersection_plane_1, intersection_plane_2"/>
+          </shape_selector>
+        </box>
+        </toolbox>
+    </box>
+    <box id="by_geometrical_property"
+         title="By geometrical property of object"
+         tooltip="Point by center of gravity or center of circle."
+         icon="icons/Construction/point_by_geometrical_property_32x32.png">
+      <toolbox id="geometrical_property_type">
+        <box id="geometrical_property_type_by_center_of_gravity"
+             title="By center of gravity"
+             tooltip="Point by center of gravity."
+             icon="icons/Construction/point_by_center_of_gravity_24x24.png">
+          <shape_selector id="object_for_center_of_gravity"
+                          label="Object"
+                          tooltip="Object for center of gravity."
+                          icon="icons/Construction/shapes.png"
+                          shape_types="vertices edges wires faces shells solids compsolids compounds">
+            <validator id="GeomValidators_Finite"/>
+          </shape_selector>
+        </box>
+        <box id="geometrical_property_type_by_center_of_circle"
+             title="By center of circle"
+             tooltip="Point by center of circle."
+             icon="icons/Construction/point_by_center_of_circle_24x24.png">
+          <shape_selector id="object_for_center_of_circle"
+                          label="Object"
+                          tooltip="Object for center of circle."
+                          icon="icons/Construction/edge.png"
+                          shape_types="edges">
+            <validator id="GeomValidators_ShapeType" parameters="circle"/>
+          </shape_selector>
+        </box>
+      </toolbox>
     </box>
   </toolbox>
 </source>