# Visualization
TKV3d
AIS

# AIS_AngleDimension Class Reference

A framework to define display of angles.
These displays are particularly useful in viewing draft prisms.
The angle displayed may define an intersection
can be between two edges or two faces of a shape
or a plane. The display consists of arrows and text.
.

`#include <AIS_AngleDimension.hxx>`

Inheritance diagram for AIS_AngleDimension:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_AngleDimension (const TopoDS_Edge &aFirstEdge, const TopoDS_Edge &aSecondEdge, const Handle(Geom_Plane)&aPlane, const Standard_Real aVal, const TCollection_ExtendedString &aText)
| Constructs the angle display object defined by the shapes aFShape, aSShape, the plane aPlane, the value aVal and the text aText. aFShape and aSShape are edges. .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Edge &aFirstEdge, const TopoDS_Edge &aSecondEdge, const Handle(Geom_Plane)&aPlane, const Standard_Real aVal, const TCollection_ExtendedString &aText, const gp_Pnt &aPosition, const DsgPrs_ArrowSide aSymbolPrs, const Standard_Real anArrowSize=0.0)
| Constructs the angle display object defined by the shapes aFShape, aSShape, the plane aPlane, the value aVal, the text aText, the point aPosition, the type of arrow aSymbolPrs, and the arrow length anArrowSize. aFShape and aSShape are edges. .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aCone, const Standard_Real aVal, const TCollection_ExtendedString &aText)
| Angle of cone .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aCone, const Standard_Real aVal, const TCollection_ExtendedString &aText, const gp_Pnt &aPosition, const DsgPrs_ArrowSide aSymbolPrs, const Standard_Real anArrowSize=0.01)
| Angle of cone .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aFirstFace, const TopoDS_Face &aSecondFace, const gp_Ax1 &anAxis, const Standard_Real aVal, const TCollection_ExtendedString &aText)
| TwoPlanarFaceAngle dimension .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aFirstFace, const TopoDS_Face &aSecondFace, const gp_Ax1 &anAxis, const Standard_Real aVal, const TCollection_ExtendedString &aText, const gp_Pnt &aPosition, const DsgPrs_ArrowSide aSymbolPrs, const Standard_Real anArrowSize=0.0)
| TwoPlanarFacesAngle dimension with position and text Face can be Plane or Extrusion of line or Offset of those .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aFFace, const TopoDS_Face &aSFace, const Standard_Real aVal, const TCollection_ExtendedString &aText)
| Angle dimension between two curvilinear faces Warning: Requaired 0 <= aVal < PI, aVal must be defined exactly. .
Standard_EXPORT | AIS_AngleDimension (const TopoDS_Face &aFFace, const TopoDS_Face &aSFace, const Standard_Real aVal, const TCollection_ExtendedString &aText, const gp_Pnt &aPosition, const DsgPrs_ArrowSide aSymbolPrs, const Standard_Real anArrowSize=0.001)
| Angle dimension between two curvilinear faces with position and text. Face can be Cone, Cylinder Offset of Cone, Offset of Cylinder .
const gp_Ax1 & | Axis () const
| Returns the axis set by the SetAxis method, which serves to locate the angle between two faces. .
void | SetAxis (const gp_Ax1 &anAxis)
| Sets the axis, anAxis, which serves to locate the angle between two faces. .
Standard_EXPORT void | SetConeFace (const TopoDS_Face &aConeFace)
Standard_EXPORT void | SetFirstShape (const TopoDS_Shape &aFShape)
Standard_EXPORT void | SetSecondShape (const TopoDS_Shape &aSShape)
| Allows you to identify the second shape aSShape relative to the first. .
virtual AIS_KindOfDimension | KindOfDimension () const
| Returns PLANEANGLE as the kind of dimension. .
virtual Standard_Boolean | IsMovable () const
| Returns true if the angle dimension is movable. .
virtual Standard_EXPORT void | Compute (const Handle(Prs3d_Projector)&aProjector, const Handle(Geom_Transformation)&aTrsf, const Handle(Prs3d_Presentation)&aPresentation)
| Computes the presentation according to a point of view given by <aprojector>. This method should be used when the associated degenerated Presentations have been transformed by <atrsf> which is not a Pure Translation. The HLR Prs can't be deducted automatically WARNING :<atrsf> must be applied to the object to display before computation !!! .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Member Functions

Standard_EXPORT void | Compute (const Handle(PrsMgr_PresentationManager3d)&aPresentationManager, const Handle(Prs3d_Presentation)&aPresentation, const Standard_Integer aMode=0)
| Calculates the 3D view aPresentation and its updates. The latter are managed by aPresentationManager. aPresentableObject has the display mode aMode; this has the default value of 0, that is, the wireframe display mode. .
Standard_EXPORT void | Compute (const Handle(Prs3d_Projector)&aProjector, const Handle(Prs3d_Presentation)&aPresentation)

