Salome HOME
Make concealment of results working on compsolids: if at least one sub-body is concea...
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index 13d388d38c85519366bcecd92f54b613ee0e2e5f..3c529f6883ab09f4d64dc8d765e12b236d2f8e8e 100644 (file)
@@ -5,7 +5,7 @@
     <group id="Basic">
       <feature
         id="Sketch"
-        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchMultiRotation SketchMultiTranslation"
+        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchConstraintAngle SketchMultiRotation SketchMultiTranslation"
         when_nested="accept abort"
         title="Sketch"
         tooltip="Create sketch"
@@ -23,6 +23,7 @@
         <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"/>
+        <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
       </feature>
       <feature id="SketchCircle" title="Circle" tooltip="Create circle" icon=":icons/circle.png">
         <sketch-2dpoint_selector id="CircleCenter" title="Center" tooltip="Center coordinates"/>
@@ -36,6 +37,7 @@
         <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"/>
+        <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
       </feature>
     </group>
       
@@ -54,8 +56,8 @@
               shape_types="edge vertex">
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
           <validator id="PartSet_DifferentObjects"/>
-          <validator id="GeomValidators_EdgeOrVertex"/>
-        </sketch_shape_selector>/>
+          <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
+        </sketch_shape_selector>
         <sketch_shape_selector 
           id="ConstraintEntityB" 
           label="Second object" 
@@ -64,7 +66,7 @@
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
-          <validator id="GeomValidators_EdgeOrVertex"/>
+          <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
         </sketch_shape_selector>
         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
         
     <!--  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>
+        <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
+          <validator id="GeomValidators_ShapeType" 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"/>
@@ -94,7 +95,7 @@
         <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="GeomValidators_Edge" parameters="circle"/>
+            <validator id="GeomValidators_ShapeType" 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"/>
       <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="GeomValidators_ShapeType" 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="GeomValidators_ShapeType" parameters="line"/>
             <validator id="PartSet_DifferentObjects"/>
             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
         </sketch_shape_selector>
             shape_types="edge">
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
-            <validator id="GeomValidators_Edge" parameters="line"/>
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
         </sketch_shape_selector>
         
         <sketch_shape_selector id="ConstraintEntityB" 
             shape_types="edge">
             <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
-            <validator id="GeomValidators_Edge" parameters="line"/>
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
         </sketch_shape_selector>
         <validator id="PartSet_PerpendicularSelection"/>
       </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"/>
+        <sketch_shape_selector id="ConstraintEntityA" label="Object"
+                        tooltip="Select point, line end point, line, center of circle or arc."
+                        shape_types="edge vertex">
+          <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
           <validator id="SketchPlugin_NotFixed"/>
-        </shape_selector>
+        </sketch_shape_selector>
         <validator id="PartSet_RigidSelection"/>
       </feature>
-      
-    <!--  SketchConstraintHorizontal  -->
+
+      <!--  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"/>
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
         </sketch_shape_selector>
         <validator id="PartSet_HVDirSelection"/>
       </feature>
       <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"/>
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
         </sketch_shape_selector>
         <validator id="PartSet_HVDirSelection"/>
       </feature>
       <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">
+          <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityB"/>
           <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="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
-        <validator id="PartSet_DifferentObjects"/>
+          <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityA"/>
+          <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
+          <validator id="PartSet_DifferentObjects"/>
         </sketch_shape_selector>
         <validator id="PartSet_TangentSelection"/>
       </feature>
       
+      
+    <!--  SketchConstraintAngle  -->      
+      <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments">
+        <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
+          <validator id="GeomValidators_ShapeType" parameters="line"/>
+          <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+        </shape_selector>
+        <shape_selector id="ConstraintEntityB" label="Line" tooltip="Select an line" shape_types="edge" >
+          <validator id="GeomValidators_ShapeType" parameters="line"/>
+          <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+        </shape_selector>
+        <doublevalue_editor label="Value" tooltip="Angle" id="ConstraintValue" default="computed" />
+        <validator id="PartSet_AngleSelection"/>
+      </feature>
+
          
     </group>
     
         <sketch_shape_selector id="ConstraintEntityA" 
             label="First object" tooltip="Select line or arc" shape_types="edge">
           <validator id="PartSet_DifferentObjects"/>
+          <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityB"/>
         </sketch_shape_selector>
 
         <sketch_shape_selector id="ConstraintEntityB"
             label="Second object" tooltip="Select line or arc" shape_types="edge">
           <validator id="PartSet_DifferentObjects"/>
+          <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityA"/>
         </sketch_shape_selector>
 
-        <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0">
+        <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0" default="1" use_reset="false">
           <validator id="GeomValidators_Positive"/>
         </doublevalue>
         <validator id="PartSet_FilletSelection"/>
         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"/>
+            <validator id="GeomValidators_ShapeType" parameters="line"/>
         </sketch_shape_selector>
         <sketch_multi_selector id="ConstraintMirrorList"
-            label="List of objects"
+            label="Segments:"
             tooltip="Select list of mirroring objects"
             type_choice="Edges"
             use_external="true">
             <validator id="SketchPlugin_MirrorAttr" />
         </sketch_multi_selector>
       </feature>
+      
       <!--  SketchMultiTranslation  -->
       <feature
         id="SketchMultiTranslation"
-        title="Translation" 
-        tooltip="Make a number of shifted copies of a group of objects">
+        title="Translation" icon=":icons/translate.png"
+        tooltip="Multiple translation">
         <sketch_multi_selector id="MultiTranslationList"
-            label="List of objects"
+            label="Segments:"
             tooltip="Select list of translating objects"
             type_choice="Edges"
             use_external="true">
               title="End point"
               tooltip="Final point of translation"/>
         </groupbox>
-        <doublevalue_editor id="MultiTranslationCopies"
+        <integervalue id="MultiTranslationCopies"
             label="Number of copies"
             tooltip="Number of copies" 
-            default="1" min="1">
+            default="1" min="1" use_reset="false">
           <validator id="GeomValidators_Positive"/>
-        </doublevalue_editor>
+        </integervalue>
       </feature>
+      
       <!--  SketchMultiRotation  -->
       <feature
         id="SketchMultiRotation"
-        title="Rotation" 
-        tooltip="Make a number of rotated copies of a group of objects">
+        title="Rotation" icon=":icons/rotate.png"
+        tooltip="Multiple rotation">
         <sketch_multi_selector id="MultiRotationList"
-            label="List of objects"
+            label="Segments:"
             tooltip="Select list of rotating objects"
             type_choice="Edges"
             use_external="true">
             id="MultiRotationCenter"
             title="Center of rotation"
             tooltip="Center of rotation"/>
-        <doublevalue_editor id="MultiRotationAngle"
-            label="Angle"
-            tooltip="Rotation angle"/>
-        <doublevalue_editor id="MultiRotationCopies"
+        <point2dangle id="MultiRotationAngle"
+                         first_point="MultiRotationCenter"
+                         label="Angle"
+                         icon=":icons/angle.png"
+                         tooltip="Rotation angle"
+                         default="90"/>
+        <integervalue id="MultiRotationCopies"
             label="Number of copies"
             tooltip="Number of copies" 
-            default="1" min="1">
+            default="1" min="1" use_reset="false">
           <validator id="GeomValidators_Positive"/>
-        </doublevalue_editor>
+        </integervalue>
       </feature>
     </group>
   </workbench>