0026533: Draw command vdisplay requires vclear to update the presentation since OCC...
authorisk <isk@opencascade.com>
Tue, 15 Sep 2015 09:06:43 +0000 (12:06 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 17 Sep 2015 14:01:08 +0000 (17:01 +0300)
Update documentation related to vdisplay command and similar.

dox/user_guides/draw_test_harness/draw_test_harness.md
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
src/ViewerTest/ViewerTest_RelationCommands.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx

index 98afd46..1ce1cb8 100644 (file)
@@ -1282,7 +1282,11 @@ Syntax:
 ~~~~~
 vinit 
 ~~~~~
-Creates the 3D viewer window 
+Creates new View window with specified name view_name.
+By default the new view is created in the viewer and in graphic driver shared with active view.
+* *name* = {driverName/viewerName/viewName | viewerName/viewName | viewName}.
+If driverName isn't specified the driver will be shared with active view.
+If viewerName isn't specified the viewer will be shared with active view.
 
 @subsubsection occt_draw_4_2_2 vhelp
 
@@ -1299,7 +1303,7 @@ Syntax:
 vtop 
 ~~~~~
 
-Displays top view in the 3D viewer window. 
+Displays top view in the 3D viewer window. Orientation +X+Y.
 
 **Example:** 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
@@ -1317,7 +1321,7 @@ Syntax:
 vaxo 
 ~~~~~
 
-Displays axonometric view in the 3D viewer window. 
+Displays axonometric view in the 3D viewer window. Orientation +X-Y+Z.
 
 **Example:** 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
@@ -1357,7 +1361,7 @@ Syntax:
 ~~~~~
 vrepaint 
 ~~~~~
-Forcedly redisplays the shape in the 3D viewer window. 
+Forcebly redisplays the shape in the 3D viewer window. 
 
 @subsubsection occt_draw_4_2_8 vfit
 
@@ -1389,7 +1393,7 @@ Read pixel value for active view.
 
 Syntax:     
 ~~~~~
-vselect x1 y1 [x2 y2 [x3 y3 ... xn yn]] [shift_selection = 0|1]
+vselect x1 y1 [x2 y2 [x3 y3 ... xn yn]] [-allowoverlap 0|1] [shift_selection = 0|1]
 ~~~~~
 
 Emulates different types of selection:
@@ -1397,6 +1401,7 @@ Emulates different types of selection:
   * single mouse click selection
   * selection with a rectangle having the upper left and bottom right corners in <i>(x1,y1)</i> and <i>(x2,y2)</i> respectively
   * selection with a polygon having the corners in pixel positions <i>(x1,y1), (x2,y2),…, (xn,yn)</i>
+  * -allowoverlap manages overlap and inclusion detection in rectangular selection. If the flag is set to 1, both sensitives that were included completely and overlapped partially by defined rectangle will be detected, otherwise algorithm will chose only fully included sensitives. Default behavior is to detect only full inclusion.
   * any of these selections if shift_selection is set to 1.
 
 @subsubsection occt_draw_4_2_12  vmoveto
@@ -1412,9 +1417,18 @@ Emulates cursor movement to pixel position (x,y).
 
 Syntax:     
 ~~~~~
-vviewparams [scale center_X center_Y proj_X proj_Y proj_Z up_X up_Y up_Z at_X at_Y at_Z]
+vviewparams [-scale [s]] [-eye [x y z]] [-at [x y z]] [-up [x y z]] [-proj [x y z]] [-center x y] [-size sx]
 ~~~~~
-Gets or sets the current view characteristics.
+Gets or sets current view parameters.
+* If called without arguments, all view parameters are printed.
+* The options are:
+*   -scale [s]    : prints or sets viewport relative scale.
+*   -eye [x y z]  : prints or sets eye location.
+*   -at [x y z]   : prints or sets center of look.
+*   -up [x y z]   : prints or sets direction of up vector.
+*   -proj [x y z] : prints or sets direction of look.
+*   -center x y   : sets location of center of the screen in pixels.
+*   -size [sx]    : prints viewport projection width and height sizes or changes the size of its maximum dimension.
 
 @subsubsection occt_draw_4_2_14  vchangeselected
 
@@ -1463,9 +1477,11 @@ Removes structures which do not belong to objects displayed in neutral point.
 
 Syntax:     
 ~~~~~
-vhlr is_enabled={on|off}
+vhlr is_enabled={on|off} [show_hidden={1|0}]
 ~~~~~
-Switches hidden line removal (computed) mode on/off.
+Hidden line removal algorithm:
+ * is_enabled: if is on HLR algorithm is applied.
+ * show_hidden: if equals to 1, hidden lines are drawn as dotted ones.
 
 @subsubsection occt_draw_4_2_20  vhlrtype
 
@@ -1485,10 +1501,30 @@ If no shape is specified through the command arguments, the given HLR algorithm_
 
 Syntax:
 ~~~~~
-vcamera
-~~~~~
-
-Manages camera parameters.
+vcamera [-ortho] [-projtype]
+        [-persp]
+        [-fovy   [Angle]] [-distance [Distance]]
+        [-stereo] [-leftEye] [-rightEye]
+        [-iod [Distance]] [-iodType    [absolute|relative]]
+        [-zfocus [Value]] [-zfocusType [absolute|relative]]
+~~~~~
+
+Manage camera parameters.
+Prints current value when option called without argument.
+Orthographic camera:
+ * -ortho activate orthographic projection
+Perspective camera:
+ * -persp activate perspective  projection (mono)
+ * -fovy  field of view in y axis, in degrees
+ * -distance distance of eye from camera center
+Stereoscopic camera:
+ * -stereo perspective  projection (stereo)
+ * -leftEye perspective  projection (left  eye)
+ * -rightEye perspective  projection (right eye)
+ * -iod intraocular distance value
+ * -iodType distance type, absolute or relative
+ * -zfocus stereographic focus value
+ * -zfocusType focus type, absolute or relative"
 
 **Example:**
 ~~~~~
@@ -1503,10 +1539,20 @@ vcamera -persp
 
 Syntax:
 ~~~~~
-vstereo [0:1]
+vstereo [0|1] [-mode Mode] [-reverse {0|1}] [-anaglyph Filter]
 ~~~~~
 
-Turns stereo usage On/Off.
+Control stereo output mode.
+Available modes for -mode:
+ * quadBuffer - OpenGL QuadBuffer stereo, requires driver support. Should be called BEFORE vinit!
+ * anaglyph         - Anaglyph glasses
+ * rowInterlaced    - row-interlaced display
+ * columnInterlaced - column-interlaced display
+ * chessBoard       - chess-board output
+ * sideBySide       - horizontal pair
+ * overUnder        - vertical pair
+Available Anaglyph filters for -anaglyph:
+ * redCyan, redCyanSimple, yellowBlue, yellowBlueSimple, greenMagentaSimple
 
 **Example:**
 ~~~~~
@@ -1536,11 +1582,33 @@ Enables/disables objects clipping.
 
 Syntax: 
 ~~~~~                 
-vdisplay [-noupdate|-update] [-local] [-mutable] name1 [name2] … [name n]
+vdisplay [-noupdate|-update] [-local] [-mutable] [-neutral]
+         [-trsfPers {pan|zoom|rotate|trihedron|full|none}=none] [-trsfPersPos X Y [Z]] [-3d|-2d|-2dTopDown]
+         [-dispMode mode] [-highMode mode]
+         [-layer index] [-top|-topmost|-overlay|-underlay]
+         [-redisplay]
+         name1 [name2] ... [name n]
 ~~~~~
 
-Displays named objects. Automatically redraws view by default.
-Redraw can be suppressed by -noupdate option.
+Displays named objects.
+Option -local enables displaying of objects in local selection context.
+Local selection context will be opened if there is not any.
+
+* *noupdate* suppresses viewer redraw call.
+* *mutable* enables optimizations for mutable objects.
+* *neutral* draws objects in main viewer.
+* *layer* sets z-layer for objects. It can use '-overlay|-underlay|-top|-topmost' instead of '-layer index' for the default z-layers.
+* *top* draws objects on top of main presentations but below topmost.
+* *topmost* draws in overlay for 3D presentations with independent Depth.
+* *overlay* draws objects in overlay for 2D presentations (On-Screen-Display).
+* *underlay* draws objects in underlay for 2D presentations (On-Screen-Display).
+* *selectable|-noselect* controls selection of objects.
+* *trsfPers* sets a transform persistence flags. Flag 'full' is pan, zoom and rotate.
+* *trsfPersPos* sets an anchor point for transform persistence.
+* *2d|-2dTopDown* displays object in screen coordinates.
+* *dispmode* sets display mode for objects.
+* *highmode* sets hilight mode for objects.
+* *redisplay* recomputes presentation of objects.
 
 **Example:** 
 ~~~~~ 
@@ -1555,7 +1623,7 @@ vfit
 
 Syntax:                  
 ~~~~~
-vdonly [name1] … [name n]
+vdonly [-noupdate|-update] [name1] ...  [name n]
 ~~~~~ 
 
 Displays only selected or named objects. If there are no selected or named objects, nothing is done. 
@@ -1573,10 +1641,11 @@ vfit
 
 Syntax:                  
 ~~~~~ 
-vdisplayall 
+vdisplayall [-local]
 ~~~~~ 
 
-Displays all created objects. 
+Displays all erased interactive objects (see vdir and vstate).
+Option -local enables displaying of the objects in local selection context.
 
 **Example:** 
 ~~~~~ 
@@ -1688,18 +1757,30 @@ Makes a list of known types and signatures in AIS.
 
 Syntax:
 ~~~~~
-vaspects [-noupdate|-update] [name1 [name2 [...]]]
-         [-setcolor ColorName] [-setcolor R G B] [-unsetcolor]
-         [-setmaterial MatName] [-unsetmaterial]
-         [-settransparency Transp] [-unsettransparency]
-         [-setwidth LineWidth] [-unsetwidth]
+vaspects [-noupdate|-update] [name1 [name2 [...]] | -defaults]
+         [-setVisibility 0|1]
+         [-setColor ColorName] [-setcolor R G B] [-unsetColor]
+         [-setMaterial MatName] [-unsetMaterial]
+         [-setTransparency Transp] [-unsetTransparency]
+         [-setWidth LineWidth] [-unsetWidth]
+         [-setLineType {solid|dash|dot|dotDash}] [-unsetLineType]
+         [-freeBoundary {off/on | 0/1}]
+         [-setFreeBoundaryWidth Width] [-unsetFreeBoundaryWidth]
+         [-setFreeBoundaryColor {ColorName | R G B}] [-unsetFreeBoundaryColor]
          [-subshapes subname1 [subname2 [...]]]
+         [-isoontriangulation 0|1]
+         [-setMaxParamValue {value}]
 
 ~~~~~
 
+Manage presentation properties of all, selected or named objects.
+When *-subshapes* is specified than following properties will be assigned to specified sub-shapes.
+When *-defaults* is specified than presentation properties will be assigned to all objects that have not their own specified properties and to all objects to be displayed in the future.
+If *-defaults* is used there should not be any objects' names and -subshapes specifier.
+
 Aliases:
 ~~~~~
-vsetcolor [shapename] colorname
+vsetcolor [-noupdate|-update] [name] ColorName
 
 ~~~~~
 
@@ -1778,7 +1859,7 @@ Syntax:
 vunsetshading [shapename]
 ~~~~~ 
 
-Sets default deflection coefficient (0.0008) that defines the quality of the shape’s representation in the shading mode. Default coefficient is 0.0008. 
+Sets default deflection coefficient (0.0008) that defines the quality of the shape’s representation in the shading mode.
 
 @subsubsection occt_draw_4_3_13 vsetam
 
@@ -1819,7 +1900,10 @@ Deactivates all selection modes for all shapes.
 
 Syntax:                  
 ~~~~~
-vdump <filename>.{png|bmp|jpg|gif}
+vdump <filename>.{png|bmp|jpg|gif} [-width Width -height Height]
+      [-buffer rgb|rgba|depth=rgb]
+      [-stereo mono|left|right|blend|sideBySide|overUnder=mono]
+
 ~~~~~ 
 
 Extracts the contents of the viewer window to a image file.
@@ -1853,24 +1937,6 @@ vsetdispmode 1
 vsub b 1
 ~~~~~ 
 
-@subsubsection occt_draw_4_3_18 vardis
-
-Syntax:                  
-~~~~~
-vardis
-~~~~~ 
-
-Displays active areas (for each activated sensitive entity, one or several 2D bounding boxes are displayed, depending on the implementation of a particular entity). 
-
-@subsubsection occt_draw_4_3_19 varera
-
-Syntax:                  
-~~~~~
-varera
-~~~~~ 
-
-Erases active areas. 
-
 @subsubsection occt_draw_4_3_20 vsensdis
 
 Syntax:                  
@@ -1939,10 +2005,12 @@ vr myshape.brep
 
 Syntax:                  
 ~~~~~
-vstate [name1] … [name n]
+vstate [-entities] [-hasSelected] [name1] ... [nameN]
 ~~~~~ 
 
-Makes a list of the status (**Displayed** or **Not Displayed**) of some selected or named objects. 
+Reports show/hidden state for selected or named objects
+ * *entities* - print low-level information about detected entities
+ * *hasSelected* - prints 1 if context has selected shape and 0 otherwise
 
 @subsubsection occt_draw_4_3_25 vraytrace
 
@@ -1957,18 +2025,27 @@ Turns on/off ray tracing renderer.
 
 Syntax:
 ~~~~~
-vrenderparams
+vrenderparams [-rayTrace|-raster] [-rayDepth 0..10] [-shadows {on|off}]
+              [-reflections {on|off}] [-fsaa {on|off}] [-gleam {on|off}]
+              [-gi {on|off}] [-brng {on|off}] [-env {on|off}]
+              [-shadin {color|flat|gouraud|phong}]
 ~~~~~
 
 Manages rendering parameters:
-* rayTrace
-* raster
-* rayDepth
-* shadows
-* reflections
-* fsaa
-* gleam
-* shadingModel
+* rayTrace     - Enables  GPU ray-tracing
+* raster       - Disables GPU ray-tracing
+* rayDepth     - Defines maximum ray-tracing depth
+* shadows      - Enables/disables shadows rendering
+* reflections  - Enables/disables specular reflections
+* fsaa         - Enables/disables adaptive anti-aliasing
+* gleam        - Enables/disables transparency shadow effects
+* gi           - Enables/disables global illumination effects
+* brng         - Enables/disables blocked RNG (fast coherent PT)
+* env          - Enables/disables environment map background
+* shadingModel - Controls shading model from enumeration color, flat, gouraud, phong
+
+Unlike vcaps, these parameters dramatically change visual properties.
+Command is intended to control presentation quality depending on hardware capabilities and performance.
 
 **Example:**
 ~~~~~
@@ -1983,7 +2060,9 @@ vrenderparams -shadows 1 -reflections 1 -fsaa 1
 
 Syntax:
 ~~~~~
-vshaderprog [name] pathToVertexShader pathToFragmentShader
+   'vshaderprog [name] pathToVertexShader pathToFragmentShader'
+or 'vshaderprog [name] off'   to disable GLSL program
+or 'vshaderprog [name] phong' to enable per-pixel lighting calculations
 ~~~~~
 
 Enables rendering using a shader program.
@@ -2027,7 +2106,7 @@ Syntax:
 vplanetri name
 ~~~~~ 
 
-Creates a plane from a trihedron selection. 
+Create a plane from a trihedron selection. If no arguments are set, the default 
 
 
 @subsubsection occt_draw_4_4_3 vsize
@@ -2067,7 +2146,7 @@ vaxis axe1 0 0 0 1 0 0
 
 Syntax:                  
 ~~~~~
-vaxispara nom
+vaxispara name
 ~~~~~ 
 
 Creates an axis by interactive selection of an edge and a vertex. 
@@ -2106,7 +2185,10 @@ vplane name [PlaneName] [PointName]
 ~~~~~ 
 
 Creates a plane from named or interactively selected entities.
+TypeOfSensitivity:
+ * 0 - Interior
+ * 1 - Boundary
+
 **Example:** 
 ~~~~~
 vinit 
@@ -2187,11 +2269,24 @@ Creates a plane with a 2D trihedron from an interactively selected face.
 
 Syntax:                  
 ~~~~~
-vselmode [object] mode On/Off
+vselmode [object] mode_number is_turned_on=(1|0)
 ~~~~~ 
 
 Sets the selection mode for an object. If the object value is not defined, the selection mode is set for all displayed objects. 
-Value *On* is defined as 1 and *Off* – as 0. 
+*Mode_number* is non-negative integer that has different meaning for different interactive object classes.
+For shapes the following *mode_number* values are allowed:
+ * 0 - shape
+ * 1 - vertex
+ * 2 - edge
+ * 3 - wire
+ * 4 - face
+ * 5 - shell
+ * 6 - solid
+ * 7 - compsolid
+ * 8 - compound
+*is_turned_on* is:
+ * 1 if mode is to be switched on
+ * 0 if mode is to be switched off
 
 **Example:** 
 ~~~~~
@@ -2202,16 +2297,14 @@ vpoint p3 25 40 0
 vtriangle triangle1 p1 p2 p3 
 ~~~~~
 
-@subsubsection occt_draw_4_4_15 vconnect, vconnectsh
+@subsubsection occt_draw_4_4_15 vconnect
 
 Syntax:                  
 ~~~~~
-vconnect name object Xo Yo Zo Xu Xv Xw Zu Zv Zw 
-vconnectsh name shape Xo Yo Zo Xu Xv Xw Zu Zv Zw
+vconnect vconnect name Xo Yo Zo object1 object2 ... [color=NAME]
 ~~~~~ 
 
-Creates and displays an object with input location connected to a named entity. 
-The difference between these two commands is that the object created by *vconnect* does not support the selection modes different from 0. 
+Creates and displays AIS_ConnectedInteractive object from input object and location
 
 **Example:** 
 ~~~~~
@@ -2221,7 +2314,7 @@ vpoint p2 50 0 0
 vsegment segment p1 p2 
 restore CrankArm.brep obj 
 vdisplay obj 
-vconnectsh new obj 100100100 1 0 0 0 0 1
+vconnect new obj 100100100 1 0 0 0 0 1
 ~~~~~ 
 
 @subsubsection occt_draw_4_4_16 vtriangle
@@ -2263,15 +2356,23 @@ vsegment segment p1 p2
 
 Syntax:
 ~~~~~
-vpointcloud name shape
+vpointcloud name shape [-randColor] [-normals] [-noNormals]
 ~~~~~
 
 Creates an interactive object for an arbitary set of points from the triangulated shape.
+Additional options:
+ * *randColor* - generate random color per point
+ * *normals*   - generate normal per point (default)
+ * *noNormals* - do not generate normal per point
 
 ~~~~~
-vpointcloud name x y z r npts {surface|volume}
+vpointcloud name x y z r npts {surface|volume} [-randColor] [-normals] [-noNormals]
 ~~~~~
 Creates an arbitrary set of points (npts) randomly distributed on a spheric surface or within a spheric volume (x y z r).
+Additional options:
+ * *randColor* - generate random color per point
+ * *normals*   - generate normal per point (default)
+ * *noNormals* - do not generate normal per point
 
 **Example:**
 ~~~~~
index a00bac1..0028b3c 100644 (file)
@@ -5479,9 +5479,11 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
       __FILE__, visos, group);
 
   theCommands.Add("vdisplay",
-              "vdisplay [-noupdate|-update] [-local] [-mutable] [-overlay|-underlay]"
-      "\n\t\t:          [-trsfPers flags] [-trsfPersPos X Y [Z]] [-3d|-2d|-2dTopDown]"
+              "vdisplay [-noupdate|-update] [-local] [-mutable] [-neutral]"
+      "\n\t\t:          [-trsfPers {pan|zoom|rotate|trihedron|full|none}=none] [-trsfPersPos X Y [Z]] [-3d|-2d|-2dTopDown]"
       "\n\t\t:          [-dispMode mode] [-highMode mode]"
+      "\n\t\t:          [-layer index] [-top|-topmost|-overlay|-underlay]"
+      "\n\t\t:          [-redisplay]"
       "\n\t\t:          name1 [name2] ... [name n]"
       "\n\t\t: Displays named objects."
       "\n\t\t: Option -local enables displaying of objects in local"
@@ -5489,12 +5491,19 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
       "\n\t\t: if there is not any."
       "\n\t\t:  -noupdate    suppresses viewer redraw call."
       "\n\t\t:  -mutable     enables optimizations for mutable objects."
-      "\n\t\t:  -overlay     draws objects in overlay."
-      "\n\t\t:  -underlay    draws objects in underlay."
+      "\n\t\t:  -neutral     draws objects in main viewer."
+      "\n\t\t:  -layer       sets z-layer for objects. It can use -overlay|-underlay|-top|-topmost instead of -layer index for the default z-layers."
+      "\n\t\t:  -top         draws objects on top of main presentations but below topmost."
+      "\n\t\t:  -topmost     draws in overlay for 3D presentations with independent Depth."
+      "\n\t\t:  -overlay     draws objects in overlay for 2D presentations (On-Screen-Display)."
+      "\n\t\t:  -underlay    draws objects in underlay for 2D presentations (On-Screen-Display)."
       "\n\t\t:  -selectable|-noselect controls selection of objects."
-      "\n\t\t:  -trsfPers    sets a transform persistence flags."
+      "\n\t\t:  -trsfPers    sets a transform persistence flags. Flag 'full' is pan, zoom and rotate."
       "\n\t\t:  -trsfPersPos sets an anchor point for transform persistence."
-      "\n\t\t:  -2d|-2dTopDown displays object in screen coordinates.",
+      "\n\t\t:  -2d|-2dTopDown displays object in screen coordinates."
+      "\n\t\t:  -dispmode sets display mode for objects."
+      "\n\t\t:  -highmode sets hilight mode for objects."
+      "\n\t\t:  -redisplay recomputes presentation of objects.",
       __FILE__, VDisplay2, group);
 
   theCommands.Add ("vupdate",
@@ -5670,11 +5679,22 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
                  __FILE__,VSetInteriorStyle,group);
 
   theCommands.Add("vsensdis",
-                 "vardisp           : display active entities",
-                 __FILE__,VDispSensi,group);
+      "vsensdis : Display active entities (sensitive entities of one of the standard types corresponding to active selection modes)."
+      "\n\t\t: Standard entity types are those defined in Select3D package:"
+      "\n\t\t: - sensitive box"
+      "\n\t\t: - sensitive face"
+      "\n\t\t: - sensitive curve"
+      "\n\t\t: - sensitive segment"
+      "\n\t\t: - sensitive circle"
+      "\n\t\t: - sensitive point"
+      "\n\t\t: - sensitive triangulation"
+      "\n\t\t: - sensitive triangle"
+      "\n\t\t: Custom(application - defined) sensitive entity types are not processed by this command.",
+      __FILE__,VDispSensi,group);
+
   theCommands.Add("vsensera",
-                 "vardisp           : erase  active entities",
-                 __FILE__,VClearSensi,group);
+      "vsensera : erase active entities",
+      __FILE__,VClearSensi,group);
 
   theCommands.Add("vselprecision",
                  "vselprecision [-unset] [tolerance_value]"
@@ -5683,20 +5703,23 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
                  __FILE__,VSelPrecision,group);
 
   theCommands.Add("vperf",
-                 "vperf: vperf  ShapeName 1/0(Transfo/Location) 1/0(Primitives sensibles ON/OFF)",
-                 __FILE__,VPerf,group);
+      "vperf: vperf  ShapeName 1/0(Transfo/Location) 1/0(Primitives sensibles ON/OFF)"
+      "\n\t\t: Tests the animation of an object along a predefined trajectory.",
+      __FILE__,VPerf,group);
 
   theCommands.Add("vanimation",
                  "vanimation CrankArmFile CylinderHeadFile PropellerFile EngineBlockFile",
                  __FILE__,VAnimation,group);
 
   theCommands.Add("vsetshading",
-                 "vsetshading  : vsetshading name Quality(default=0.0008) ",
-                 __FILE__,VShading,group);
+      "vsetshading  : vsetshading name Quality(default=0.0008) "
+      "\n\t\t: Sets deflection coefficient that defines the quality of the shape’s representation in the shading mode.",
+      __FILE__,VShading,group);
 
   theCommands.Add("vunsetshading",
-                 "vunsetshading :vunsetshading name ",
-                 __FILE__,VShading,group);
+      "vunsetshading :vunsetshading name "
+      "\n\t\t: Sets default deflection coefficient (0.0008) that defines the quality of the shape’s representation in the shading mode.",
+      __FILE__,VShading,group);
 
   theCommands.Add ("vtexture",
                    "\n'vtexture NameOfShape [TextureFile | IdOfTexture]\n"
@@ -5743,12 +5766,22 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
                  VTexture,group);
 
   theCommands.Add("vsetam",
-                 "vsetActivatedModes: vsetam mode(1->7)  ",
-                 __FILE__,VActivatedMode,group);
+      "vsetam [shapename] mode"
+      "\n\t\t: Activates selection mode for all selected or named shapes."
+      "\n\t\t: Mod can be:"
+      "\n\t\t:   0 - for shape itself" 
+      "\n\t\t:   1 - vertices"
+      "\n\t\t:   2 - edges"
+      "\n\t\t:   3 - wires"
+      "\n\t\t:   4 - faces"
+      "\n\t\t:   5 - shells"
+      "\n\t\t:   6 - solids"
+      "\n\t\t:   7 - compounds"
+      __FILE__,VActivatedMode,group);
 
   theCommands.Add("vunsetam",
-                 "vunsetActivatedModes:   vunsetam  ",
-                 __FILE__,VActivatedMode,group);
+      "vunsetam : Deactivates all selection modes for all shapes.",
+      __FILE__,VActivatedMode,group);
 
   theCommands.Add("vstate",
       "vstate [-entities] [-hasSelected] [name1] ... [nameN]"
@@ -5765,7 +5798,9 @@ void ViewerTest::Commands(Draw_Interpretor& theCommands)
                  "vtypes : list of known types and signatures in AIS - To be Used in vpickobject command for selection with filters",
                  VIOTypes,group);
 
