Salome HOME
Issue #462 - Fillet constraint - preselection works wrong. Correction to do not allow...
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index e7396865d5b8219d6dfbcedc5c27b8db9459e717..13fd7bfcf4b915247bfa6b6d7d1e532ecedbbda7 100644 (file)
+<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
 <plugin>
   <workbench id="Sketch">
     <group id="Basic">
-      <feature id="Sketch" nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular" title="Sketch" tooltip="Create a new sketch or edit an existing 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"/> 
+      <feature
+        id="Sketch"
+        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror"
+        when_nested="accept abort"
+        title="Sketch"
+        tooltip="Create a new sketch"
+        icon=":icons/sketch.png">
+        <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">
-        <point_selector id="PointCoordindates" title="Point" tooltip="Point"/>
+        <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">
-        <point_selector id="StartPoint" title="Start point" tooltip="Start point of the line" previous_feature_param="EndPoint"/>
-        <point_selector id="EndPoint" title="End point" tooltip="End point of the line"/>
+        <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">
-        <point_selector id="CircleCenter" title="Center" tooltip="Center of the circle"/>
-        <point2ddistance id="CircleRadius" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set Radius">
-          <validator id="SketchPlugin_RadiusValidator"/>
+        <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 of a circle" icon=":icons/arc.png">
-        <point_selector id="ArcCenter" title="Center" tooltip="Center of the arc"/>
-        <point_selector id="ArcStartPoint" title="Start point" tooltip="Start point of the arc"/>
-        <point_selector id="ArcEndPoint" title="End point" tooltip="End point of the arc"/>
+      <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"/>
-
-      <feature id="SketchConstraintDistance" title="Distance" tooltip="Create constraint for the distance from a point to an object">
-        <label title="Select point and another object (point or point on line) between which to calculate distance" tooltip="Select point and another feature (point or point on line) between which to calculate distance"/>
-        <feature_or_attribute_selector id="ConstraintEntityA" label="First object" tooltip="Select an point in the viewer">
-          <validator id="SketchPlugin_ResultPointValidator"/>
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_or_attribute_selector>
-        <feature_or_attribute_selector id="ConstraintEntityB" label="Last object" tooltip="Select an point in the viewer">
-          <validator id="SketchPlugin_ResultPointValidator"/>
-          <validator id="SketchPlugin_ResultLineValidator"/>
-          <validator id="SketchPlugin_DistanceAttrValidator" parameters="ConstraintEntityA"/>
-        </feature_or_attribute_selector>
-        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
-        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
-        <validator id="PartSet_DistanceValidator"/>
+    <!--  SketchConstraintDistance  -->
+      <feature
+        id="SketchConstraintDistance"
+        title="Distance"
+        tooltip="Set fixed distance from a point to an object"
+        icon=":icons/distance.png">
+        <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
+        <sketch_shape_selector
+              id="ConstraintEntityA"
+              label="First object"
+              tooltip="Select point, line end point, line, center of circle or arc."
+              shape_types="edge vertex">
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+          <validator id="GeomValidators_EdgeOrVertex"/>
+        </sketch_shape_selector>/>
+        <sketch_shape_selector 
+          id="ConstraintEntityB" 
+          label="Second 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_ExternalValidator" parameters="ConstraintEntityA"/>
+          <validator id="GeomValidators_EdgeOrVertex"/>
+        </sketch_shape_selector>
+        <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_DistanceSelection"/>
       </feature>
       
-      <feature id="SketchConstraintLength" title="Length" tooltip="Create constraint for the given length of a line segment">
-        <label title="Select a line on which to calculate lenght" tooltip="Select a line on which to calculate lenght"/>
-        <feature_selector id="ConstraintEntityA" label="Line" tooltip="Select an line in the viewer">
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_selector>
-        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
-        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
-        <validator id="PartSet_LengthValidator"/> 
+    <!--  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="GeomValidators_Edge" parameters="line"/>
+    </shape_selector>
+        <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_LengthSelection"/>
       </feature>
       
