#include <Prs3d_Root.hxx>
#include <Graphic3d_ArrayOfTriangles.hxx>
-#include <Quantity_PlaneAngle.hxx>
-#include <Quantity_Length.hxx>
+#include <Graphic3d_ArrayOfSegments.hxx>
class gp_Ax1;
class gp_Pnt;
const Standard_Real theConeLength,
const Standard_Integer theNbFacettes);
+ //! Defines the representation of the arrow as a container of segments.
+ //! @param theLocation location of the arrow tip
+ //! @param theDir direction of the arrow
+ //! @param theAngle angle of opening of the arrow head
+ //! @param theLength length of the arrow (from the tip)
+ //! @param theNbSegments count of points on polyline where location is connected
+ Standard_EXPORT static Handle(Graphic3d_ArrayOfSegments) DrawSegments (const gp_Pnt& theLocation,
+ const gp_Dir& theDir,
+ const Standard_Real theAngle,
+ const Standard_Real theLength,
+ const Standard_Integer theNbSegments);
+
//! Defines the representation of the arrow.
//! Note that this method does NOT assign any presentation aspects to the primitives group!
//! @param theGroup presentation group to add primitives
Standard_EXPORT static void Draw (const Handle(Graphic3d_Group)& theGroup,
const gp_Pnt& theLocation,
const gp_Dir& theDirection,
- const Quantity_PlaneAngle theAngle,
- const Quantity_Length theLength);
+ const Standard_Real theAngle,
+ const Standard_Real theLength);
//! Alias to another method Draw() for backward compatibility.
Standard_DEPRECATED("Prs3d_Arrow::Draw() taking Graphic3d_Group should be used instead")
static void Draw (const Handle(Prs3d_Presentation)& thePrs,
const gp_Pnt& theLocation,
const gp_Dir& theDirection,
- const Quantity_PlaneAngle theAngle,
- const Quantity_Length theLength)
+ const Standard_Real theAngle,
+ const Standard_Real theLength)
{
Draw (Prs3d_Root::CurrentGroup (thePrs), theLocation, theDirection, theAngle, theLength);
}