-  theCommands.Add("vr", "vr : reading of the shape",
+  theCommands.Add("vr",
+      "vr filename"
+      "\n\t\t: Reads shape from BREP-format file and displays it in the viewer. ",
                  __FILE__,vr, group);
 
   theCommands.Add("vpickselected", "vpickselected [name]: extract selected shape.",
index ab791f4..e93e701 100644 (file)
@@ -6224,39 +6224,54 @@ void ViewerTest::ObjectCommands(Draw_Interpretor& theCommands)
 {
   const char *group ="AISObjects";
   theCommands.Add("vtrihedron",
-    "vtrihedron         : vtrihedron name [Xo] [Yo] [Zo] [Zu] [Zv] [Zw] [Xu] [Xv] [Xw] ",
+    "vtrihedron         : vtrihedron name [Xo] [Yo] [Zo] [Zu] [Zv] [Zw] [Xu] [Xv] [Xw] "
+    "\n\t\t: Creates a new *AIS_Trihedron* object. If no argument is set, the default trihedron (0XYZ) is created.",
     __FILE__,VTrihedron,group);
 
   theCommands.Add("vtri2d",
-    "vtri2d Name Selection in the viewer only ",
+    "vtri2d Name"
+    "\n\t\t: Creates a plane with a 2D trihedron from an interactively selected face.",
     __FILE__,VTrihedron2D ,group);
 
   theCommands.Add("vplanetri",
-    "vplanetri Name Selection in the viewer only ",
+    "vplanetri name"
+    "\n\t\t: Create a plane from a trihedron selection. If no arguments are set, the default",
     __FILE__,VPlaneTrihedron ,group);
 
   theCommands.Add("vsize",
-    "vsize       : vsize [name(Default=Current)] [size(Default=100)] ",
+    "vsize       : vsize [name(Default=Current)] [size(Default=100)] "
+    "\n\t\t: Changes the size of a named or selected trihedron."
+    "\n\t\t: If the name is not defined: it affects the selected trihedrons otherwise nothing is done."
+    "\n\t\t: If the value is not defined: it is set to 100 by default.",
     __FILE__,VSize,group);
 
   theCommands.Add("vaxis",
-    "vaxis nom [Xa] [Ya] [Za] [Xb] [Yb] [Zb]",
+    "vaxis name [Xa] [Ya] [Za] [Xb] [Yb] [Zb]"
+    "\n\t\t: Creates an axis. If  the values are not defined, an axis is created by interactive selection of two vertices or one edge",
     __FILE__,VAxisBuilder,group);
 
   theCommands.Add("vaxispara",
-    "vaxispara  nom ",
+    "vaxispara name "
+    "\n\t\t: Creates an axis by interactive selection of an edge and a vertex.",
     __FILE__,VAxisBuilder,group);
 
   theCommands.Add("vaxisortho",
-    "vaxisotho  nom ",
+    "vaxisortho name "
+    "\n\t\t: Creates an axis by interactive selection of an edge and a vertex. The axis will be orthogonal to the selected edge.",
     __FILE__,VAxisBuilder,group);
 
   theCommands.Add("vpoint",
-    "vpoint  PointName [Xa] [Ya] [Za] ",
+    "vpoint  PointName [Xa] [Ya] [Za] "
+    "\n\t\t: Creates a point from coordinates. If the values are not defined,"
+    "\n\t\t: a point is created by interactive selection of a vertice or an edge (in the center of the edge).",
     __FILE__,VPointBuilder,group);
 
   theCommands.Add("vplane",
-    "vplane  PlaneName [AxisName/PlaneName/PointName] [PointName/PointName/PointName] [Nothing/Nothing/PointName] [TypeOfSensitivity]",
+    "vplane  PlaneName [AxisName/PlaneName/PointName] [PointName/PointName/PointName] [Nothing/Nothing/PointName] [TypeOfSensitivity {0|1}]"
+    "\n\t\t: Creates a plane from named or interactively selected entities."
+    "\n\t\t: TypeOfSensitivity:"
+    "\n\t\t:   0 - Interior"
+    "\n\t\t:   1 - Boundary",
     __FILE__,VPlaneBuilder,group);
 
   theCommands.Add ("vchangeplane", "vchangeplane usage: \n"
@@ -6274,19 +6289,24 @@ void ViewerTest::ObjectCommands(Draw_Interpretor& theCommands)
     __FILE__, VChangePlane, group);
 
   theCommands.Add("vplanepara",
-    "vplanepara  PlaneName  ",
+    "vplanepara  PlaneName  "
+    "\n\t\t: Creates a plane from interactively selected vertex and face.",
     __FILE__,VPlaneBuilder,group);
 
   theCommands.Add("vplaneortho",
-    "vplaneortho  PlaneName  ",
+    "vplaneortho  PlaneName  "
+    "\n\t\t: Creates a plane from interactive selected face and coplanar edge. ",
     __FILE__,VPlaneBuilder,group);
 
   theCommands.Add("vline",
-    "vline: vline LineName [Xa/PointName] [Ya/PointName] [Za] [Xb] [Yb] [Zb]  ",
+    "vline LineName [Xa/PointName] [Ya/PointName] [Za] [Xb] [Yb] [Zb]  "
+    "\n\t\t: Creates a line from coordinates, named or interactively selected vertices. ",
     __FILE__,VLineBuilder,group);
 
   theCommands.Add("vcircle",
-    "vcircle CircleName [PointName PointName PointName IsFilled]\n\t\t\t\t\t[PlaneName PointName Radius IsFilled]",
+    "vcircle CircleName [PointName PointName PointName IsFilled]\n\t\t\t\t\t[PlaneName PointName Radius IsFilled]"
+    "\n\t\t: Creates a circle from named or interactively selected entities."
+    "\n\t\t: Parameter IsFilled is defined as 0 or 1.",
     __FILE__,VCircleBuilder,group);
 
   theCommands.Add ("vdrawtext",
@@ -6331,8 +6351,8 @@ void ViewerTest::ObjectCommands(Draw_Interpretor& theCommands)
     __FILE__,VDrawPArray,group);
 
   theCommands.Add("vconnect", 
-    "vconnect : assembly_name Xo Yo Zo object1 object2 ..."
-    "  Makes an assembly of object instances located in point (Xo Yo Zo).",
+    "vconnect name Xo Yo Zo object1 object2 ... [color=NAME]"
+    "\n\t\t: Creates and displays AIS_ConnectedInteractive object from input object and location.",
     __FILE__, VConnect, group);
 
   theCommands.Add("vconnectto",
@@ -6387,11 +6407,13 @@ void ViewerTest::ObjectCommands(Draw_Interpretor& theCommands)
     __FILE__, VSelectionPrevious, group);
 
   theCommands.Add("vtriangle",
-    "vtriangle Name PointName PointName PointName", 
+    "vtriangle Name PointName PointName PointName"
+    "\n\t\t: Creates and displays a filled triangle from named points.", 
     __FILE__, VTriangle,group);
 
   theCommands.Add("vsegment",
-    "vsegment Name PointName PointName", 
+    "vsegment Name PointName PointName"
+    "\n\t\t: Creates and displays a segment from named points.", 
     __FILE__, VSegment,group);
 
   theCommands.Add("vobjzlayer",
index f0cd9af..d02de2c 100644 (file)
@@ -2864,8 +2864,10 @@ void ViewerTest::RelationCommands(Draw_Interpretor& theCommands)
                  __FILE__,VSymmetricBuilder ,group);
 
   theCommands.Add("vmovedim",
-                 "vmovedim [name] [x y z]: moves picked or named (if name defined) "
-          "dimension to picked mouse position or input point.",
+      "vmovedim : vmovedim [name] [x y z]"
+      "\n\t\t: Moves picked or named (if name defined)"
+      "\n\t\t: dimension to picked mouse position or input point."
+      "\n\t\t: Text label of dimension 'name' is moved to position, another parts of dimensionare adjusted.",
                  __FILE__,VMoveDim,group);
 
 }
index b48044d..e248376 100644 (file)
@@ -8750,7 +8750,8 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
     "vrepaint        : vrepaint, force redraw",
     __FILE__,VRepaint,group);
   theCommands.Add("vclear",
-    "vclear          : vclear",
+    "vclear          : vclear"
+    "\n\t\t: remove all the object from the viewer",
     __FILE__,VClear,group);
   theCommands.Add("vsetbg",
     "vsetbg          : vsetbg imagefile [filltype] : Load image as background",
@@ -8970,7 +8971,9 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
     "- 1) single click selection\n"
     "- 2) selection with rectangle having corners at pixel positions (x1,y1) and (x2,y2)\n"
     "- 3) selection with polygon having corners in pixel positions (x1,y1), (x2,y2),...,(xn,yn)\n"
-    "- 4) -allowoverlap determines will partially included objects be selected in rectangular selection"
+    "- 4) -allowoverlap manages overlap and inclusion detection in rectangular selection.\n"
+    "     If the flag is set to 1, both sensitives that were included completely and overlapped partially by defined rectangle will be detected,\n"
+    "     otherwise algorithm will chose only fully included sensitives. Default behavior is to detect only full inclusion. "
     " (partial inclusion - overlap - is not allowed by default)\n"
     "- 5) any of these selections with shift button pressed",
     __FILE__, VSelect, group);
@@ -9004,7 +9007,8 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
     "- gets or sets ZClipping mode, width and depth",
     __FILE__,VZClipping,group);
   theCommands.Add ("vnbselected",
-    "vnbselected", __FILE__, VNbSelected, group);
+    "vnbselected"
+    "\n\t\t: Returns number of selected objects", __FILE__, VNbSelected, group);
   theCommands.Add ("vcamera",
               "vcamera [-ortho] [-projtype]"
       "\n\t\t:         [-persp]"
@@ -9040,7 +9044,8 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
     "   vzrange [znear] [zfar] - applies provided values to view",
     __FILE__,VZRange, group);
   theCommands.Add("vantialiasing",
-    "vantialiasing 1|0",
+    "vantialiasing 1|0"
+    "\n\t\t: Switches altialiasing on or off",
     __FILE__,VAntialiasing,group);
   theCommands.Add ("vpurgedisplay",
     "vpurgedisplay"