# Visualization
TKV3d
PrsMgr

# PrsMgr_PresentableObject Class Reference

A framework to supply the Graphic2d or Graphic3d
structure of the object to be presented. On the first
display request, this structure is created by calling the
appropriate algorithm and retaining this frameworkfor
further display.
This abstract framework is inherited in Application
Interactive Services (AIS), notably in:
- AIS_InteractiveObject
- AIS_ConnectedInteractive
- AIS_MultipleConnectedInteractive
- AIS_Shape
Consequently, 3D presentation should be handled by
the relevant daughter classes and their member
functions in AIS. This is particularly true in the
creation of new interactive objects.
.

`#include <PrsMgr_PresentableObject.hxx>`

Inheritance diagram for PrsMgr_PresentableObject:

[legend]

## Public Member Functions

Standard_EXPORT PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const
| Returns information on whether the object accepts display in HLR mode or not. .
virtual Standard_EXPORT void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint)
| Sets up Transform Persistence Mode for this object .
Standard_EXPORT void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
| Calls previous method with point (0,0,0) .
Standard_EXPORT Graphic3d_TransModeFlags | GetTransformPersistenceMode () const
| Gets Transform Persistence Mode for this object .
Standard_EXPORT gp_Pnt | GetTransformPersistencePoint () const
| Gets point of transform persistence for this object .
Standard_EXPORT void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType)
Standard_EXPORT void | SetToUpdate (const Standard_Integer aMode)
| flags the Prs of mode <amode> to be Updated. the Update will be done when needed.
Standard_EXPORT void | SetToUpdate ()
| flags all the Presentations to be Updated.
Standard_EXPORT void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
| gives the list of modes which are flagged "to be updated".
virtual Standard_EXPORT void | SetLocation (const TopLoc_Location &aLoc)
Standard_EXPORT Standard_Boolean | HasLocation () const
const TopLoc_Location & | Location () const
virtual Standard_EXPORT void | ResetLocation ()
virtual Standard_EXPORT void | UpdateLocation ()
virtual Standard_EXPORT void | UpdateLocation (const Handle(Prs3d_Presentation)&P)
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Member Functions

Standard_EXPORT | PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
virtual 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 | 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. .
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(Prs3d_Projector)&aProjector, const Handle(Geom_Transformation)&aTrsf, const Handle(Prs3d_Presentation)&aPresentation)

Calculates the 3D view aPresentation and its
updates. The latter are managed by
aPresentationManager. A point of view is provided
by the projector aProjector, and the geometric
transformation which has transformed associated
presentable objects is specified by aTrsf.
This function is to be used in case where a hidden
line removal display cannot be calculated
automatically. This occurs when associated
presentable objects have been transformed
geometrically, but not translated.
Warning
The transformation aTrsf must be applied to the
object before computation.
.

Standard_EXPORT void | Update (const Standard_Boolean AllModes=Standard_False)
| recomputes all presentations of the object.
Standard_EXPORT void | Update (const Standard_Integer aMode, const Standard_Boolean ClearOther)
| Recomputes the presentation in the given mode. If ClearOther is true, other presentation will be cleared. .
virtual Standard_EXPORT void | Fill (const Handle(PrsMgr_PresentationManager)&aPresentationManager, const Handle(PrsMgr_Presentation)&aPresentation, const Standard_Integer aMode=0)
| High-level interface for controlling polygon offsets .
Standard_EXPORT PrsMgr_Presentations & | Presentations ()

## Protected Attributes

PrsMgr_Presentations | myPresentations
PrsMgr_TypeOfPresentation3d | myTypeOfPresentation3d
TopLoc_Location | myLocation

## Private Attributes

Graphic3d_CTransPersStruct | myTransformPersistence

## Friends

Standard_EXPORT Handle_Graphic3d_Structure | PrsMgr_Presentation3d::Compute (const Handle(Graphic3d_DataStructureManager)&aProjector)
Standard_EXPORT void | PrsMgr_Presentation3d::Compute (const Handle(Graphic3d_DataStructureManager)&aProjector, const Handle(Graphic3d_Structure)&aGivenStruct)
Standard_EXPORT Handle_Graphic3d_Structure | PrsMgr_Presentation3d::Compute (const Handle(Graphic3d_DataStructureManager)&aProjector, const Handle(Geom_Transformation)&TheTrsf)
Standard_EXPORT void | PrsMgr_Presentation3d::Compute (const Handle(Graphic3d_DataStructureManager)&aProjector, const Handle(Geom_Transformation)&TheTrsf, const Handle(Graphic3d_Structure)&aGivenStruct)

## Constructor & Destructor Documentation

