# Visualization
TKV3d
AIS

# AIS_EqualDistanceRelation Class Reference

A framework to display equivalent distances between
shapes and a given plane.
The distance is the length of a projection from the
shape to the plane.
These distances are used to compare shapes by this vector alone.
.

`#include <AIS_EqualDistanceRelation.hxx>`

Inheritance diagram for AIS_EqualDistanceRelation:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_EqualDistanceRelation (const TopoDS_Shape &aShape1, const TopoDS_Shape &aShape2, const TopoDS_Shape &aShape3, const TopoDS_Shape &aShape4, const Handle(Geom_Plane)&aPlane)
| Constructs a framework to display equivalent distances between the shapes aShape1, aShape2, aShape3, aShape4 and the plane aPlane. The distance is the length of a projection from the shape to the plane. .
void | SetShape3 (const TopoDS_Shape &aShape)
| Sets the shape aShape to be used as the shape aShape3 in the framework created at construction time. .
const TopoDS_Shape & | Shape3 () const
| Returns the shape aShape3 from the framework created at construction time. .
void | SetShape4 (const TopoDS_Shape &aShape)
| Sets the shape aShape to be used as the shape aShape4 in the framework created at construction time. .
const TopoDS_Shape & | Shape4 () const
| Returns the shape aShape4 from the framework created at construction time. .
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>. To 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

## Static Public Member Functions

static Standard_EXPORT void

ComputeTwoEdgesLength (const Handle(Prs3d_Presentation)&aPresentation, const Handle(AIS_Drawer)&aDrawer, const Standard_Real ArrowSize, const TopoDS_Edge &FirstEdge, const TopoDS_Edge &SecondEdge, const Handle(Geom_Plane)&Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box &BndBox, gp_Pnt &Position, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Pnt &FirstExtreme, gp_Pnt &SecondExtreme, DsgPrs_ArrowSide &SymbolPrs)

| Computes the location of an intreval between between two edges. FirstAttach , SecondAttach are the returned extreme points of the interval. .

static Standard_EXPORT void

ComputeTwoVerticesLength (const Handle(Prs3d_Presentation)&aPresentation, const Handle(AIS_Drawer)&aDrawer, const Standard_Real ArrowSize, const TopoDS_Vertex &FirstVertex, const TopoDS_Vertex &SecondVertex, const Handle(Geom_Plane)&Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box &BndBox, const AIS_TypeOfDist TypeDist, gp_Pnt &Position, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Pnt &FirstExtreme, gp_Pnt &SecondExtreme, DsgPrs_ArrowSide &SymbolPrs)

| Computes the interval position between two vertexs. FirstAttach, SecondAttach are the returned extreme points of the interval. .

static Standard_EXPORT void

ComputeOneEdgeOneVertexLength (const Handle(Prs3d_Presentation)&aPresentation, const Handle(AIS_Drawer)&aDrawer, const Standard_Real ArrowSize, const TopoDS_Shape &FirstShape, const TopoDS_Shape &SecondShape, const Handle(Geom_Plane)&Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box &BndBox, gp_Pnt &Position, gp_Pnt &FirstAttach, gp_Pnt &SecondAttach, gp_Pnt &FirstExtreme, gp_Pnt &SecondExtreme, DsgPrs_ArrowSide &SymbolPrs)

| Compute the interval location between a vertex and an edge. Edge may be a line or a circle. .

## 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. .
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.
.

## Private Attributes

TopoDS_Shape | myShape3
TopoDS_Shape | myShape4
gp_Pnt | myAttachPoint1
gp_Pnt | myAttachPoint2
gp_Pnt | myAttachPoint3
gp_Pnt | myAttachPoint4
gp_Pnt | myPoint1
gp_Pnt | myPoint2
gp_Pnt | myPoint3
gp_Pnt | myPoint4

## Constructor & Destructor Documentation

Standard_EXPORT AIS_EqualDistanceRelation::AIS_EqualDistanceRelation | ( | const TopoDS_Shape & | aShape1,
|  | const TopoDS_Shape & | aShape2,
|  | const TopoDS_Shape & | aShape3,
|  | const TopoDS_Shape & | aShape4,
|  | const Handle(Geom_Plane)& | aPlane
| ) |

## Member Function Documentation

Standard_EXPORT void AIS_EqualDistanceRelation::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_EqualDistanceRelation::Compute | ( | const Handle(Prs3d_Projector)& | aProjector,
|  | const Handle(Prs3d_Presentation)& | aPresentation
| ) | `[private, virtual]`

