Open CASCADE Technology  7.1.0.beta
Public Member Functions | Protected Member Functions | Protected Attributes

Graphic3d_GraphicDriver Class Referenceabstract

This class allows the definition of a graphic driver for 3d interface (currently only OpenGl driver is used). More...

#include <Graphic3d_GraphicDriver.hxx>

Inheritance diagram for Graphic3d_GraphicDriver:
Inheritance graph
[legend]

Public Member Functions

virtual Standard_Integer InquireLimit (const Graphic3d_TypeOfLimit theType) const =0
 Request limit of graphic resource of specific type. More...
 
Standard_Integer InquireLightLimit () const
 Request maximum number of active light sources supported by driver and hardware. More...
 
Standard_Integer InquirePlaneLimit () const
 Request maximum number of active clipping planes supported by driver and hardware. More...
 
Standard_Integer InquireViewLimit () const
 Request maximum number of views supported by driver. More...
 
virtual Handle< Graphic3d_CStructureCreateStructure (const Handle< Graphic3d_StructureManager > &theManager)=0
 Creates new empty graphic structure. More...
 
virtual void RemoveStructure (Handle< Graphic3d_CStructure > &theCStructure)=0
 Removes structure from graphic driver and releases its resources. More...
 
virtual Handle< Graphic3d_CViewCreateView (const Handle< Graphic3d_StructureManager > &theMgr)=0
 Creates new view for this graphic driver. More...
 
virtual void RemoveView (const Handle< Graphic3d_CView > &theView)=0
 Removes view from graphic driver and releases its resources. More...
 
virtual void EnableVBO (const Standard_Boolean status)=0
 enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays More...
 
virtual Standard_Boolean MemoryInfo (Standard_Size &theFreeBytes, TCollection_AsciiString &theInfo) const =0
 Returns information about GPU memory usage. More...
 
virtual Standard_ShortReal DefaultTextHeight () const =0
 
virtual void TextSize (const Handle< Graphic3d_CView > &theView, const Standard_CString theText, const Standard_ShortReal theHeight, Standard_ShortReal &theWidth, Standard_ShortReal &theAscent, Standard_ShortReal &theDescent) const =0
 Computes text width. More...
 
virtual void AddZLayer (const Graphic3d_ZLayerId theLayerId)=0
 Add a new top-level z layer with ID <theLayerId> for the view. Z layers allow drawing structures in higher layers in foreground of structures in lower layers. To add a structure to desired layer on display it is necessary to set the layer ID for the structure. More...
 
virtual void RemoveZLayer (const Graphic3d_ZLayerId theLayerId)=0
 Removes Z layer. All structures displayed at the moment in layer will be displayed in default layer (the bottom-level z layer). By default, there are always default bottom-level layer that can't be removed. The passed theLayerId should be not less than 0 (reserved for default layers that can not be removed). More...
 
virtual void ZLayers (TColStd_SequenceOfInteger &theLayerSeq) const =0
 Returns list of Z layers defined for the graphical driver. More...
 
virtual void SetZLayerSettings (const Graphic3d_ZLayerId theLayerId, const Graphic3d_ZLayerSettings &theSettings)=0
 Sets the settings for a single Z layer. More...
 
virtual const Graphic3d_ZLayerSettingsZLayerSettings (const Graphic3d_ZLayerId theLayerId) const =0
 Returns the settings of a single Z layer. More...
 
virtual Standard_Boolean ViewExists (const Handle< Aspect_Window > &theWindow, Handle< Graphic3d_CView > &theView)=0
 Returns view associated with the window if it is exists and is activated. Returns Standard_True if the view associated to the window exists. More...
 
const Handle< Aspect_DisplayConnection > & GetDisplayConnection () const
 returns Handle to display connection More...
 
Standard_Boolean IsDeviceLost () const
 
void ResetDeviceLostFlag ()
 
Standard_Integer NewIdentification ()
 Returns a new identification number for a new structure. More...
 
void RemoveIdentification (const Standard_Integer theId)
 Frees the identifier of a structure. More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const override
 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_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::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 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. 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...
 
Standard_TransientThis () 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. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Protected Member Functions

 Graphic3d_GraphicDriver (const Handle< Aspect_DisplayConnection > &theDisp)
 Initializes the Driver. More...
 

Protected Attributes

Handle< Aspect_DisplayConnectionmyDisplayConnection
 
Standard_Boolean myDeviceLostFlag
 
Aspect_GenId myStructGenId
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

Detailed Description

This class allows the definition of a graphic driver for 3d interface (currently only OpenGl driver is used).

Constructor & Destructor Documentation

Graphic3d_GraphicDriver::Graphic3d_GraphicDriver ( const Handle< Aspect_DisplayConnection > &  theDisp)
protected

Initializes the Driver.

Member Function Documentation

virtual void Graphic3d_GraphicDriver::AddZLayer ( const Graphic3d_ZLayerId  theLayerId)
pure virtual

Add a new top-level z layer with ID <theLayerId> for the view. Z layers allow drawing structures in higher layers in foreground of structures in lower layers. To add a structure to desired layer on display it is necessary to set the layer ID for the structure.

Implemented in OpenGl_GraphicDriver.

