Open CASCADE Technology 7.8.0
|
A framework to manage 3D displays, graphic entities and their updates. Used in the AIS package (Application Interactive Services), to enable the advanced user to define the default display mode of a new interactive object which extends the list of signatures and types. Definition of new display types is handled by calling the presentation algorithms provided by the StdPrs package. More...
#include <PrsMgr_PresentationManager.hxx>
Public Member Functions | |
PrsMgr_PresentationManager (const Handle< Graphic3d_StructureManager > &theStructureManager) | |
Creates a framework to manage displays and graphic entities with the 3D view theStructureManager. | |
void | Display (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) |
Displays the presentation of the object in the given Presentation manager with the given mode. The mode should be enumerated by the object which inherits PresentableObject. | |
void | Erase (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) |
erases the presentation of the object in the given Presentation manager with the given mode. If @theMode is -1, then erases all presentations of the object. | |
virtual void | Clear (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) |
Clears the presentation of the presentable object thePrsObject in this framework with the display mode theMode. | |
void | SetVisibility (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode, const Standard_Boolean theValue) |
Sets the visibility of presentable object. | |
void | Unhighlight (const Handle< PrsMgr_PresentableObject > &thePrsObject) |
Removes highlighting from the presentation of the presentable object. | |
void | SetDisplayPriority (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode, const Graphic3d_DisplayPriority theNewPrior) const |
Sets the display priority theNewPrior of the presentable object thePrsObject in this framework with the display mode theMode. | |
Graphic3d_DisplayPriority | DisplayPriority (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode) const |
Returns the display priority of the presentable object thePrsObject in this framework with the display mode theMode. | |
void | SetZLayer (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Graphic3d_ZLayerId theLayerId) |
Set Z layer ID for all presentations of the object. | |
Graphic3d_ZLayerId | GetZLayer (const Handle< PrsMgr_PresentableObject > &thePrsObject) const |
Get Z layer ID assigned to all presentations of the object. Method returns -1 value if object has no presentations and is impossible to get layer index. | |
Standard_Boolean | IsDisplayed (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) const |
Standard_Boolean | IsHighlighted (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) const |
Returns true if the presentation of the presentable object thePrsObject in this framework with the display mode theMode is highlighted. | |
void | Update (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) const |
Updates the presentation of the presentable object thePrsObject in this framework with the display mode theMode. | |
void | BeginImmediateDraw () |
Resets the transient list of presentations previously displayed in immediate mode and begins accumulation of new list by following AddToImmediateList()/Color()/Highlight() calls. | |
void | ClearImmediateDraw () |
Resets the transient list of presentations previously displayed in immediate mode. | |
void | AddToImmediateList (const Handle< Prs3d_Presentation > &thePrs) |
Stores thePrs in the transient list of presentations to be displayed in immediate mode. Will be taken in account in EndImmediateDraw method. | |
void | EndImmediateDraw (const Handle< V3d_Viewer > &theViewer) |
Allows rapid drawing of the each view in theViewer by avoiding an update of the whole background. | |
void | RedrawImmediate (const Handle< V3d_Viewer > &theViewer) |
Clears and redisplays immediate structures of the viewer taking into account its affinity. | |
Standard_Boolean | IsImmediateModeOn () const |
Returns true if Presentation Manager is accumulating transient list of presentations to be displayed in immediate mode. | |
void | Color (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Handle< Prs3d_Drawer > &theStyle, const Standard_Integer theMode=0, const Handle< PrsMgr_PresentableObject > &theSelObj=NULL, const Graphic3d_ZLayerId theImmediateStructLayerId=Graphic3d_ZLayerId_Topmost) |
Highlights the graphic object thePrsObject in the color theColor. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode. | |
void | Connect (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Handle< PrsMgr_PresentableObject > &theOtherObject, const Standard_Integer theMode=0, const Standard_Integer theOtherMode=0) |
void | Transform (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Handle< TopLoc_Datum3D > &theTransformation, const Standard_Integer theMode=0) |
Sets the transformation theTransformation for the presentable object thePrsObject. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode. | |
const Handle< Graphic3d_StructureManager > & | StructureManager () const |
Returns the structure manager. | |
Standard_Boolean | HasPresentation (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) const |
Returns true if there is a presentation of the presentable object thePrsObject in this framework, thePrsObject having the display mode theMode. | |
Handle< PrsMgr_Presentation > | Presentation (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0, const Standard_Boolean theToCreate=Standard_False, const Handle< PrsMgr_PresentableObject > &theSelObj=NULL) const |
Returns the presentation Presentation of the presentable object thePrsObject in this framework. When theToCreate is true - automatically creates presentation for specified mode when not exist. Optional argument theSelObj specifies parent decomposed object to inherit its view affinity. | |
void | UpdateHighlightTrsf (const Handle< V3d_Viewer > &theViewer, const Handle< PrsMgr_PresentableObject > &theObj, const Standard_Integer theMode=0, const Handle< PrsMgr_PresentableObject > &theSelObj=NULL) |
Allows to apply location transformation to shadow highlight presentation immediately. | |
![]() | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::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. | |
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. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Member Functions | |
Standard_Boolean | RemovePresentation (const Handle< PrsMgr_PresentableObject > &thePrsObject, const Standard_Integer theMode=0) |
Removes a presentation of the presentable object thePrsObject to this framework. thePrsObject has the display mode theMode. | |
Additional Inherited Members | |
![]() | |
typedef void | base_type |
Returns a type descriptor about this object. | |
![]() | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
A framework to manage 3D displays, graphic entities and their updates. Used in the AIS package (Application Interactive Services), to enable the advanced user to define the default display mode of a new interactive object which extends the list of signatures and types. Definition of new display types is handled by calling the presentation algorithms provided by the StdPrs package.
PrsMgr_PresentationManager::PrsMgr_PresentationManager | ( | const Handle< Graphic3d_StructureManager > & | theStructureManager | ) |
Creates a framework to manage displays and graphic entities with the 3D view theStructureManager.
void PrsMgr_PresentationManager::AddToImmediateList | ( | const Handle< Prs3d_Presentation > & | thePrs | ) |
Stores thePrs in the transient list of presentations to be displayed in immediate mode. Will be taken in account in EndImmediateDraw method.
void PrsMgr_PresentationManager::BeginImmediateDraw | ( | ) |
Resets the transient list of presentations previously displayed in immediate mode and begins accumulation of new list by following AddToImmediateList()/Color()/Highlight() calls.
|
virtual |
Clears the presentation of the presentable object thePrsObject in this framework with the display mode theMode.
void PrsMgr_PresentationManager::ClearImmediateDraw | ( | ) |
Resets the transient list of presentations previously displayed in immediate mode.
void PrsMgr_PresentationManager::Color | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Handle< Prs3d_Drawer > & | theStyle, | ||
const Standard_Integer | theMode = 0 , |
||
const Handle< PrsMgr_PresentableObject > & | theSelObj = NULL , |
||
const Graphic3d_ZLayerId | theImmediateStructLayerId = Graphic3d_ZLayerId_Topmost |
||
) |
Highlights the graphic object thePrsObject in the color theColor. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode.
void PrsMgr_PresentationManager::Connect | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Handle< PrsMgr_PresentableObject > & | theOtherObject, | ||
const Standard_Integer | theMode = 0 , |
||
const Standard_Integer | theOtherMode = 0 |
||
) |
void PrsMgr_PresentationManager::Display | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) |
Displays the presentation of the object in the given Presentation manager with the given mode. The mode should be enumerated by the object which inherits PresentableObject.
Graphic3d_DisplayPriority PrsMgr_PresentationManager::DisplayPriority | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode | ||
) | const |
Returns the display priority of the presentable object thePrsObject in this framework with the display mode theMode.
void PrsMgr_PresentationManager::EndImmediateDraw | ( | const Handle< V3d_Viewer > & | theViewer | ) |
Allows rapid drawing of the each view in theViewer by avoiding an update of the whole background.
void PrsMgr_PresentationManager::Erase | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) |
erases the presentation of the object in the given Presentation manager with the given mode. If @theMode is -1, then erases all presentations of the object.
Graphic3d_ZLayerId PrsMgr_PresentationManager::GetZLayer | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject | ) | const |
Get Z layer ID assigned to all presentations of the object. Method returns -1 value if object has no presentations and is impossible to get layer index.
Standard_Boolean PrsMgr_PresentationManager::HasPresentation | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) | const |
Returns true if there is a presentation of the presentable object thePrsObject in this framework, thePrsObject having the display mode theMode.
Standard_Boolean PrsMgr_PresentationManager::IsDisplayed | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) | const |
Standard_Boolean PrsMgr_PresentationManager::IsHighlighted | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) | const |
Returns true if the presentation of the presentable object thePrsObject in this framework with the display mode theMode is highlighted.
|
inline |
Returns true if Presentation Manager is accumulating transient list of presentations to be displayed in immediate mode.
Handle< PrsMgr_Presentation > PrsMgr_PresentationManager::Presentation | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 , |
||
const Standard_Boolean | theToCreate = Standard_False , |
||
const Handle< PrsMgr_PresentableObject > & | theSelObj = NULL |
||
) | const |
Returns the presentation Presentation of the presentable object thePrsObject in this framework. When theToCreate is true - automatically creates presentation for specified mode when not exist. Optional argument theSelObj specifies parent decomposed object to inherit its view affinity.
void PrsMgr_PresentationManager::RedrawImmediate | ( | const Handle< V3d_Viewer > & | theViewer | ) |
Clears and redisplays immediate structures of the viewer taking into account its affinity.
|
protected |
Removes a presentation of the presentable object thePrsObject to this framework. thePrsObject has the display mode theMode.
void PrsMgr_PresentationManager::SetDisplayPriority | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode, | ||
const Graphic3d_DisplayPriority | theNewPrior | ||
) | const |
Sets the display priority theNewPrior of the presentable object thePrsObject in this framework with the display mode theMode.
void PrsMgr_PresentationManager::SetVisibility | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode, | ||
const Standard_Boolean | theValue | ||
) |
Sets the visibility of presentable object.
void PrsMgr_PresentationManager::SetZLayer | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Graphic3d_ZLayerId | theLayerId | ||
) |
Set Z layer ID for all presentations of the object.
|
inline |
Returns the structure manager.
void PrsMgr_PresentationManager::Transform | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Handle< TopLoc_Datum3D > & | theTransformation, | ||
const Standard_Integer | theMode = 0 |
||
) |
Sets the transformation theTransformation for the presentable object thePrsObject. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode.
void PrsMgr_PresentationManager::Unhighlight | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject | ) |
Removes highlighting from the presentation of the presentable object.
void PrsMgr_PresentationManager::Update | ( | const Handle< PrsMgr_PresentableObject > & | thePrsObject, |
const Standard_Integer | theMode = 0 |
||
) | const |
Updates the presentation of the presentable object thePrsObject in this framework with the display mode theMode.
void PrsMgr_PresentationManager::UpdateHighlightTrsf | ( | const Handle< V3d_Viewer > & | theViewer, |
const Handle< PrsMgr_PresentableObject > & | theObj, | ||
const Standard_Integer | theMode = 0 , |
||
const Handle< PrsMgr_PresentableObject > & | theSelObj = NULL |
||
) |
Allows to apply location transformation to shadow highlight presentation immediately.
theObj | defines the base object, it local transformation will be applied to corresponding highlight structure |
theMode | defines display mode of the base object |
theSelObj | defines the object produced after decomposition of the base object for local selection |
|
protected |
|
protected |
|
protected |
|
protected |