# Visualization
TKV3d
AIS

# AIS_FixRelation Class Reference

Constructs and manages a constraint by a fixed
relation between two or more interactive datums. This
constraint is represented by a wire from a shape -
point, vertex, or edge - in the first datum and a
corresponding shape in the second.
Warning: This relation is not bound with any kind of parametric
constraint : it represents the "status" of an parametric
object.
.

`#include <AIS_FixRelation.hxx>`

Inheritance diagram for AIS_FixRelation:

[legend]

## Public Member Functions

Standard_EXPORT | AIS_FixRelation (const TopoDS_Shape &aShape, const Handle(Geom_Plane)&aPlane, const TopoDS_Wire &aWire)
| initializes the vertex aShape, the plane aPlane and the wire aWire, which connects the two vertices in a fixed relation.
Standard_EXPORT | AIS_FixRelation (const TopoDS_Shape &aShape, const Handle(Geom_Plane)&aPlane, const TopoDS_Wire &aWire, const gp_Pnt &aPosition, const Standard_Real anArrowSize=0.01)
| initializes the vertex aShape, the plane aPlane and the wire aWire, the position aPosition, the arrow size anArrowSize and the wire aWire, which connects the two vertices in a fixed relation.
Standard_EXPORT | AIS_FixRelation (const TopoDS_Shape &aShape, const Handle(Geom_Plane)&aPlane)
| initializes the edge aShape and the plane aPlane.
Standard_EXPORT | AIS_FixRelation (const TopoDS_Shape &aShape, const Handle(Geom_Plane)&aPlane, const gp_Pnt &aPosition, const Standard_Real anArrowSize=0.01)
| initializes the edge aShape, the plane aPlane, the position aPosition and the arrow size anArrowSize.
Standard_EXPORT TopoDS_Wire | Wire ()
| Returns the wire which connects vertices in a fixed relation. .
Standard_EXPORT void | SetWire (const TopoDS_Wire &aWire)
| Constructs the wire aWire. This connects vertices which are in a fixed relation. .
virtual Standard_Boolean | IsMovable () const
| Returns true if the Interactive Objects in the relation are 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

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 | ComputeVertex (const TopoDS_Vertex &FixVertex, gp_Pnt &curpos)
| computes the presentation for <myfixshape> if it's a vertex.
Standard_EXPORT gp_Pnt | ComputePosition (const Handle(Geom_Curve)&curv1, const Handle(Geom_Curve)&curv2, const gp_Pnt &firstp1, const gp_Pnt &lastp1, const gp_Pnt &firstp2, const gp_Pnt &lastp2) const
Standard_EXPORT gp_Pnt | ComputePosition (const Handle(Geom_Curve)&curv, const gp_Pnt &firstp, const gp_Pnt &lastp) const
Standard_EXPORT void | ComputeEdge (const TopoDS_Edge &FixEdge, gp_Pnt &curpos)
| computes the presentation for <myfixshape> if it's a edge.
Standard_EXPORT void | ComputeLinePosition (const gp_Lin &glin, gp_Pnt &pos, Standard_Real &pfirst, Standard_Real &plast)
Standard_EXPORT void | ComputeCirclePosition (const gp_Circ &gcirc, gp_Pnt &pos, Standard_Real &pfirst, Standard_Real &plast)

## Static Private Member Functions

static Standard_EXPORT Standard_Boolean | ConnectedEdges (const TopoDS_Wire &aWire, const TopoDS_Vertex &aVertex, TopoDS_Edge &Edge1, TopoDS_Edge &Edge2)

## Private Attributes

TopoDS_Wire | myWire
gp_Pnt | myPntAttach
Standard_Boolean | haspos

## Constructor & Destructor Documentation

Standard_EXPORT AIS_FixRelation::AIS_FixRelation | ( | const TopoDS_Shape & | aShape,
|  | const Handle(Geom_Plane)& | aPlane,
|  | const TopoDS_Wire & | aWire
| ) |

Standard_EXPORT AIS_FixRelation::AIS_FixRelation | ( | const TopoDS_Shape & | aShape,
|  | const Handle(Geom_Plane)& | aPlane,
|  | const TopoDS_Wire & | aWire,
|  | const gp_Pnt & | aPosition,
|  | const Standard_Real | anArrowSize = `0.01`
| ) |

Standard_EXPORT AIS_FixRelation::AIS_FixRelation | ( | const TopoDS_Shape & | aShape,
|  | const Handle(Geom_Plane)& | aPlane
| ) |

Standard_EXPORT AIS_FixRelation::AIS_FixRelation | ( | const TopoDS_Shape & | aShape,
|  | const Handle(Geom_Plane)& | aPlane,
|  | const gp_Pnt & | aPosition,
|  | const Standard_Real | anArrowSize = `0.01`
| ) |

## Member Function Documentation

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

| Reimplemented from PrsMgr_PresentableObject.

Standard_EXPORT void AIS_FixRelation::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_FixRelation::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_FixRelation::ComputeCirclePosition | ( | const gp_Circ & | gcirc,
|  | gp_Pnt & | pos,
|  | Standard_Real & | pfirst,
|  | Standard_Real & | plast
| ) | `[private]`

Standard_EXPORT void AIS_FixRelation::ComputeEdge | ( | const TopoDS_Edge & | FixEdge,
|  | gp_Pnt & | curpos
| ) | `[private]`

Standard_EXPORT void AIS_FixRelation::ComputeLinePosition | ( | const gp_Lin & | glin,
|  | gp_Pnt & | pos,
|  | Standard_Real & | pfirst,
|  | Standard_Real & | plast
| ) | `[private]`

Standard_EXPORT gp_Pnt AIS_FixRelation::ComputePosition | ( | const Handle(Geom_Curve)& | curv,
|  | const gp_Pnt & | firstp,
|  | const gp_Pnt & | lastp
| ) | const`[private]`

Standard_EXPORT gp_Pnt AIS_FixRelation::ComputePosition | ( | const Handle(Geom_Curve)& | curv1,
|  | const Handle(Geom_Curve)& | curv2,
|  | const gp_Pnt & | firstp1,
|  | const gp_Pnt & | lastp1,
|  | const gp_Pnt & | firstp2,
|  | const gp_Pnt & | lastp2
| ) | const`[private]`

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

| Implements SelectMgr_SelectableObject.

Standard_EXPORT void AIS_FixRelation::ComputeVertex | ( | const TopoDS_Vertex & | FixVertex,
|  | gp_Pnt & | curpos
| ) | `[private]`

static Standard_EXPORT Standard_Boolean AIS_FixRelation::ConnectedEdges | ( | const TopoDS_Wire & | aWire,
|  | const TopoDS_Vertex & | aVertex,
|  | TopoDS_Edge & | Edge1,
|  | TopoDS_Edge & | Edge2
| ) | `[static, private]`

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

| Reimplemented from AIS_Relation.

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

| Reimplemented from AIS_Relation.

Standard_EXPORT void AIS_FixRelation::SetWire | ( | const TopoDS_Wire & | aWire | ) |

Standard_EXPORT TopoDS_Wire AIS_FixRelation::Wire | ( |  | ) |

## Field Documentation

Standard_Boolean AIS_FixRelation::haspos `[private]`

gp_Pnt AIS_FixRelation::myPntAttach `[private]`

TopoDS_Wire AIS_FixRelation::myWire `[private]`

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

- AIS_FixRelation.hxx
- AIS_FixRelation.lxx