Standard_EXPORT PrsMgr_PresentableObject::PrsMgr_PresentableObject | ( | const PrsMgr_TypeOfPresentation3d | aTypeOfPresentation3d = `PrsMgr_TOP_AllView` | ) | `[protected]`

## Member Function Documentation

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

Reimplemented in AIS_AngleDimension, AIS_Axis, AIS_Chamf2dDimension, AIS_Chamf3dDimension, AIS_Circle, AIS_ConcentricRelation, AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_DiameterDimension, AIS_EqualDistanceRelation, AIS_EqualRadiusRelation, AIS_FixRelation, AIS_IdenticRelation, AIS_LengthDimension, AIS_Line, AIS_MaxRadiusDimension, AIS_MidPointRelation, AIS_MinRadiusDimension, AIS_MultipleConnectedInteractive, AIS_MultipleConnectedShape, AIS_OffsetDimension, AIS_ParallelRelation, AIS_PerpendicularRelation, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RadiusDimension, AIS_Shape, AIS_SymmetricRelation, AIS_TangentRelation, AIS_Trihedron, and StdSelect_Shape.

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

Reimplemented in AIS_AngleDimension, AIS_Axis, AIS_Chamf2dDimension, AIS_Chamf3dDimension, AIS_Circle, AIS_ConcentricRelation, AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_DiameterDimension, AIS_EqualDistanceRelation, AIS_EqualRadiusRelation, AIS_FixRelation, AIS_IdenticRelation, AIS_LengthDimension, AIS_Line, AIS_MaxRadiusDimension, AIS_MidPointRelation, AIS_MinRadiusDimension, AIS_MultipleConnectedInteractive, AIS_MultipleConnectedShape, AIS_OffsetDimension, AIS_ParallelRelation, AIS_PerpendicularRelation, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RadiusDimension, AIS_Shape, AIS_SymmetricRelation, AIS_TangentRelation, AIS_Trihedron, and StdSelect_Shape.

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

Reimplemented in AIS_AngleDimension, AIS_Axis, AIS_Chamf2dDimension, AIS_Chamf3dDimension, AIS_Circle, AIS_ConcentricRelation, AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_DiameterDimension, AIS_EqualDistanceRelation, AIS_EqualRadiusRelation, AIS_FixRelation, AIS_IdenticRelation, AIS_LengthDimension, AIS_Line, AIS_MaxRadiusDimension, AIS_MidPointRelation, AIS_MinRadiusDimension, AIS_MultipleConnectedInteractive, AIS_MultipleConnectedShape, AIS_OffsetDimension, AIS_ParallelRelation, AIS_PerpendicularRelation, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RadiusDimension, AIS_Shape, AIS_SymmetricRelation, AIS_TangentRelation, AIS_TexturedShape, AIS_Trihedron, MeshVS_Mesh, StdSelect_Shape, and Voxel_Prs.

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

Reimplemented in AIS_AngleDimension, AIS_Axis, AIS_Chamf2dDimension, AIS_Chamf3dDimension, AIS_Circle, AIS_ConcentricRelation, AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_DiameterDimension, AIS_EqualDistanceRelation, AIS_EqualRadiusRelation, AIS_FixRelation, AIS_IdenticRelation, AIS_LengthDimension, AIS_Line, AIS_MaxRadiusDimension, AIS_MidPointRelation, AIS_MinRadiusDimension, AIS_MultipleConnectedInteractive, AIS_MultipleConnectedShape, AIS_OffsetDimension, AIS_ParallelRelation, AIS_PerpendicularRelation, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RadiusDimension, AIS_Shape, AIS_SymmetricRelation, AIS_TangentRelation, AIS_Trihedron, and StdSelect_Shape.

virtual Standard_EXPORT void PrsMgr_PresentableObject::Fill | ( | const Handle(PrsMgr_PresentationManager)& | aPresentationManager,
|  | const Handle(PrsMgr_Presentation)& | aPresentation,
|  | const Standard_Integer | aMode = `0`
| ) | `[protected, virtual]`

| Reimplemented in AIS_InteractiveObject.

Standard_EXPORT Graphic3d_TransModeFlags PrsMgr_PresentableObject::GetTransformPersistenceMode | ( |  | ) | const

Standard_EXPORT gp_Pnt PrsMgr_PresentableObject::GetTransformPersistencePoint | ( |  | ) | const

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

