Salome HOME
Merge branch 'master' into Dev_1.1.0
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index 81c396a779e844a8e6eb2345786d218b3a022fc5..af51a5dd6164706a677181ba402fd625d2910d1c 100644 (file)
@@ -5,40 +5,47 @@
     <group id="Basic">
       <feature
         id="Sketch"
-        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid"
+        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet"
+        when_nested="accept abort"
         title="Sketch"
         tooltip="Create a new sketch"
         icon=":icons/sketch.png">
-        <sketch-start-label title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch"/> 
+        <sketch-start-label id="External" title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch">
+          <validator id="GeomValidators_Face" parameters="plane"/>
+        </sketch-start-label>
       <!--icon=":pictures/x_point.png"-->
       </feature>
       <feature id="SketchPoint" title="Point" tooltip="Create a new point" icon=":icons/point.png">
         <sketch-2dpoint_selector id="PointCoordindates" title="Point" tooltip="Point coordinates"/>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
       </feature>
       <feature id="SketchLine" title="Line" tooltip="Create a new line" icon=":icons/line.png">
         <sketch-2dpoint_selector id="StartPoint" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
         <sketch-2dpoint_selector id="EndPoint" title="End point" tooltip="End point coordinates"/>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
       </feature>
       <feature id="SketchCircle" title="Circle" tooltip="Create a new circle" icon=":icons/circle.png">
         <sketch-2dpoint_selector id="CircleCenter" title="Center" tooltip="Center coordinates"/>
         <point2ddistance id="CircleRadius" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set radius">
           <validator id="GeomValidators_Positive"/>
         </point2ddistance>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
       </feature>
       <feature id="SketchArc" title="Arc" tooltip="Create a new arc" icon=":icons/arc.png">
         <sketch-2dpoint_selector id="ArcCenter" title="Center" tooltip="Center of a circle"/>
         <sketch-2dpoint_selector id="ArcStartPoint" title="Start point" tooltip="Start point"/>
         <sketch-2dpoint_selector id="ArcEndPoint" title="End point" tooltip="End point"/>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
       </feature>
     </group>
-         
+      
     <group id="Constraints">
       <feature
         id="SketchConstraintCoincidence"
         title="Coincident"
         tooltip="Create constraint for the coincidence of two points"
         internal="1" />
-       <!--  SketchConstraintDistance  -->
+    <!--  SketchConstraintDistance  -->
       <feature
         id="SketchConstraintDistance"
         title="Distance"
               label="First object"
               tooltip="Select point, line end point, line, center of circle or arc."
               shape_types="edge vertex">
-          <selection_filter id="MultiFilter" parameters="line,vertex"/>
+          <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityB"/>
+          <validator id="GeomValidators_EdgeOrVertex"/>
         </sketch_shape_selector>/>
-               <sketch_shape_selector 
+        <sketch_shape_selector 
           id="ConstraintEntityB" 
           label="Last object" 
           tooltip="Select point, line end point, line, center of circle or arc." 
+          shape_types="edge vertex">
+          <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
+          <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityA"/>
+          <validator id="GeomValidators_EdgeOrVertex"/>
+        </sketch_shape_selector>
+ <!--
+ TODO(nds): v1.0.2, master  
                            shape_types="edge vertex">
                        <validator id="PartSet_DifferentObjects"/>
       <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
     </sketch_shape_selector>
                
         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
+ -->
         
-               <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
+        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
+        
+        <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
           <validator id="GeomValidators_Positive"/>
         </doublevalue_editor>
         
-               <validator id="PartSet_DistanceValidator"/>
+        <validator id="PartSet_DistanceValidator"/>
       </feature>
-       <!--  SketchConstraintLength  -->      
+    <!--  SketchConstraintLength  -->      
       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon=":icons/length.png">
         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
-               <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" 
-                       shape_types="edge" >
-                       <validator id="SketchPlugin_ResultLine"/>
-      <selection_filter id="EdgeFilter" parameters="line"/>
+        <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" 
+            shape_types="edge" >
+        <validator id="GeomValidators_Edge" parameters="line"/>
     </shape_selector>
-        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
+        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
           <validator id="GeomValidators_Positive"/>
         </doublevalue_editor>
         <validator id="PartSet_LengthValidator"/>
       </feature>
-       <!--  SketchConstraintRadius  -->
+    <!--  SketchConstraintRadius  -->
       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon=":icons/radius_constr.png">
         <label title="Select a circle or an arc on which to calculate radius" tooltip="Select a circle or an arc on which to calculate radius"/>
-               <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc" 
-                       shape_types="edge">
-                       <validator id="SketchPlugin_ResultArc"/>
-                       <selection_filter id="EdgeFilter" parameters="circle"/>
-               </shape_selector>
-        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
+        <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc" 
+            shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="circle"/>
+        </shape_selector>
+        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed"/>
         <validator id="PartSet_RadiusValidator"/>
       </feature>
