Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
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:
More...

#include <PrsMgr_PresentableObject.hxx>

Inheritance diagram for PrsMgr_PresentableObject:
Inheritance graph
[legend]

Public Member Functions

PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not.

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

void SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
 Calls previous method with point (0,0,0)

Graphic3d_TransModeFlags GetTransformPersistenceMode () const
 Gets Transform Persistence Mode for this object

gp_Pnt GetTransformPersistencePoint () const
 Gets point of transform persistence for this object

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.

void SetToUpdate ()
 flags all the Presentations to be Updated.

void ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
 gives the list of modes which are flagged "to be updated".

virtual void SetLocation (const TopLoc_Location &aLoc)
Standard_Boolean HasLocation () const
const TopLoc_LocationLocation () const
virtual void ResetLocation ()
virtual void UpdateLocation ()
virtual void UpdateLocation (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.

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.

Protected Member Functions

 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
virtual 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 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 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 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.

void Update (const Standard_Boolean AllModes=Standard_False)
 recomputes all presentations of the object.

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 void Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0)
 High-level interface for controlling polygon offsets

PrsMgr_PresentationsPresentations ()

Protected Attributes

PrsMgr_Presentations myPresentations
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
TopLoc_Location myLocation

Friends

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

Detailed Description


Constructor & Destructor Documentation


Member Function Documentation

virtual void PrsMgr_PresentableObject::Compute ( const Handle< PrsMgr_PresentationManager2d > &  aPresentationManager,
const Handle< Graphic2d_GraphicObject > &  aPresentation,
const Standard_Integer  aMode = 0 
) [protected, virtual]
virtual void PrsMgr_PresentableObject::Compute ( const Handle< PrsMgr_PresentationManager3d > &  aPresentationManager,
const Handle< Prs3d_Presentation > &  aPresentation,
const Standard_Integer  aMode = 0 
) [protected, virtual]
virtual void PrsMgr_PresentableObject::Compute ( const Handle< Prs3d_Projector > &  aProjector,
const Handle< Prs3d_Presentation > &  aPresentation 
) [protected, virtual]
virtual void PrsMgr_PresentableObject::Compute ( const Handle< Prs3d_Projector > &  aProjector,
const Handle< Geom_Transformation > &  aTrsf,
const Handle< Prs3d_Presentation > &  aPresentation 
) [protected, virtual]
virtual void PrsMgr_PresentableObject::Fill ( const Handle< PrsMgr_PresentationManager > &  aPresentationManager,
const Handle< PrsMgr_Presentation > &  aPresentation,
const Standard_Integer  aMode = 0 
) [protected, virtual]

Reimplemented in SelectMgr_SelectableObject.

Reimplemented in AIS_Trihedron.

  • 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).

Reimplemented in SelectMgr_SelectableObject.


Friends And Related Function Documentation

Handle_Graphic3d_Structure PrsMgr_Presentation3d::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector) [friend]
void PrsMgr_Presentation3d::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
const Handle< Graphic3d_Structure > &  aGivenStruct 
) [friend]
Handle_Graphic3d_Structure PrsMgr_Presentation3d::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
const Handle< Geom_Transformation > &  TheTrsf 
) [friend]
void PrsMgr_Presentation3d::Compute ( const Handle< Graphic3d_DataStructureManager > &  aProjector,
const Handle< Geom_Transformation > &  TheTrsf,
const Handle< Graphic3d_Structure > &  aGivenStruct 
) [friend]

Field Documentation


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