SetToUpdate();
}
+//=======================================================================
+//function : SetArrowHeadRadius
+//purpose :
+//=======================================================================
+void AIS_Manipulator::SetArrowHeadRadius (const Standard_ShortReal theArrowHeadRadius)
+{
+ myArrowHeadRadius = theArrowHeadRadius;
+ SetToUpdate();
+}
+
//=======================================================================
//function : SetDragPlaneSize
//purpose :
myDragPlaneSize = myInnerRadius * 0.5f;
myAxisRadius = myBoxSize / 4.0f;
myArrowHeadLength = myLength * 0.25f;
+ myArrowHeadRadius = myAxisRadius * 1.5f,
SetToUpdate();
}
myTriangleArray = Prs3d_Arrow::DrawShaded (gp_Ax1(gp::Origin(), myReferenceAxis.Direction()),
anAxisRadius,
aLenght,
- anAxisRadius * 1.5,
+ theManipulator->ArrowHeadRadius(),
anArrowHeadLength,
myFacettesNumber);
myTranslatorGroup = thePrs->NewGroup();
//! Sets length of the arrow tip of the translation axis.
Standard_EXPORT void SetArrowHeadLength (const Standard_ShortReal theArrowHeadLength);
+ //! Gets radius of the head of the translation arrow axis.
+ Standard_ShortReal ArrowHeadRadius() const { return myArrowHeadRadius; }
+
+ //! Sets radius of the head of the translation arrow axis.
+ Standard_EXPORT void SetArrowHeadRadius (const Standard_ShortReal theValue);
+
//! Gets size of drag plane.
Standard_ShortReal DragPlaneSize() const { return myDragPlaneSize; }
Standard_ShortReal myLength; //!< Length of translation axis.
Standard_ShortReal myArrowHeadLength; //!< Length of the arrow tip.
Standard_ShortReal myAxisRadius; //!< Radius of axis.
+ Standard_ShortReal myArrowHeadRadius; //!< Radius of the arrow tip.
Standard_ShortReal myBoxSize; //!< Size of scaling cube.
aCmd.AddOption ("parts", "... all mode {0|1} - set visual part");
aCmd.AddOption ("angle", "... startAngle endAngle - set arc angle");
aCmd.AddOption ("axisrad", "... radius - set axis radius");
+ aCmd.AddOption ("arrheadrad", "... radius - set arrow head radius");
aCmd.AddOption ("diskthickness", "... value - set disk thickness");
aCmd.AddOption ("innerrad", "... radius - set axis radius");
aCmd.AddOption ("arrlen", "... len - set axis lenght");
}
aManipulator->SetAxisRadius (aRadius);
}
+ if (aCmd.HasOption("arrheadrad", 1, Standard_True))
+ {
+ Standard_ShortReal aRadius = aCmd.ArgFloat ("arrheadrad", 0);
+ if (aRadius <= 0)
+ {
+ Message::SendFail("Syntax error: radius value should be positive");
+ return 1;
+ }
+ aManipulator->SetArrowHeadRadius (aRadius);
+ }
if (aCmd.HasOption("diskthickness", 1, Standard_True))
{
Standard_ShortReal aDiskThickness = aCmd.ArgFloat ("diskthickness", 0);
"\n '-gap value' - set gap between sub-parts"
"\n '-part axis mode {0|1}' - set visual part"
"\n '-parts mode {0|1}' - set visual part"
- "\n '-angle startAngle endAngle - set arc angle"
- "\n '-axisrad radius - set axis radius"
- "\n '-diskthickness value - set disk thickness"
- "\n '-innerrad radius - set axis radius"
- "\n '-arrlen len - set axis lenght"
- "\n '-arrheadlen len - set length of the arrow tip"
- "\n '-dragplanesize size - set size of the drag plane"
- "\n '-boxsize size - set size os scaling box"
+ "\n '-angle startAngle endAngle' - set arc angle"
+ "\n '-axisrad radius' - set axis radius"
+ "\n '-arrheadrad radius' - set arrow head radius"
+ "\n '-diskthickness value' - set disk thickness"
+ "\n '-innerrad radius' - set axis radius"
+ "\n '-arrlen len' - set axis lenght"
+ "\n '-arrheadlen len' - set length of the arrow tip"
+ "\n '-dragplanesize size' - set size of the drag plane"
+ "\n '-boxsize size' - set size os scaling box"
"\n '-pos x y z [nx ny nz [xx xy xz]' - set position of manipulator"
//"\n '-size value' - set size of manipulator"
"\n '-zoomable {0|1}' - set zoom persistence",