Open CASCADE Technology: PrsMgr_PresentableObject Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Protected Member Functions | Protected Attributes | Friends
PrsMgr_PresentableObject Class Reference

A framework to supply the 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: More...

`#include <PrsMgr_PresentableObject.hxx>`

Inheritance diagram for PrsMgr_PresentableObject:
[legend]

## Public Member Functions
PrsMgr_Presentations & | Presentations ()
PrsMgr_TypeOfPresentation3d | TypeOfPresentation3d () const
| Returns information on whether the object accepts display in HLR mode or not. More...
virtual void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint)
| Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by APoint parameter (except Graphic3d_TMF_TriedronPers flag. More...
void | SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
| Calls previous method with point (0,0,0) More...
Graphic3d_TransModeFlags | GetTransformPersistenceMode () const
| Gets Transform Persistence Mode for this object. More...
gp_Pnt | GetTransformPersistencePoint () const
| Gets point of transform persistence for this object. More...
void | SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType)
void | SetToUpdate (const Standard_Integer aMode)
| flags the Prs of mode <AMode> to be Updated. the Update will be done when needed. More...
void | SetToUpdate ()
| flags all the Presentations to be Updated. More...
void | ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
| gives the list of modes which are flagged "to be updated". More...
virtual void | SetLocalTransformation (const gp_Trsf &theTransformation)
| Sets local transformation to theTransformation. More...
Standard_Boolean | HasTransformation () const
| Returns true if object has a transformation that is different from the identity. More...
const gp_Trsf & | LocalTransformation () const
const gp_Trsf & | Transformation () const
virtual void | ResetTransformation ()
| resets local transformation to identity. More...
virtual void | UpdateTransformation ()
virtual void | UpdateTransformation (const Handle< Prs3d_Presentation > &P)
virtual void | SetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Standard_Integer theLayerId)
| Set Z layer ID and update all presentations of the presentable object. The layer can be set only for displayed object. If all object presentations are removed, the layer ID will be set to default value when computing presentation. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. More...
Standard_Integer | GetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr) const
| Get ID of Z layer. If no presentations of object is displayed, and layer ID is unavailable, the -1 value is returned. More...
virtual void | AddClipPlane (const Graphic3d_ClipPlane_Handle &thePlane)
| Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
virtual void | RemoveClipPlane (const Graphic3d_ClipPlane_Handle &thePlane)
| Removes previously added clip plane. More...
virtual void | SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
| Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes. More...
const Graphic3d_SequenceOfHClipPlane & | GetClipPlanes () const
| Get clip planes. More...
virtual void | SetMutable (const Standard_Boolean theIsMutable)
| Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect. More...
const Standard_Boolean | IsMutable () const
| Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations). More...
virtual void | AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
| Makes theObject child of current object in scene hierarchy. More...
virtual void | RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
| Removes theObject from children of current object in scene hierarchy. More...
const PrsMgr_ListOfPresentableObjects & | Children () const
| Returns children of the current object. More...
const Standard_Boolean | HasOwnPresentations () const
| Returns true if object should have own presentations. More...
const PrsMgr_PresentableObjectPointer | Parent () const
| Returns parent of current object in scene hierarchy. More...
Public Member Functions inherited from MMgt_TShared
virtual void | Delete () const
| Memory deallocator for transient classes. More...
Public Member Functions inherited from Standard_Transient
| Standard_Transient ()
| Empty constructor. More...
| Standard_Transient (const Standard_Transient &)
| Copy constructor – does nothing. More...
Standard_Transient & | operator= (const Standard_Transient &)
| Assignment operator, needed to avoid copying reference counter. More...
virtual | ~Standard_Transient ()
| Destructor must be virtual. More...
virtual const Handle_Standard_Type & | DynamicType () const
| Returns a type information object about this object. More...
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const
| Returns a true value if this is an instance of Type. More...
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const
| Returns a true value if this is an instance of TypeName. More...
Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
Standard_Boolean | IsKind (const Standard_CString theTypeName) const
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
virtual Handle_Standard_Transient | This () const
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
Standard_Integer | GetRefCount () const
| Get the reference counter of this object. More...