| Reimplemented from PrsMgr_PresentableObject.

Standard_EXPORT void AIS_EqualDistanceRelation::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_EqualDistanceRelation::Compute | ( | const Handle(Prs3d_Projector)& | aProjector,
|  | const Handle(Geom_Transformation)& | aTrsf,
|  | const Handle(Prs3d_Presentation)& | aPresentation
| ) | `[virtual]`

| Reimplemented from PrsMgr_PresentableObject.

static Standard_EXPORT void AIS_EqualDistanceRelation::ComputeOneEdgeOneVertexLength | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(AIS_Drawer)& | aDrawer,
|  | const Standard_Real | ArrowSize,
|  | const TopoDS_Shape & | FirstShape,
|  | const TopoDS_Shape & | SecondShape,
|  | const Handle(Geom_Plane)& | Plane,
|  | const Standard_Boolean | AutomaticPos,
|  | const Standard_Boolean | IsSetBndBox,
|  | const Bnd_Box & | BndBox,
|  | gp_Pnt & | Position,
|  | gp_Pnt & | FirstAttach,
|  | gp_Pnt & | SecondAttach,
|  | gp_Pnt & | FirstExtreme,
|  | gp_Pnt & | SecondExtreme,
|  | DsgPrs_ArrowSide & | SymbolPrs
| ) | `[static]`

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

| Implements SelectMgr_SelectableObject.

static Standard_EXPORT void AIS_EqualDistanceRelation::ComputeTwoEdgesLength | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(AIS_Drawer)& | aDrawer,
|  | const Standard_Real | ArrowSize,
|  | const TopoDS_Edge & | FirstEdge,
|  | const TopoDS_Edge & | SecondEdge,
|  | const Handle(Geom_Plane)& | Plane,
|  | const Standard_Boolean | AutomaticPos,
|  | const Standard_Boolean | IsSetBndBox,
|  | const Bnd_Box & | BndBox,
|  | gp_Pnt & | Position,
|  | gp_Pnt & | FirstAttach,
|  | gp_Pnt & | SecondAttach,
|  | gp_Pnt & | FirstExtreme,
|  | gp_Pnt & | SecondExtreme,
|  | DsgPrs_ArrowSide & | SymbolPrs
| ) | `[static]`

static Standard_EXPORT void AIS_EqualDistanceRelation::ComputeTwoVerticesLength | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(AIS_Drawer)& | aDrawer,
|  | const Standard_Real | ArrowSize,
|  | const TopoDS_Vertex & | FirstVertex,
|  | const TopoDS_Vertex & | SecondVertex,
|  | const Handle(Geom_Plane)& | Plane,
|  | const Standard_Boolean | AutomaticPos,
|  | const Standard_Boolean | IsSetBndBox,
|  | const Bnd_Box & | BndBox,
|  | const AIS_TypeOfDist | TypeDist,
|  | gp_Pnt & | Position,
|  | gp_Pnt & | FirstAttach,
|  | gp_Pnt & | SecondAttach,
|  | gp_Pnt & | FirstExtreme,
|  | gp_Pnt & | SecondExtreme,
|  | DsgPrs_ArrowSide & | SymbolPrs
| ) | `[static]`

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

| Reimplemented from AIS_Relation.

void AIS_EqualDistanceRelation::SetShape3 | ( | const TopoDS_Shape & | aShape | ) | `[inline]`

void AIS_EqualDistanceRelation::SetShape4 | ( | const TopoDS_Shape & | aShape | ) | `[inline]`

const TopoDS_Shape & AIS_EqualDistanceRelation::Shape3 | ( |  | ) | const`[inline]`

const TopoDS_Shape & AIS_EqualDistanceRelation::Shape4 | ( |  | ) | const`[inline]`

## Field Documentation

gp_Pnt AIS_EqualDistanceRelation::myAttachPoint1 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myAttachPoint2 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myAttachPoint3 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myAttachPoint4 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myPoint1 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myPoint2 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myPoint3 `[private]`

gp_Pnt AIS_EqualDistanceRelation::myPoint4 `[private]`

TopoDS_Shape AIS_EqualDistanceRelation::myShape3 `[private]`

TopoDS_Shape AIS_EqualDistanceRelation::myShape4 `[private]`

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

- AIS_EqualDistanceRelation.hxx
- AIS_EqualDistanceRelation.lxx