Calculates the 3D view aPresentation and its
updates. The latter are managed by
aPresentationManager. Each of the views in the
viewer and every modification such as rotation, for
example, entails recalculation.
It must be redefined to implement hidden line removal
for the object. The user never calls this method
himself. This is done via the InteractiveContext object
and is dependent on the point of view from which the
object is displayed.
.

Standard_EXPORT void | Compute (const Handle(PrsMgr_PresentationManager2d)&aPresentationManager, const Handle(Graphic2d_GraphicObject)&aPresentation, const Standard_Integer aMode=0)
| Calculates the 2D view aPresentation and its updates. The latter are managed by aPresentationManager. aPresentableObject has the display mode aMode; this has the default value of 0, that is, the wireframe display mode. Note that this syntax is not used in AIS as that package only concerns 3D display. .
virtual Standard_EXPORT void | ComputeSelection (const Handle(SelectMgr_Selection)&aSelection, const Standard_Integer aMode)

Recovers and calculates any sensitive primitive,
aSelection, available in Shape mode, specified by
aMode. As a rule, these are sensitive faces.
This method is defined as virtual. This enables you to
implement it in the creation of a new class of AIS
Interactive Object. You need to do this and in so
doing, redefine this method, if you create a class
which enriches the list of signatures and types.
.

