Salome HOME
Copyright update 2021
[modules/shaper.git] / src / ConstructionPlugin / point_widget.xml
index 35397224fd39560d15d452003f5c72c4e8d6cae4..1acb33893c524be2a192ec07d6c55c0a2962f295 100644 (file)
@@ -1,7 +1,217 @@
 <source>
-  <doublevalue id="x" label="X:" max="50" step="1.0" default="0" icon=":pictures/x_point.png" tooltip="Set X">
-    <validator id="between" parameters="a,b"/> 
-  </doublevalue>
-  <doublevalue id="y" label="Y:" min="x" default="1" icon=":pictures/y_point.png" tooltip="Set Y"/>
-  <doublevalue id="z" label="Z:" min="-20" step="0.1" default="2" icon=":pictures/z_point.png" tooltip="Set Z"/>
+  <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">
+      <point_input id="point3d" default="0;0;0"/>
+    </box>
+    <box id="by_distance_on_edge"
+         title="By distance on edge"
+         tooltip="Point on an edge, at a given distance of one of its end."
+         icon="icons/Construction/point_by_distance_on_edge_32x32.png">
+      <shape_selector id="edge"
+                      label="Edge"
+                      tooltip="Edge for creating point on it."
+                      icon="icons/Construction/edge.png"
+                      shape_types="edge">
+        <validator id="GeomValidators_Finite"/>
+        <validator id="ConstructionPlugin_ValidatorNotFeature"/>
+      </shape_selector>
+      <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 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_to_project"
+                      label="Point"
+                      tooltip="Point for projection."
+                      icon="icons/Construction/point.png"
+                      shape_types="vertex">
+      </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>