-       <!--  SketchConstraintParallel  -->
+    <!--  SketchConstraintParallel  -->
       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/parallel.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="First line" tooltip="Select a line" shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+            <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityB"/>
+        </sketch_constraint_shape_selector>
+        
+        <sketch_constraint_shape_selector id="ConstraintEntityB" label="Last line" tooltip="Select a line" 
+            shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+            <validator id="PartSet_DifferentObjects"/>
+            <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityA"/>
+        </sketch_constraint_shape_selector>
+        
+<!--  
+  TODO(nds): v1.0.2, master  
                <sketch_constraint_shape_selector id="ConstraintEntityA" 
                        label="First line" tooltip="Select a line" shape_types="edge">
                        <selection_filter id="EdgeFilter" parameters="line"/>
                </sketch_constraint_shape_selector>
                
         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
+-->
         <validator id="PartSet_ParallelValidator"/>
       </feature>
-       <!--  SketchConstraintPerpendicular  -->
-      <feature id="SketchConstraintPerpendicular" title="Perpendicular" tooltip="Create constraint defining two perpendicular lines" icon=":icons/perpendicular.png">
+    <!--  SketchConstraintPerpendicular  -->
+      <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
+        tooltip="Create constraint defining two perpendicular lines" 
+        icon=":icons/perpendicular.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="First line" tooltip="Select an line" 
+            shape_types="edge">
+          <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityB"/>
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_constraint_shape_selector>
+        
+        <sketch_constraint_shape_selector id="ConstraintEntityB" 
+            label="Last line" tooltip="Select an line" 
+            shape_types="edge">
+            <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityA"/>
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_constraint_shape_selector>
+<!--  
+  TODO(nds): v1.0.2, master
                <sketch_constraint_shape_selector id="ConstraintEntityA" 
                        label="First line" tooltip="Select an line" 
                        shape_types="edge">
                        <validator id="PartSet_DifferentObjects"/>
       <selection_filter id="EdgeFilter" parameters="line"/>
     </sketch_constraint_shape_selector>
+-->
         <validator id="PartSet_PerpendicularValidator"/>
       </feature>
-       <!--  SketchConstraintRigid  -->
+    <!--  SketchConstraintRigid  -->
       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon=":icons/fixed.png">
         <shape_selector id="ConstraintEntityA" label="Object" tooltip="Select an object" 
-                       shape_types="edge vertex">
-                   <validator id="SketchPlugin_ResultPoint"/>
-                       <validator id="SketchPlugin_ResultLine"/>
-                       <validator id="SketchPlugin_ResultArc"/>
-               </shape_selector>
-           <validator id="PartSet_RigidValidator"/>
+            shape_types="edge vertex">
+          <validator id="PartSet_SketchEntityValidator" parameters="SketchPoint,SketchLine,SketchCircle,SketchArc"/>
+        </shape_selector>
+        <validator id="PartSet_RigidValidator"/>
+      </feature>
+    <!--  SketchConstraintHorizontal  -->
+      <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon=":icons/horisontal.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_constraint_shape_selector>
+      </feature>
+    <!--  SketchConstraintVertical  -->
+      <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon=":icons/vertical.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_constraint_shape_selector>
+      </feature>
+    <!--  SketchConstraintEqual  -->
+      <feature id="SketchConstraintEqual" title="Equal" tooltip="Create constraint defining equality of two objects" icon=":icons/equal.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line, circle or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+        
+        <sketch_constraint_shape_selector id="ConstraintEntityB"
+            label="Last object" tooltip="Select line, circle or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+      </feature>
+    <!--  SketchConstraintTangent  -->
+      <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects" icon=":icons/tangent.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+        
+        <sketch_constraint_shape_selector id="ConstraintEntityB"
+            label="Last object" tooltip="Select line or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+      </feature>
+    <!--  SketchConstraintMirror  -->
+      <feature
+        id="SketchConstraintMirror"
+        title="Mirror"
+        tooltip="Create constraint mirroring group of objects"
+        internal="1" />
+    </group>
+    <group id="Edit">
+      <!--  SketchConstraintFillet  -->
+      <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
+        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+
+        <sketch_constraint_shape_selector id="ConstraintEntityB"
+            label="Last object" tooltip="Select line or arc" shape_types="edge">
+        </sketch_constraint_shape_selector>
+
+        <doublevalue_editor label="Value" tooltip="Fillet radius" id="ConstraintValue" default="0" min="0">
+          <validator id="GeomValidators_Positive"/>
+        </doublevalue_editor>
       </feature>
     </group>
   </workbench>