-      <feature id="SketchConstraintRadius" title="Radius" tooltip="Create constraint for the given radius of a circle or an arc">
+    <!--  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"/>
-        <feature_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc in the viewer">
-          <validator id="SketchPlugin_ResultArcValidator"/>
-        </feature_selector>
-        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
-        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
-        <validator id="PartSet_RadiusValidator"/>
+        <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_RadiusSelection"/>
+      </feature>
+      
+    <!--  SketchConstraintParallel  -->
+      <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/parallel.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="First line" tooltip="Select a line" shape_types="edge">
+          <validator id="GeomValidators_Edge" parameters="line"/>
+          <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+        </sketch_shape_selector>
+        
+        <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line" 
+            shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+            <validator id="PartSet_DifferentObjects"/>
+            <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_ParallelSelection"/>
+      </feature>
+      
+    <!--  SketchConstraintPerpendicular  -->
+      <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
+        tooltip="Create constraint defining two perpendicular lines" 
+        icon=":icons/perpendicular.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="First line" tooltip="Select an line" 
+            shape_types="edge">
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        
+        <sketch_shape_selector id="ConstraintEntityB" 
+            label="Second line" tooltip="Select an line" 
+            shape_types="edge">
+            <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_PerpendicularSelection"/>
+      </feature>
+
+      <!--  SketchConstraintCoincedence  -->
+      <feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points" icon=":icons/coincedence.png">
+        <sketch_shape_selector id="ConstraintEntityA" label="First point" tooltip="Select a first point" shape_types="vertex"/>
+        <sketch_shape_selector id="ConstraintEntityB" label="Second point" tooltip="Select a second point" shape_types="vertex">
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_CoincidentSelection"/>
+      </feature>
+
+      <!--  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="PartSet_SketchEntityValidator" parameters="SketchPoint,SketchLine,SketchCircle,SketchArc"/>
+          <validator id="SketchPlugin_NotFixed"/>
+        </shape_selector>
+        <validator id="PartSet_RigidSelection"/>
       </feature>
       
-      <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines">
-        <feature_selector id="ConstraintEntityA" label="First line" tooltip="Select an line in the viewer">
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_selector>
-        <feature_selector id="ConstraintEntityB" label="Last line" tooltip="Select an line in the viewer">
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_selector>
-        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
-        <validator id="PartSet_ParallelValidator"/>
+    <!--  SketchConstraintHorizontal  -->
+      <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon=":icons/horisontal.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_HVDirSelection"/>
+      </feature>
+      
+    <!--  SketchConstraintVertical  -->
+      <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon=":icons/vertical.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_HVDirSelection"/>
+      </feature>
+      
+    <!--  SketchConstraintEqual  -->
+      <feature id="SketchConstraintEqual" title="Equal"
+        tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radii of two arcs or two circles or arc and circle"
+        icon=":icons/equal.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line, circle or arc" shape_types="edge">
+        </sketch_shape_selector>
+        
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
+          <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+      </feature>
+      
+    <!--  SketchConstraintTangent  -->
+      <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects" icon=":icons/tangent.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line or arc" shape_types="edge">
+        </sketch_shape_selector>
+        
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line or arc" shape_types="edge">
+        <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
+        <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_TangentSelection"/>
+      </feature>
+      
+         
+    </group>
+    
+    <group id="Edit">
+      <!--  SketchConstraintFillet  -->
+      <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="First object" tooltip="Select line or arc" shape_types="edge">
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line or arc" shape_types="edge">
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+
+        <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0">
+          <validator id="GeomValidators_Positive"/>
+        </doublevalue>
+        <validator id="PartSet_FilletSelection"/>
       </feature>
       
-      <feature id="SketchConstraintPerpendicular" title="Perpendicular" tooltip="Create constraint defining two perpendicular lines">
-        <feature_selector id="ConstraintEntityA" label="First line" tooltip="Select an line in the viewer">
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_selector>
-        <feature_selector id="ConstraintEntityB" label="Last line" tooltip="Select an line in the viewer">
-          <validator id="SketchPlugin_ResultLineValidator"/>
-        </feature_selector>
-        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
-        <validator id="PartSet_PerpendicularValidator"/>
+      <!--  SketchConstraintMirror  -->
+      <feature
+        id="SketchConstraintMirror"
+        title="Mirror" icon=":icons/mirror.png"
+        tooltip="Create constraint, mirroring group of objects">
+        <sketch_shape_selector id="ConstraintEntityA"
+            label="Mirror line" tooltip="Select mirror line" shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        <multi_selector id="ConstraintMirrorList"
+            label="List of objects"
+            tooltip="Select list of mirroring objects"
+            type_choice="Edges">
+            <validator id="SketchPlugin_MirrorAttr" />
+        </multi_selector>
       </feature>
     </group>
   </workbench>