Standard_EXPORT void | ComputeConeAngle (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoFacesAngle (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoPlanarFacesAngle (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoCurvilinearFacesAngle (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoEdgesAngle (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoEdgesNullAngle (const Handle(Prs3d_Presentation)&aPresentation, const Handle(Geom_Line)&l1, const Handle(Geom_Line)&l2, const gp_Pnt &ptat11, const gp_Pnt &ptat12, const gp_Pnt &ptat21, const gp_Pnt &ptat22, const Standard_Boolean isInf1, const Standard_Boolean isInf2)
Standard_EXPORT void | ComputeTwoEdgesNotNullAngle (const Handle(Prs3d_Presentation)&aPresentation, const Handle(Geom_Line)&l1, const Handle(Geom_Line)&l2, const gp_Pnt &ptat11, const gp_Pnt &ptat12, const gp_Pnt &ptat21, const gp_Pnt &ptat22, const Standard_Boolean isInf1, const Standard_Boolean isInf2)
Standard_EXPORT void | Compute3DSelection (const Handle(SelectMgr_Selection)&aSelection)
Standard_EXPORT void | Compute2DSelection (const Handle(SelectMgr_Selection)&aSelection)
Standard_EXPORT void | ComputeNull2DSelection (const Handle(SelectMgr_Selection)&aSelection, const Standard_Real distFS)
Standard_EXPORT void | ComputeConeAngleSelection (const Handle(SelectMgr_Selection)&aSelection)

## Private Attributes

Standard_Integer | myNbShape
gp_Pnt | myCenter
gp_Pnt | myFAttach
gp_Pnt | mySAttach
gp_Dir | myFDir
gp_Dir | mySDir
gp_Ax1 | myAxis
TopoDS_Face | myCone

## Constructor & Destructor Documentation

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Edge & | aFirstEdge,
|  | const TopoDS_Edge & | aSecondEdge,
|  | const Handle(Geom_Plane)& | aPlane,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Edge & | aFirstEdge,
|  | const TopoDS_Edge & | aSecondEdge,
|  | const Handle(Geom_Plane)& | aPlane,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText,
|  | const gp_Pnt & | aPosition,
|  | const DsgPrs_ArrowSide | aSymbolPrs,
|  | const Standard_Real | anArrowSize = `0.0`
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aCone,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aCone,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText,
|  | const gp_Pnt & | aPosition,
|  | const DsgPrs_ArrowSide | aSymbolPrs,
|  | const Standard_Real | anArrowSize = `0.01`
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aFirstFace,
|  | const TopoDS_Face & | aSecondFace,
|  | const gp_Ax1 & | anAxis,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aFirstFace,
|  | const TopoDS_Face & | aSecondFace,
|  | const gp_Ax1 & | anAxis,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText,
|  | const gp_Pnt & | aPosition,
|  | const DsgPrs_ArrowSide | aSymbolPrs,
|  | const Standard_Real | anArrowSize = `0.0`
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aFFace,
|  | const TopoDS_Face & | aSFace,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText
| ) |

Standard_EXPORT AIS_AngleDimension::AIS_AngleDimension | ( | const TopoDS_Face & | aFFace,
|  | const TopoDS_Face & | aSFace,
|  | const Standard_Real | aVal,
|  | const TCollection_ExtendedString & | aText,
|  | const gp_Pnt & | aPosition,
|  | const DsgPrs_ArrowSide | aSymbolPrs,
|  | const Standard_Real | anArrowSize = `0.001`
| ) |

## Member Function Documentation

const gp_Ax1 & AIS_AngleDimension::Axis | ( |  | ) | const`[inline]`

Standard_EXPORT void AIS_AngleDimension::Compute | ( | const Handle(PrsMgr_PresentationManager2d)& | aPresentationManager,
|  | const Handle(Graphic2d_GraphicObject)& | aPresentation,
|  | const Standard_Integer | aMode = `0`
| ) | `[private, virtual]`

| Reimplemented from PrsMgr_PresentableObject.

Standard_EXPORT void AIS_AngleDimension::Compute | ( | const Handle(Prs3d_Projector)& | aProjector,
|  | const Handle(Prs3d_Presentation)& | aPresentation
| ) | `[private, virtual]`

| Reimplemented from PrsMgr_PresentableObject.

Standard_EXPORT void AIS_AngleDimension::Compute | ( | const Handle(PrsMgr_PresentationManager3d)& | aPresentationManager,
|  | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Standard_Integer | aMode = `0`
| ) | `[private, virtual]`

| Reimplemented from PrsMgr_PresentableObject.

virtual Standard_EXPORT void AIS_AngleDimension::Compute | ( | const Handle(Prs3d_Projector)& | aProjector,
|  | const Handle(Geom_Transformation)& | aTrsf,
|  | const Handle(Prs3d_Presentation)& | aPresentation
| ) | `[virtual]`

| Reimplemented from PrsMgr_PresentableObject.

Standard_EXPORT void AIS_AngleDimension::Compute2DSelection | ( | const Handle(SelectMgr_Selection)& | aSelection | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::Compute3DSelection | ( | const Handle(SelectMgr_Selection)& | aSelection | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeConeAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeConeAngleSelection | ( | const Handle(SelectMgr_Selection)& | aSelection | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeNull2DSelection | ( | const Handle(SelectMgr_Selection)& | aSelection,
|  | const Standard_Real | distFS
| ) | `[private]`

virtual Standard_EXPORT void AIS_AngleDimension::ComputeSelection | ( | const Handle(SelectMgr_Selection)& | aSelection,
|  | const Standard_Integer | aMode
| ) | `[private, virtual]`

| Implements SelectMgr_SelectableObject.

Standard_EXPORT void AIS_AngleDimension::ComputeTwoCurvilinearFacesAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeTwoEdgesAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeTwoEdgesNotNullAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(Geom_Line)& | l1,
|  | const Handle(Geom_Line)& | l2,
|  | const gp_Pnt & | ptat11,
|  | const gp_Pnt & | ptat12,
|  | const gp_Pnt & | ptat21,
|  | const gp_Pnt & | ptat22,
|  | const Standard_Boolean | isInf1,
|  | const Standard_Boolean | isInf2
| ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeTwoEdgesNullAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(Geom_Line)& | l1,
|  | const Handle(Geom_Line)& | l2,
|  | const gp_Pnt & | ptat11,
|  | const gp_Pnt & | ptat12,
|  | const gp_Pnt & | ptat21,
|  | const gp_Pnt & | ptat22,
|  | const Standard_Boolean | isInf1,
|  | const Standard_Boolean | isInf2
| ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeTwoFacesAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT void AIS_AngleDimension::ComputeTwoPlanarFacesAngle | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT const AIS_AngleDimension::Handle | ( | Standard_Type |  | ) | const

| Reimplemented from AIS_Relation.

Standard_Boolean AIS_AngleDimension::IsMovable | ( |  | ) | const`[inline, virtual]`

| Reimplemented from AIS_Relation.

AIS_KindOfDimension AIS_AngleDimension::KindOfDimension | ( |  | ) | const`[inline, virtual]`

| Reimplemented from AIS_Relation.

void AIS_AngleDimension::SetAxis | ( | const gp_Ax1 & | anAxis | ) | `[inline]`

Standard_EXPORT void AIS_AngleDimension::SetConeFace | ( | const TopoDS_Face & | aConeFace | ) |

Standard_EXPORT void AIS_AngleDimension::SetFirstShape | ( | const TopoDS_Shape & | aFShape | ) | `[virtual]`

| Reimplemented from AIS_Relation.

Standard_EXPORT void AIS_AngleDimension::SetSecondShape | ( | const TopoDS_Shape & | aSShape | ) | `[virtual]`

| Reimplemented from AIS_Relation.

## Field Documentation

gp_Ax1 AIS_AngleDimension::myAxis `[private]`

gp_Pnt AIS_AngleDimension::myCenter `[private]`

TopoDS_Face AIS_AngleDimension::myCone `[private]`

gp_Pnt AIS_AngleDimension::myFAttach `[private]`

gp_Dir AIS_AngleDimension::myFDir `[private]`

Standard_Integer AIS_AngleDimension::myNbShape `[private]`

gp_Pnt AIS_AngleDimension::mySAttach `[private]`

gp_Dir AIS_AngleDimension::mySDir `[private]`

The documentation for this class was generated from the following files:

- AIS_AngleDimension.hxx
- AIS_AngleDimension.lxx