Reimplemented in AIS_AngleDimension, AIS_Axis, AIS_Chamf2dDimension, AIS_Chamf3dDimension, AIS_Circle, AIS_ConcentricRelation, AIS_ConnectedInteractive, AIS_ConnectedShape, AIS_DiameterDimension, AIS_EllipseRadiusDimension, AIS_EqualDistanceRelation, AIS_EqualRadiusRelation, AIS_FixRelation, AIS_IdenticRelation, AIS_InteractiveObject, AIS_LengthDimension, AIS_Line, AIS_MaxRadiusDimension, AIS_MidPointRelation, AIS_MinRadiusDimension, AIS_MultipleConnectedInteractive, AIS_MultipleConnectedShape, AIS_OffsetDimension, AIS_ParallelRelation, AIS_PerpendicularRelation, AIS_Plane, AIS_PlaneTrihedron, AIS_Point, AIS_RadiusDimension, AIS_Relation, AIS_Shape, AIS_SymmetricRelation, AIS_TangentRelation, AIS_TexturedShape, AIS_Trihedron, MeshVS_Mesh, SelectMgr_SelectableObject, StdSelect_Shape, and Voxel_Prs.

Standard_EXPORT Standard_Boolean PrsMgr_PresentableObject::HasLocation | ( |  | ) | const

const TopLoc_Location & PrsMgr_PresentableObject::Location | ( |  | ) | const`[inline]`

Standard_EXPORT PrsMgr_Presentations& PrsMgr_PresentableObject::Presentations | ( |  | ) | `[protected]`

virtual Standard_EXPORT void PrsMgr_PresentableObject::ResetLocation | ( |  | ) | `[virtual]`

| Reimplemented in SelectMgr_SelectableObject.

virtual Standard_EXPORT void PrsMgr_PresentableObject::SetLocation | ( | const TopLoc_Location & | aLoc | ) | `[virtual]`

Standard_EXPORT void PrsMgr_PresentableObject::SetToUpdate | ( |  | ) |

Standard_EXPORT void PrsMgr_PresentableObject::SetToUpdate | ( | const Standard_Integer | aMode | ) |

Standard_EXPORT void PrsMgr_PresentableObject::SetTransformPersistence | ( | const Graphic3d_TransModeFlags & | aFlag | ) |

virtual Standard_EXPORT void PrsMgr_PresentableObject::SetTransformPersistence | ( | const Graphic3d_TransModeFlags & | aFlag,
|  | const gp_Pnt & | APoint
| ) | `[virtual]`

Standard_EXPORT void PrsMgr_PresentableObject::SetTypeOfPresentation | ( | const PrsMgr_TypeOfPresentation3d | aType | ) |

Standard_EXPORT void PrsMgr_PresentableObject::ToBeUpdated | ( | TColStd_ListOfInteger & | ListOfMode | ) | const

PrsMgr_TypeOfPresentation3d PrsMgr_PresentableObject::TypeOfPresentation3d | ( |  | ) | const`[inline]`

Standard_EXPORT void PrsMgr_PresentableObject::Update | ( | const Standard_Integer | aMode,
|  | const Standard_Boolean | ClearOther
| ) | `[protected]`

Standard_EXPORT void PrsMgr_PresentableObject::Update | ( | const Standard_Boolean | AllModes = `Standard_False` | ) | `[protected]`

virtual Standard_EXPORT void PrsMgr_PresentableObject::UpdateLocation | ( | const Handle(Prs3d_Presentation)& | P | ) | `[virtual]`

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

| Reimplemented in AIS_ConnectedInteractive, and SelectMgr_SelectableObject.

## Friends And Related Function Documentation

Standard_EXPORT void PrsMgr_Presentation3d::Compute | ( | const Handle(Graphic3d_DataStructureManager)& | aProjector,
|  | const Handle(Geom_Transformation)& | TheTrsf,
|  | const Handle(Graphic3d_Structure)& | aGivenStruct
| ) | `[friend]`

Standard_EXPORT Handle_Graphic3d_Structure PrsMgr_Presentation3d::Compute | ( | const Handle(Graphic3d_DataStructureManager)& | aProjector,
|  | const Handle(Geom_Transformation)& | TheTrsf
| ) | `[friend]`

Standard_EXPORT void PrsMgr_Presentation3d::Compute | ( | const Handle(Graphic3d_DataStructureManager)& | aProjector,
|  | const Handle(Graphic3d_Structure)& | aGivenStruct
| ) | `[friend]`

Standard_EXPORT Handle_Graphic3d_Structure PrsMgr_Presentation3d::Compute | ( | const Handle(Graphic3d_DataStructureManager)& | aProjector | ) | `[friend]`

## Field Documentation

TopLoc_Location PrsMgr_PresentableObject::myLocation `[protected]`

PrsMgr_Presentations PrsMgr_PresentableObject::myPresentations `[protected]`

Graphic3d_CTransPersStruct PrsMgr_PresentableObject::myTransformPersistence `[private]`

PrsMgr_TypeOfPresentation3d PrsMgr_PresentableObject::myTypeOfPresentation3d `[protected]`

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

- PrsMgr_PresentableObject.hxx
- PrsMgr_PresentableObject.lxx