# Visualization
TKV3d
AIS

# AIS_IdenticRelation Class Reference

Constructs a constraint by a relation of identity
between two or more datums figuring in shape
Interactive Objects.
.

`#include <AIS_IdenticRelation.hxx>`

Inheritance diagram for AIS_IdenticRelation:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_IdenticRelation (const TopoDS_Shape &FirstShape, const TopoDS_Shape &SecondShape, const Handle(Geom_Plane)&aPlane)
| Initializes the relation of identity between the two entities, FirstShape and SecondShape. The plane aPlane is initialized in case a visual reference is needed to show identity. .
virtual Standard_Boolean | IsMovable () const
| Returns true if the interactive object 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>. 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

## Private Member Functions

virtual 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 | ComputeOneEdgeOVertexPresentation (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoEdgesPresentation (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT void | ComputeTwoLinesPresentation (const Handle(Prs3d_Presentation)&aPresentation, const Handle(Geom_Line)&aLin, gp_Pnt &Pnt1On1, gp_Pnt &Pnt2On1, gp_Pnt &Pnt1On2, gp_Pnt &Pnt2On2, const Standard_Boolean isInf1, const Standard_Boolean isInf2)
Standard_EXPORT void | ComputeTwoCirclesPresentation (const Handle(Prs3d_Presentation)&aPresentation, const Handle(Geom_Circle)&aCircle, const gp_Pnt &Pnt1On1, const gp_Pnt &Pnt2On1, const gp_Pnt &Pnt1On2, const gp_Pnt &Pnt2On2)
Standard_EXPORT void | ComputeAutoArcPresentation (const Handle(Geom_Circle)&aCircle, const gp_Pnt &firstp, const gp_Pnt &lastp, const Standard_Boolean isstatic=Standard_False)
| Computes the presentation of the identic constraint between 2 arcs in the case of automatic presentation .
Standard_EXPORT void | ComputeNotAutoCircPresentation (const Handle(Geom_Circle)&aCircle)
| Computes the presentation of the identic constraint between 2 circles in the case of non automatic presentation .
Standard_EXPORT void | ComputeNotAutoArcPresentation (const Handle(Geom_Circle)&aCircle, const gp_Pnt &pntfirst, const gp_Pnt &pntlast)
| Computes the presentation of the identic constraint between 2 arcs in the case of non automatic presentation .
Standard_EXPORT void | ComputeTwoEllipsesPresentation (const Handle(Prs3d_Presentation)&aPrs, const Handle(Geom_Ellipse)&anEll, const gp_Pnt &Pnt1On1, const gp_Pnt &Pnt2On1, const gp_Pnt &Pnt1On2, const gp_Pnt &Pnt2On2)
Standard_EXPORT void | ComputeAutoArcPresentation (const Handle(Geom_Ellipse)&theEll, const gp_Pnt &firstp, const gp_Pnt &lastp, const Standard_Boolean isstatic=Standard_False)
| Computes the presentation of the identic constraint between 2 arcs in the case of automatic presentation .
Standard_EXPORT void | ComputeNotAutoElipsPresentation (const Handle(Geom_Ellipse)&theEll)
| Computes the presentation of the identic constraint between 2 ellipses in the case of non automatic presentation .
Standard_EXPORT void | ComputeNotAutoArcPresentation (const Handle(Geom_Ellipse)&theEll, const gp_Pnt &pntfirst, const gp_Pnt &pntlast)
| Computes the presentation of the identic constraint between 2 arcs in the case of non automatic presentation .
Standard_EXPORT void | ComputeTwoVerticesPresentation (const Handle(Prs3d_Presentation)&aPresentation)
Standard_EXPORT Standard_Real | ComputeSegSize () const
Standard_EXPORT Standard_Boolean | ComputeDirection (const TopoDS_Wire &aWire, const TopoDS_Vertex &aVertex, gp_Dir &aDir) const
Standard_EXPORT gp_Dir | ComputeLineDirection (const Handle(Geom_Line)&aLin, const gp_Pnt &anExtremity) const
Standard_EXPORT gp_Dir | ComputeCircleDirection (const Handle(Geom_Circle)&aCirc, const TopoDS_Vertex &ConnectedVertex) const

## Private Attributes

Standard_Boolean | isCircle
gp_Pnt | myFAttach
gp_Pnt | mySAttach
gp_Pnt | myCenter

## Constructor & Destructor Documentation

Standard_EXPORT AIS_IdenticRelation::AIS_IdenticRelation | ( | const TopoDS_Shape & | FirstShape,
|  | const TopoDS_Shape & | SecondShape,
|  | const Handle(Geom_Plane)& | aPlane
| ) |

## Member Function Documentation

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

| Reimplemented from PrsMgr_PresentableObject.

virtual Standard_EXPORT void AIS_IdenticRelation::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_IdenticRelation::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_IdenticRelation::ComputeAutoArcPresentation | ( | const Handle(Geom_Ellipse)& | theEll,
|  | const gp_Pnt & | firstp,
|  | const gp_Pnt & | lastp,
|  | const Standard_Boolean | isstatic = `Standard_False`
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeAutoArcPresentation | ( | const Handle(Geom_Circle)& | aCircle,
|  | const gp_Pnt & | firstp,
|  | const gp_Pnt & | lastp,
|  | const Standard_Boolean | isstatic = `Standard_False`
| ) | `[private]`

Standard_EXPORT gp_Dir AIS_IdenticRelation::ComputeCircleDirection | ( | const Handle(Geom_Circle)& | aCirc,
|  | const TopoDS_Vertex & | ConnectedVertex
| ) | const`[private]`

Standard_EXPORT Standard_Boolean AIS_IdenticRelation::ComputeDirection | ( | const TopoDS_Wire & | aWire,
|  | const TopoDS_Vertex & | aVertex,
|  | gp_Dir & | aDir
| ) | const`[private]`

Standard_EXPORT gp_Dir AIS_IdenticRelation::ComputeLineDirection | ( | const Handle(Geom_Line)& | aLin,
|  | const gp_Pnt & | anExtremity
| ) | const`[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeNotAutoArcPresentation | ( | const Handle(Geom_Ellipse)& | theEll,
|  | const gp_Pnt & | pntfirst,
|  | const gp_Pnt & | pntlast
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeNotAutoArcPresentation | ( | const Handle(Geom_Circle)& | aCircle,
|  | const gp_Pnt & | pntfirst,
|  | const gp_Pnt & | pntlast
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeNotAutoCircPresentation | ( | const Handle(Geom_Circle)& | aCircle | ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeNotAutoElipsPresentation | ( | const Handle(Geom_Ellipse)& | theEll | ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeOneEdgeOVertexPresentation | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT Standard_Real AIS_IdenticRelation::ComputeSegSize | ( |  | ) | const`[private]`

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

| Implements SelectMgr_SelectableObject.

Standard_EXPORT void AIS_IdenticRelation::ComputeTwoCirclesPresentation | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(Geom_Circle)& | aCircle,
|  | const gp_Pnt & | Pnt1On1,
|  | const gp_Pnt & | Pnt2On1,
|  | const gp_Pnt & | Pnt1On2,
|  | const gp_Pnt & | Pnt2On2
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeTwoEdgesPresentation | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeTwoEllipsesPresentation | ( | const Handle(Prs3d_Presentation)& | aPrs,
|  | const Handle(Geom_Ellipse)& | anEll,
|  | const gp_Pnt & | Pnt1On1,
|  | const gp_Pnt & | Pnt2On1,
|  | const gp_Pnt & | Pnt1On2,
|  | const gp_Pnt & | Pnt2On2
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeTwoLinesPresentation | ( | const Handle(Prs3d_Presentation)& | aPresentation,
|  | const Handle(Geom_Line)& | aLin,
|  | gp_Pnt & | Pnt1On1,
|  | gp_Pnt & | Pnt2On1,
|  | gp_Pnt & | Pnt1On2,
|  | gp_Pnt & | Pnt2On2,
|  | const Standard_Boolean | isInf1,
|  | const Standard_Boolean | isInf2
| ) | `[private]`

Standard_EXPORT void AIS_IdenticRelation::ComputeTwoVerticesPresentation | ( | const Handle(Prs3d_Presentation)& | aPresentation | ) | `[private]`

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

| Reimplemented from AIS_Relation.

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

| Reimplemented from AIS_Relation.

## Field Documentation

Standard_Boolean AIS_IdenticRelation::isCircle `[private]`

gp_Pnt AIS_IdenticRelation::myCenter `[private]`

gp_Pnt AIS_IdenticRelation::myFAttach `[private]`

gp_Pnt AIS_IdenticRelation::mySAttach `[private]`

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

- AIS_IdenticRelation.hxx
- AIS_IdenticRelation.lxx