## Protected Member Functions
| PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
virtual | ~PrsMgr_PresentableObject ()
virtual 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. More...
virtual 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. More...
virtual 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. More...
void | Update (const Standard_Boolean AllModes=Standard_False)
| recomputes all presentations of the object. More...
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. More...
virtual void | Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0)
| High-level interface for controlling polygon offsets. More...
virtual void | SetCombinedParentTransform (const gp_Trsf &theTransformation)
| Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. More...
virtual void | UpdateClipping ()
| General virtual method for internal update of presentation state when some modifications on list of clip planes occurs. Base implementation propagate clip planes to every presentation. More...

## Protected Attributes
PrsMgr_Presentations | myPresentations
PrsMgr_TypeOfPresentation3d | myTypeOfPresentation3d
Graphic3d_SequenceOfHClipPlane | myClipPlanes
Standard_Boolean | myIsMutable
Standard_Boolean | myHasOwnPresentations

## Friends
Handle< Graphic3d_Structure > | PrsMgr_Presentation::Compute (const Handle< Graphic3d_DataStructureManager > &theProjector)
void | PrsMgr_Presentation::Compute (const Handle< Graphic3d_DataStructureManager > &theProjector, const Handle< Graphic3d_Structure > &theGivenStruct)
Handle< Graphic3d_Structure > | PrsMgr_Presentation::Compute (const Handle< Graphic3d_DataStructureManager > &theProjector, const Handle< Geom_Transformation > &theTrsf)
void | PrsMgr_Presentation::Compute (const Handle< Graphic3d_DataStructureManager > &theProjector, const Handle< Geom_Transformation > &theTrsf, const Handle< Graphic3d_Structure > &theGivenStruct)

## Detailed Description

A framework to supply the 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.

## Constructor & Destructor Documentation

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

virtual PrsMgr_PresentableObject::~PrsMgr_PresentableObject | ( |  | ) |
| protectedvirtual

## Member Function Documentation

virtual void PrsMgr_PresentableObject::AddChild | ( | const Handle< PrsMgr_PresentableObject > & | theObject | ) |
| virtual

Makes theObject child of current object in scene hierarchy.

virtual void PrsMgr_PresentableObject::AddClipPlane | ( | const Graphic3d_ClipPlane_Handle & | thePlane | ) |
| virtual

Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes.

Parameters

  thePlane | [in] the clip plane to be appended to map of clip planes.

const PrsMgr_ListOfPresentableObjects& PrsMgr_PresentableObject::Children | ( |  | ) | const

Returns children of the current object.

virtual void PrsMgr_PresentableObject::Compute | ( | const Handle< PrsMgr_PresentationManager3d > & | aPresentationManager,
|  | const Handle< Prs3d_Presentation > & | aPresentation,
|  | const Standard_Integer | aMode = `0`
| ) |  |
| protectedvirtual

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.

Reimplemented in AIS_AngleDimension, AIS_Shape, AIS_LengthDimension, AIS_TexturedShape, AIS_DiameterDimension, AIS_RadiusDimension, AIS_PlaneTrihedron, Voxel_Prs, AIS_ColoredShape, AIS_PointCloud, AIS_MultipleConnectedInteractive, AIS_Point, MeshVS_Mesh, QABugs_MyText, QABugs_PresentableObject, StdSelect_Shape, and XCAFPrs_AISObject.

virtual void PrsMgr_PresentableObject::Compute | ( | const Handle< Prs3d_Projector > & | aProjector,
|  | const Handle< Prs3d_Presentation > & | aPresentation
| ) |  |
| protectedvirtual

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.

Reimplemented in AIS_Shape, and AIS_MultipleConnectedInteractive.

virtual void PrsMgr_PresentableObject::Compute | ( | const Handle< Prs3d_Projector > & | aProjector,
|  | const Handle< Geom_Transformation > & | aTrsf,
|  | const Handle< Prs3d_Presentation > & | aPresentation
| ) |  |
| protectedvirtual

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.

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

