# Visualization
TKV3d
AIS

# AIS_ConnectedInteractive Class Reference

Defines an Interactive Object through a connection to
another Interactive Object, which serves as a
reference, and which is located elsewhere in the viewer.
This allows you to use the Connected Interactive
Object without having to recalculate presentation,
selection or graphic structure. These are deduced
from your reference object.
The relation between the connected interactive object
and its source is generally one of geometric transformation.
Warning
An Interactive entity which is view (or projector)
dependent requires recalculation of views in hidden
parts mode depending on the position of the
projector in each view. You should derive the entity's
inheritance from ConnectedInteractive and redefine
its compute method to enable this type of calculation.
.

`#include <AIS_ConnectedInteractive.hxx>`

Inheritance diagram for AIS_ConnectedInteractive:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_ConnectedInteractive (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
| Disconnects the previous view and sets highlight mode to 0. This highlights the wireframe presentation aTypeOfPresentation3d. Top_AllView deactivates hidden line removal. .
virtual Standard_EXPORT AIS_KindOfInteractive | Type () const
| Returns KOI_Object .
virtual Standard_EXPORT Standard_Integer | Signature () const
| Returns 1 .
virtual Standard_EXPORT void | Connect (const Handle(AIS_InteractiveObject)&anotherIObj)
| Establishes the connection between the Connected Interactive Object, anotherIobj, and its reference entity. If a previous connection with an Interactive Object already exists, it is removed by Disconnect. The second syntax also initiates the location of the Connected Interactive Object. .
virtual Standard_EXPORT void | Connect (const Handle(AIS_InteractiveObject)&anotherIobj, const TopLoc_Location &aLocation)
Standard_Boolean | HasConnection () const
| Returns true if there is a connection established between the presentation and its source reference. .
const Handle_AIS_InteractiveObject & | ConnectedTo () const
| Returns the connection with the reference Interactive Object. .
Standard_EXPORT void | Disconnect ()
| Clears the connection with a source reference. The presentation will no longer be displayed. Warning Must be done before deleting the presentation. .
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 !!! .
virtual 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.
.

virtual Standard_EXPORT void | Compute (const Handle(PrsMgr_PresentationManager2d)&aPresentationManager, const Handle(Graphic2d_GraphicObject)&aPresentation, const Standard_Integer aMode=0)
| this method should fill the presentation according to the enumerated mode of the application and to the display parameter of the application.
virtual Standard_Boolean | AcceptShapeDecomposition () const

Informs the graphic context that the interactive Object
may be decomposed into sub-shapes for dynamic selection.
The most used Interactive Object is AIS_Shape.
Activation methods for standard selection modes are
proposed in the Interactive Context. These include
selection by vertex or by edges. For datums with the
same behavior as AIS_Shape, such as vetices and
edges, we must redefine the virtual method so that
AcceptShapeDecomposition returns false.
Rule for selection :
Mode 0 : Selection of the interactive Object itself
Mode 1 : Selection of vertices
Mode 2 : Selection Of Edges
Mode 3 : Selection Of Wires
Mode 4 : Selection Of Faces ...
.

virtual Standard_EXPORT void | UpdateLocation ()
| Recomputes the location of the selection aSelection. .
virtual Standard_EXPORT void | UpdateLocation (const Handle(SelectMgr_Selection)&aSel)
| For this class, the location effect is treated in the compute & computeSelection methods. So the UpdateLocation Methods are redefined to do nothing else .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Attributes

Handle_AIS_InteractiveObject | myReference
Handle_AIS_InteractiveObject | myOldReference

## 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 view aPresentation and its updates. The latter are managed by aPresentationManager. The display mode aMode is 0 by default. this method is redefined virtual; when the instance is connected to another InteractiveObject,this method doesn't compute anything, but just uses the presentation of this last object, with a transformation if there's one stored. .
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 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. .

## Constructor & Destructor Documentation

Standard_EXPORT AIS_ConnectedInteractive::AIS_ConnectedInteractive | ( | const PrsMgr_TypeOfPresentation3d | aTypeOfPresentation3d = `PrsMgr_TOP_AllView` | ) |

## Member Function Documentation

Standard_Boolean AIS_ConnectedInteractive::AcceptShapeDecomposition | ( |  | ) | const`[inline, virtual]`

| Reimplemented from AIS_InteractiveObject. Reimplemented in AIS_ConnectedShape.

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

| Reimplemented from PrsMgr_PresentableObject. Reimplemented in AIS_ConnectedShape.

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

| Reimplemented from PrsMgr_PresentableObject. Reimplemented in AIS_ConnectedShape.

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

| Reimplemented from PrsMgr_PresentableObject. Reimplemented in AIS_ConnectedShape.

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

| Reimplemented from PrsMgr_PresentableObject. Reimplemented in AIS_ConnectedShape.

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

| Implements SelectMgr_SelectableObject. Reimplemented in AIS_ConnectedShape.

virtual Standard_EXPORT void AIS_ConnectedInteractive::Connect | ( | const Handle(AIS_InteractiveObject)& | anotherIobj,
|  | const TopLoc_Location & | aLocation
| ) | `[virtual]`

| Reimplemented in AIS_ConnectedShape.

virtual Standard_EXPORT void AIS_ConnectedInteractive::Connect | ( | const Handle(AIS_InteractiveObject)& | anotherIObj | ) | `[virtual]`

| Reimplemented in AIS_ConnectedShape.

const Handle_AIS_InteractiveObject& AIS_ConnectedInteractive::ConnectedTo | ( |  | ) | const

Standard_EXPORT void AIS_ConnectedInteractive::Disconnect | ( |  | ) |

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

| Reimplemented from AIS_InteractiveObject. Reimplemented in AIS_ConnectedShape.

Standard_Boolean AIS_ConnectedInteractive::HasConnection | ( |  | ) | const`[inline]`

virtual Standard_EXPORT Standard_Integer AIS_ConnectedInteractive::Signature | ( |  | ) | const`[virtual]`

| Reimplemented from AIS_InteractiveObject. Reimplemented in AIS_ConnectedShape.

virtual Standard_EXPORT AIS_KindOfInteractive AIS_ConnectedInteractive::Type | ( |  | ) | const`[virtual]`

| Reimplemented from AIS_InteractiveObject. Reimplemented in AIS_ConnectedShape.

virtual Standard_EXPORT void AIS_ConnectedInteractive::UpdateLocation | ( | const Handle(SelectMgr_Selection)& | aSel | ) | `[virtual]`

| Reimplemented from SelectMgr_SelectableObject.

virtual Standard_EXPORT void AIS_ConnectedInteractive::UpdateLocation | ( |  | ) | `[virtual]`

| Reimplemented from SelectMgr_SelectableObject.

## Field Documentation

Handle_AIS_InteractiveObject AIS_ConnectedInteractive::myOldReference `[protected]`

Handle_AIS_InteractiveObject AIS_ConnectedInteractive::myReference `[protected]`

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

- AIS_ConnectedInteractive.hxx
- AIS_ConnectedInteractive.lxx