virtual Handle< Graphic3d_CStructure > Graphic3d_GraphicDriver::CreateStructure ( const Handle< Graphic3d_StructureManager > &  theManager)
pure virtual

Creates new empty graphic structure.

Implemented in OpenGl_GraphicDriver.

virtual Handle< Graphic3d_CView > Graphic3d_GraphicDriver::CreateView ( const Handle< Graphic3d_StructureManager > &  theMgr)
pure virtual

Creates new view for this graphic driver.

Implemented in OpenGl_GraphicDriver.

virtual Standard_ShortReal Graphic3d_GraphicDriver::DefaultTextHeight ( ) const
pure virtual

Implemented in OpenGl_GraphicDriver.

virtual void Graphic3d_GraphicDriver::EnableVBO ( const Standard_Boolean  status)
pure virtual

enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays

Implemented in OpenGl_GraphicDriver.

const Handle< Aspect_DisplayConnection >& Graphic3d_GraphicDriver::GetDisplayConnection ( ) const

returns Handle to display connection

Standard_Integer Graphic3d_GraphicDriver::InquireLightLimit ( ) const
inline

Request maximum number of active light sources supported by driver and hardware.

virtual Standard_Integer Graphic3d_GraphicDriver::InquireLimit ( const Graphic3d_TypeOfLimit  theType) const
pure virtual

Request limit of graphic resource of specific type.

Implemented in OpenGl_GraphicDriver.

Standard_Integer Graphic3d_GraphicDriver::InquirePlaneLimit ( ) const
inline

Request maximum number of active clipping planes supported by driver and hardware.

Standard_Integer Graphic3d_GraphicDriver::InquireViewLimit ( ) const
inline

Request maximum number of views supported by driver.

Standard_Boolean Graphic3d_GraphicDriver::IsDeviceLost ( ) const
virtual Standard_Boolean Graphic3d_GraphicDriver::MemoryInfo ( Standard_Size theFreeBytes,
TCollection_AsciiString theInfo 
) const
pure virtual

Returns information about GPU memory usage.

Implemented in OpenGl_GraphicDriver.

Standard_Integer Graphic3d_GraphicDriver::NewIdentification ( )

Returns a new identification number for a new structure.

void Graphic3d_GraphicDriver::RemoveIdentification ( const Standard_Integer  theId)

Frees the identifier of a structure.

virtual void Graphic3d_GraphicDriver::RemoveStructure ( Handle< Graphic3d_CStructure > &  theCStructure)
pure virtual

Removes structure from graphic driver and releases its resources.

Implemented in OpenGl_GraphicDriver.

virtual void Graphic3d_GraphicDriver::RemoveView ( const Handle< Graphic3d_CView > &  theView)
pure virtual

Removes view from graphic driver and releases its resources.

Implemented in OpenGl_GraphicDriver.

virtual void Graphic3d_GraphicDriver::RemoveZLayer ( const Graphic3d_ZLayerId  theLayerId)
pure virtual

Removes Z layer. All structures displayed at the moment in layer will be displayed in default layer (the bottom-level z layer). By default, there are always default bottom-level layer that can't be removed. The passed theLayerId should be not less than 0 (reserved for default layers that can not be removed).

Implemented in OpenGl_GraphicDriver.

void Graphic3d_GraphicDriver::ResetDeviceLostFlag ( )
virtual void Graphic3d_GraphicDriver::SetZLayerSettings ( const Graphic3d_ZLayerId  theLayerId,
const Graphic3d_ZLayerSettings theSettings 
)
pure virtual

Sets the settings for a single Z layer.

Implemented in OpenGl_GraphicDriver.

virtual void Graphic3d_GraphicDriver::TextSize ( const Handle< Graphic3d_CView > &  theView,
const Standard_CString  theText,
const Standard_ShortReal  theHeight,
Standard_ShortReal theWidth,
Standard_ShortReal theAscent,
Standard_ShortReal theDescent 
) const
pure virtual

Computes text width.

Implemented in OpenGl_GraphicDriver.

virtual Standard_Boolean Graphic3d_GraphicDriver::ViewExists ( const Handle< Aspect_Window > &  theWindow,
Handle< Graphic3d_CView > &  theView 
)
pure virtual

Returns view associated with the window if it is exists and is activated. Returns Standard_True if the view associated to the window exists.

Implemented in OpenGl_GraphicDriver.

virtual void Graphic3d_GraphicDriver::ZLayers ( TColStd_SequenceOfInteger theLayerSeq) const
pure virtual

Returns list of Z layers defined for the graphical driver.

Implemented in OpenGl_GraphicDriver.

virtual const Graphic3d_ZLayerSettings& Graphic3d_GraphicDriver::ZLayerSettings ( const Graphic3d_ZLayerId  theLayerId) const
pure virtual

Returns the settings of a single Z layer.

Implemented in OpenGl_GraphicDriver.

Field Documentation

Standard_Boolean Graphic3d_GraphicDriver::myDeviceLostFlag
protected
Handle< Aspect_DisplayConnection > Graphic3d_GraphicDriver::myDisplayConnection
protected
Aspect_GenId Graphic3d_GraphicDriver::myStructGenId
protected

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