virtual void PrsMgr_PresentableObject::Fill | ( | const Handle< PrsMgr_PresentationManager > & | aPresentationManager,
|  | const Handle< PrsMgr_Presentation > & | aPresentation,
|  | const Standard_Integer | aMode = `0`
| ) |  |
| protectedvirtual

High-level interface for controlling polygon offsets.

const Graphic3d_SequenceOfHClipPlane& PrsMgr_PresentableObject::GetClipPlanes | ( |  | ) | const

Get clip planes.

Returns
  set of previously added clip planes for all display mode presentations.

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

Gets Transform Persistence Mode for this object.

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

Gets point of transform persistence for this object.

Standard_Integer PrsMgr_PresentableObject::GetZLayer | ( | const Handle< PrsMgr_PresentationManager > & | thePrsMgr | ) | const

Get ID of Z layer. If no presentations of object is displayed, and layer ID is unavailable, the -1 value is returned.

const Standard_Boolean PrsMgr_PresentableObject::HasOwnPresentations | ( |  | ) | const

Returns true if object should have own presentations.

Standard_Boolean PrsMgr_PresentableObject::HasTransformation | ( |  | ) | const

Returns true if object has a transformation that is different from the identity.

const Standard_Boolean PrsMgr_PresentableObject::IsMutable | ( |  | ) | const

Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations).

const gp_Trsf& PrsMgr_PresentableObject::LocalTransformation | ( |  | ) | const

const PrsMgr_PresentableObjectPointer PrsMgr_PresentableObject::Parent | ( |  | ) | const

Returns parent of current object in scene hierarchy.

PrsMgr_Presentations& PrsMgr_PresentableObject::Presentations | ( |  | ) |

virtual void PrsMgr_PresentableObject::RemoveChild | ( | const Handle< PrsMgr_PresentableObject > & | theObject | ) |
| virtual

Removes theObject from children of current object in scene hierarchy.

virtual void PrsMgr_PresentableObject::RemoveClipPlane | ( | const Graphic3d_ClipPlane_Handle & | thePlane | ) |
| virtual

Removes previously added clip plane.

Parameters

  thePlane | [in] the clip plane to be removed from map of clip planes.

virtual void PrsMgr_PresentableObject::ResetTransformation | ( |  | ) |
| virtual

resets local transformation to identity.

Reimplemented in SelectMgr_SelectableObject.

virtual void PrsMgr_PresentableObject::SetClipPlanes | ( | const Graphic3d_SequenceOfHClipPlane & | thePlanes | ) |
| virtual

Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be substracted from limit to predict the maximum possible number of object clipping planes.

virtual void PrsMgr_PresentableObject::SetCombinedParentTransform | ( | const gp_Trsf & | theTransformation | ) |
| protectedvirtual

Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own.

virtual void PrsMgr_PresentableObject::SetLocalTransformation | ( | const gp_Trsf & | theTransformation | ) |
| virtual

Sets local transformation to theTransformation.

Reimplemented in AIS_Trihedron.

virtual void PrsMgr_PresentableObject::SetMutable | ( | const Standard_Boolean | theIsMutable | ) |
| virtual

Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect.

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

flags the Prs of mode <AMode> to be Updated. the Update will be done when needed.

void PrsMgr_PresentableObject::SetToUpdate | ( |  | ) |

flags all the Presentations to be Updated.

virtual void PrsMgr_PresentableObject::SetTransformPersistence | ( | const Graphic3d_TransModeFlags & | aFlag,
|  | const gp_Pnt & | APoint
| ) |  |
| virtual

