const bool toFlip = Draw::ParseOnOffNoIterator (theArgsNb, theArgVec, anArgIt);
aTextPrs->SetFlipping (toFlip);
}
-<<<<<<< HEAD
else if (aParam == "-ownanchor"
|| aParam == "-noownanchor")
-=======
- else if (aParam == "-ownanchor")
- {
- if (++anArgIt >= theArgsNb)
- {
- std::cout << "Error: wrong number of values for parameter '" << aParam.ToCString() << "'.\n";
- return 1;
- }
- aTextPrs->SetOwnAnchorPoint (Draw::Atoi (theArgVec[anArgIt]) == 1);
- }
- else if (aParam == "-disptype"
- || aParam == "-displaytype")
->>>>>>> 05ac0c7d75 (0030922: Visualization - OpenGl_Text wrong local transformation if text has not own attach point)
{
const bool isOwnAnchor = Draw::ParseOnOffNoIterator (theArgsNb, theArgVec, anArgIt);
aTextPrs->SetOwnAnchorPoint (isOwnAnchor);
void ViewerTest::ObjectCommands(Draw_Interpretor& theCommands)
{
-<<<<<<< HEAD
const char* aGroup = "AIS Viewer";
const char* aFileName = __FILE__;
auto addCmd = [&](const char* theName, Draw_Interpretor::CommandFunction theFunc, const char* theHelp)
addCmd ("vobjzlayer", VObjZLayer, /* [vobjzlayer] */ R"(
vobjzlayer : set/get object [layerid] - set or get z layer id for the interactive object
)" /* [vobjzlayer] */);
-=======
- const char *group ="AISObjects";
-
- theCommands.Add ("vtrihedron",
- "vtrihedron : vtrihedron name"
- "\n\t\t: [-dispMode {wireframe|shading} ]"
- "\n\t\t: [-origin x y z ]"
- "\n\t\t: [-zaxis u v w -xaxis u v w ]"
- "\n\t\t: [-drawAxes {X|Y|Z|XY|YZ|XZ|XYZ}]"
- "\n\t\t: [-hideLabels {on|off}]"
- "\n\t\t: [-hideArrows {on|off}]"
- "\n\t\t: [-label {XAxis|YAxis|ZAxis} value]"
- "\n\t\t: [-attribute {XAxisLength|YAxisLength|ZAxisLength"
- "\n\t\t: |TubeRadiusPercent|ConeRadiusPercent"
- "\n\t\t: |ConeLengthPercent|OriginRadiusPercent"
- "\n\t\t: |ShadingNumberOfFacettes} value]"
- "\n\t\t: [-color {Origin|XAxis|YAxis|ZAxis|XOYAxis|YOZAxis"
- "\n\t\t: |XOZAxis|Whole} {r g b | colorName}]"
- "\n\t\t: [-textColor {r g b | colorName}]"
- "\n\t\t: [-arrowColor {r g b | colorName}]"
- "\n\t\t: [-priority {Origin|XAxis|YAxis|ZAxis|XArrow"
- "\n\t\t: |YArrow|ZArrow|XOYAxis|YOZAxis"
- "\n\t\t: |XOZAxis|Whole} value]"
- "\n\t\t:"
- "\n\t\t: Creates a new *AIS_Trihedron* object or changes parameters of "
- "\n\t\t: existing trihedron. If no argument is set,"
- "\n\t\t: the default trihedron (0XYZ) is created."
- "\n\t\t: -dispMode mode of visualization: wf - wireframe,"
- "\n\t\t: sh - shading."
- "\n\t\t: Default value is wireframe."
- "\n\t\t: -origin allows to set trihedron location."
- "\n\t\t: -zaxis/-xaxis allows to set trihedron X and Z"
- "\n\t\t: directions. The directions should"
- "\n\t\t: be orthogonal. Y direction is calculated."
- "\n\t\t: -drawAxes allows to set what axes are drawn in the"
- "\n\t\t: trihedron, default state is XYZ"
- "\n\t\t: -hideLabels allows to show/hide trihedron labels"
- "\n\t\t: -hideArrows allows to show/hide trihedron arrows"
- "\n\t\t: -label allows to change default X/Y/Z titles of axes"
- "\n\t\t: -attribute sets parameters of trihedron"
- "\n\t\t: -color sets color properties of parts of trihedron"
- "\n\t\t: -textColor sets color properties of trihedron labels"
- "\n\t\t: -arrowColor sets color properties of trihedron arrows"
- "\n\t\t: -priority allows to change default selection priority"
- "\n\t\t: of trihedron components",
- __FILE__,VTrihedron,group);
-
- theCommands.Add("vtri2d",
- "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"
- "\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)] "
- "\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 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 name "
- "\n\t\t: Creates an axis by interactive selection of an edge and a vertex.",
- __FILE__,VAxisBuilder,group);
-
- theCommands.Add("vaxisortho",
- "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] "
- "\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 {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"
- " vchangeplane <plane_name>"
- " [x=center_x y=center_y z=center_z]"
- " [dx=dir_x dy=dir_y dz=dir_z]"
- " [sx=size_x sy=size_y]"
- " [noupdate]\n"
- " - changes parameters of the plane:\n"
- " - x y z - center\n"
- " - dx dy dz - normal\n"
- " - sx sy - plane sizes\n"
- " - noupdate - do not update/redisplay the plane in context\n"
- " Please enter coordinates in format \"param=value\" in arbitrary order.",
- __FILE__, VChangePlane, group);
-
- theCommands.Add("vplanepara",
- "vplanepara PlaneName "
- "\n\t\t: Creates a plane from interactively selected vertex and face.",
- __FILE__,VPlaneBuilder,group);
-
- theCommands.Add("vplaneortho",
- "vplaneortho PlaneName "
- "\n\t\t: Creates a plane from interactive selected face and coplanar edge. ",
- __FILE__,VPlaneBuilder,group);
-
- theCommands.Add("vline",
- "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]"
- "\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",
- "vdrawtext name text"
- "\n\t\t: [-pos X=0 Y=0 Z=0]"
- "\n\t\t: [-color {R G B|name}=yellow]"
- "\n\t\t: [-halign {left|center|right}=left]"
- "\n\t\t: [-valign {top|center|bottom|topfirstline}=bottom}]"
- "\n\t\t: [-angle angle=0]"
- "\n\t\t: [-zoom {0|1}=0]"
- "\n\t\t: [-height height=16]"
- "\n\t\t: [-aspect {regular|bold|italic|boldItalic}=regular]"
- "\n\t\t: [-font font=Times]"
- "\n\t\t: [-2d]"
- "\n\t\t: [-perspos {X Y Z}=0 0 0], where"
- "\n\t\t X and Y define the coordinate origin in 2d space relative to the view window"
- "\n\t\t Example: X=0 Y=0 is center, X=1 Y=1 is upper right corner etc..."
- "\n\t\t Z coordinate defines the gap from border of view window (except center position)."
- "\n\t\t: [-disptype {blend|decal|shadow|subtitle|dimension|normal}=normal}"
- "\n\t\t: [-subcolor {R G B|name}=white]"
- "\n\t\t: [-noupdate]"
- "\n\t\t: [-plane NormX NormY NormZ DirX DirY DirZ]"
- "\n\t\t: [-flipping]"
- "\n\t\t: [-ownanchor {0|1}=1]"
- "\n\t\t: Display text label at specified position.",
- __FILE__, VDrawText, group);
-
- theCommands.Add("vdrawsphere",
- "vdrawsphere: vdrawsphere shapeName Fineness [X=0.0 Y=0.0 Z=0.0] [Radius=100.0] [ToShowEdges=0] [ToPrintInfo=1]\n",
- __FILE__,VDrawSphere,group);
-
- theCommands.Add ("vlocation",
- "vlocation name"
- "\n\t\t: [-reset]"
- "\n\t\t: [-copyFrom otherName]"
- "\n\t\t: [-translate X Y [Z]]"
- "\n\t\t: [-rotate x y z dx dy dz angle]"
- "\n\t\t: [-scale [X Y Z] scale]"
- "\n\t\t: [-mirror x y z dx dy dz]"
- "\n\t\t: [-setLocation X Y [Z]]"
- "\n\t\t: [-setRotation QX QY QZ QW]"
- "\n\t\t: [-setScale [X Y Z] scale]"
- "\n\t\t: [-inheritParentTrsf {on|off}]"
- "\n\t\t: Object local transformation management:"
- "\n\t\t: -reset reset transformation to identity"
- "\n\t\t: -translate translate object"
- "\n\t\t: -rotate applies rotation to local transformation"
- "\n\t\t: -scale applies scale to local transformation"
- "\n\t\t: -mirror applies mirror to local transformation"
- "\n\t\t: -setLocation assign object location"
- "\n\t\t: -setRotation assign object rotation (quaternion)"
- "\n\t\t: -setScale assign object scale factor"
- "\n\t\t: -inheritParentTrsf option to inherit parent"
- "\n\t\t: transformation or not (ON by default)",
- __FILE__, VSetLocation, group);
- theCommands.Add ("vsetlocation",
- "alias for vlocation",
- __FILE__, VSetLocation, group);
- theCommands.Add ("vchild",
- "vchild parent [-add] [-remove] [-ignoreParentTrsf {0|1}] child1 [child2] [...]"
- "\n\t\t: Command for testing low-level presentation connections."
- "\n\t\t: vconnect command should be used instead.",
- __FILE__, VChild, group);
- theCommands.Add("vparent",
- "vparent parent [-ignoreVisu]"
- "\n\t\t: Command for testing object properties as parent in the hierarchy."
- "\n\t\t: Arguments:"
- "\n\t\t: -ignoreVisu do not propagate the visual state (display/erase/color) to children objects",
- __FILE__, VParent, group);
- theCommands.Add ("vcomputehlr",
- "vcomputehlr shapeInput hlrResult [-algoType {algo|polyAlgo}=polyAlgo]"
- "\n\t\t: [eyeX eyeY eyeZ dirX dirY dirZ upX upY upZ]"
- "\n\t\t: [-showTangentEdges {on|off}=off] [-nbIsolines N=0] [-showHiddenEdges {on|off}=off]"
- "\n\t\t: Arguments:"
- "\n\t\t: shapeInput - name of the initial shape"
- "\n\t\t: hlrResult - result HLR object from initial shape"
- "\n\t\t: eye, dir are eye position and look direction"
- "\n\t\t: up is the look up direction vector"
- "\n\t\t: -algoType HLR algorithm to use"
- "\n\t\t: -showTangentEdges include tangent edges"
- "\n\t\t: -nbIsolines include isolines"
- "\n\t\t: -showHiddenEdges include hidden edges"
- "\n\t\t: Use vtop to see projected HLR shape.",
- __FILE__, VComputeHLR, group);
-
- theCommands.Add("vdrawparray",
- "vdrawparray name TypeOfArray={points|segments|polylines|triangles"
- "\n\t\t: |trianglefans|trianglestrips|quads|quadstrips|polygons}"
- "\n\t\t: [-deinterleaved|-mutable]"
- "\n\t\t: [vertex={'v' x y z [normal={'n' nx ny nz}] [color={'c' r g b}] [texel={'t' tx ty}]]"
- "\n\t\t: [bound= {'b' nbVertices [bound_color={'c' r g b}]]"
- "\n\t\t: [edge= {'e' vertexId]"
- "\n\t\t: [-shape shapeName] [-patch]"
- "\n\t\t: Commands create an Interactive Object for specified Primitive Array definition (Graphic3d_ArrayOfPrimitives)"
- "\n\t\t: with the main purpose is covering various combinations by tests",
- __FILE__,VDrawPArray,group);
-
- theCommands.Add("vconnect",
- "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",
- "vconnectto : instance_name Xo Yo Zo object [-nodisplay|-noupdate|-update]"
- " Makes an instance 'instance_name' of 'object' with position (Xo Yo Zo)."
- "\n\t\t: -nodisplay - only creates interactive object, but not displays it",
- __FILE__, VConnectTo,group);
-
- theCommands.Add("vdisconnect",
- "vdisconnect assembly_name (object_name | object_number | 'all')"
- " Disconnects all objects from assembly or disconnects object by name or number (use vlistconnected to enumerate assembly children).",
- __FILE__,VDisconnect,group);
-
- theCommands.Add("vaddconnected",
- "vaddconnected assembly_name object_name"
- "Adds object to assembly.",
- __FILE__,VAddConnected,group);
-
- theCommands.Add("vlistconnected",
- "vlistconnected assembly_name"
- "Lists objects in assembly.",
- __FILE__,VListConnected,group);
-
-
- theCommands.Add("vselmode",
- "vselmode [object] selectionMode {on|off}"
- "\n\t\t: [{-add|-set|-globalOrLocal}=-globalOrLocal]"
- "\n\t\t: Switches selection mode for the specified object or for all objects in context."
- "\n\t\t: Selection mode is either an integer number specific to Interactive Object,"
- "\n\t\t: or sub-shape type in case of AIS_Shape:"
- "\n\t\t: Shape, Vertex, Edge, Wire, Face, Shell, Solid, CompSolid, Compound"
- "\n\t\t: The integer mode 0 (Shape in case of AIS_Shape) is reserved for selecting object as whole."
- "\n\t\t: Additional options:"
- "\n\t\t: -add already activated selection modes will be left activated"
- "\n\t\t: -set already activated selection modes will be deactivated"
- "\n\t\t: -globalOrLocal (default) if new mode is Global selection mode,"
- "\n\t\t: then active local selection modes will be deactivated"
- "\n\t\t: and the samthen active local selection modes will be deactivated",
- __FILE__, VSetSelectionMode, group);
-
- theCommands.Add("vselnext",
- "vselnext : hilight next detected",
- __FILE__, VSelectionNext, group);
-
- theCommands.Add("vselprev",
- "vselnext : hilight previous detected",
- __FILE__, VSelectionPrevious, group);
-
- theCommands.Add("vtriangle",
- "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"
- "\n\t\t: Creates and displays a segment from named points.",
- __FILE__, VTriangle,group);
-
- theCommands.Add("vobjzlayer",
- "vobjzlayer : set/get object [layerid] - set or get z layer id for the interactive object",
- __FILE__, VObjZLayer, group);
->>>>>>> 05ac0c7d75 (0030922: Visualization - OpenGl_Text wrong local transformation if text has not own attach point)
addCmd ("vpolygonoffset", VPolygonOffset, /* [vpolygonoffset] */ R"(
vpolygonoffset [object [mode factor units]]