Sets up Transform Persistence Mode for this object. This function used to lock in object position, rotation and / or zooming relative to camera position. Object will be drawn in the origin setted by APoint parameter (except Graphic3d_TMF_TriedronPers flag.

- see description later). aFlag should be:
- Graphic3d_TMF_None - no persistence attributes (reset);
- Graphic3d_TMF_PanPers - object doesn't move;
- Graphic3d_TMF_ZoomPers - object doesn't resize;
- Graphic3d_TMF_RotatePers - object doesn't rotate;
- Graphic3d_TMF_FullPers - pan, zoom and rotate transform persistence;
- Graphic3d_TMF_TriedronPers - object behaves like trihedron;
- combination (Graphic3d_TMF_PanPers | Graphic3d_TMF_ZoomPers);
- combination (Graphic3d_TMF_PanPers | Graphic3d_TMF_RotatePers);
- combination (Graphic3d_TMF_ZoomPers | Graphic3d_TMF_RotatePers). If Graphic3d_TMF_TriedronPers persistence mode selected APoint coordinates X and Y means:
- X = 0.0, Y = 0.0 - center of view window;
- X > 0.0, Y > 0.0 - right upper corner of view window;
- X > 0.0, Y < 0.0 - right lower corner of view window;
- X < 0.0, Y > 0.0 - left upper corner of view window;
- X < 0.0, Y < 0.0 - left lower corner of view window. And Z coordinate defines the gap from border of view window (except center position).

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

Calls previous method with point (0,0,0)

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

virtual void PrsMgr_PresentableObject::SetZLayer | ( | const Handle< PrsMgr_PresentationManager > & | thePrsMgr,
|  | const Standard_Integer | theLayerId
| ) |  |
| virtual

Set Z layer ID and update all presentations of the presentable object. The layer can be set only for displayed object. If all object presentations are removed, the layer ID will be set to default value when computing presentation. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers.

Reimplemented in SelectMgr_SelectableObject.

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

gives the list of modes which are flagged "to be updated".

const gp_Trsf& PrsMgr_PresentableObject::Transformation | ( |  | ) | const

PrsMgr_TypeOfPresentation3d PrsMgr_PresentableObject::TypeOfPresentation3d | ( |  | ) | const

Returns information on whether the object accepts display in HLR mode or not.

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

recomputes all presentations of the object.

void PrsMgr_PresentableObject::Update | ( | const Standard_Integer | aMode,
|  | const Standard_Boolean | ClearOther
| ) |  |
| protected

Recomputes the presentation in the given mode. If ClearOther is true, other presentation will be cleared.

virtual void PrsMgr_PresentableObject::UpdateClipping | ( |  | ) |
| protectedvirtual

General virtual method for internal update of presentation state when some modifications on list of clip planes occurs. Base implementation propagate clip planes to every presentation.

virtual void PrsMgr_PresentableObject::UpdateTransformation | ( |  | ) |
| virtual

Reimplemented in SelectMgr_SelectableObject.

virtual void PrsMgr_PresentableObject::UpdateTransformation | ( | const Handle< Prs3d_Presentation > & | P | ) |
| virtual

## Friends And Related Function Documentation

Handle< Graphic3d_Structure > PrsMgr_Presentation::Compute | ( | const Handle< Graphic3d_DataStructureManager > & | theProjector | ) |
| friend

void PrsMgr_Presentation::Compute | ( | const Handle< Graphic3d_DataStructureManager > & | theProjector,
|  | const Handle< Graphic3d_Structure > & | theGivenStruct
| ) |  |
| friend

Handle< Graphic3d_Structure > PrsMgr_Presentation::Compute | ( | const Handle< Graphic3d_DataStructureManager > & | theProjector,
|  | const Handle< Geom_Transformation > & | theTrsf
| ) |  |
| friend

void PrsMgr_Presentation::Compute | ( | const Handle< Graphic3d_DataStructureManager > & | theProjector,
|  | const Handle< Geom_Transformation > & | theTrsf,
|  | const Handle< Graphic3d_Structure > & | theGivenStruct
| ) |  |
| friend

## Field Documentation

Graphic3d_SequenceOfHClipPlane PrsMgr_PresentableObject::myClipPlanes
| protected

Standard_Boolean PrsMgr_PresentableObject::myHasOwnPresentations
| protected

Standard_Boolean PrsMgr_PresentableObject::myIsMutable
| protected

PrsMgr_Presentations PrsMgr_PresentableObject::myPresentations
| protected

PrsMgr_TypeOfPresentation3d PrsMgr_PresentableObject::myTypeOfPresentation3d
| protected

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

- PrsMgr_PresentableObject.hxx