Open CASCADE Technology 6.6.0
|
This class allows to manage transient graphics
above one View.
A simple way to drawn something very quicly above
a complex scene (Hilighting,Sketching,...)
All transient graphics will be erased at the next
View::BeginDraw().
If RetainMode is active,
All transient graphics will be kept at the
next View::Update(),Redraw(). The transient graphics
is stored by this object and graphic library, the
graphic managed itself exposure,resizing,...
The method View::ClearDraw() is necessary to erase
all transient graphics.
If RetainMode is deactivate,
All transient graphics will be erased at the
next View::Update(),Redraw().
Remember that nothing is stored by this object and
graphic library,the application must managed itself
exposure,resizing,...
If double_buffering is activate,
all graphics are drawn in the back buffer and flushed
in the front buffer at the end of drawing but nothing
is done for to separate transient from structured
graphics,the only way to regenerate the structured
view is to Redraw() the view.
If double_buffering is deactivate,
the back buffer is preserved and used for restoring
the front buffer at begin drawing time.I recommend
to use the second way (without DB) if you want
to preserve the graphics and the performances!
#include <Visual3d_TransientManager.hxx>
Public Member Functions | |
Visual3d_TransientManager () | |
Creates a TransientManager <aView>. | |
void | Destroy () |
Suppress the TransientManager <me>. | |
~Visual3d_TransientManager () | |
Static Public Member Functions | |
static Standard_Boolean | BeginDraw (const Handle< Visual3d_View > &aView, const Standard_Boolean DoubleBuffer=Standard_False, const Standard_Boolean RetainMode=Standard_False) |
Begins any graphics in the view <aView> Redraw any structured graphics in the back buffer before if <DoubleBuffer> is TRUE. Restore the front buffer from the back before if <DoubleBuffer> is FALSE. if <RetainMode> is TRUE. the graphic managed itself exposure,resizing ... if <RetainMode> is FALSE. the application must managed itself exposure,resizing ... Warning: Returns TRUE if transient drawing is enabled in the associated view. Returns FALSE ,if nothing works because something is wrong for the transient principle : Immediat mode is not implemented depending of the graphic library used. MBX,PIXMAP double buffering don't works depending of the graphic board and the visual of the window supporting the view. Warning: No default attributes Raises TransientDefinitionError from Visual3d; if Drawing is already opened. or the associated view is not mapped on a window. | |
static void | EndDraw (const Standard_Boolean Synchronize=Standard_False) |
Flush all graphics to the front buffer. Synchronize graphics to the screen if <Synchronize> is TRUE (make becarefull to the performances!). Raises TransientDefinitionError from Visual3d; if Drawing is not opened. | |
static void | ClearDraw (const Handle< Visual3d_View > &aView, const Standard_Boolean aFlush=Standard_True) |
Clear all transient graphics in the view <aView> updates a scene if <aFlush> = true Raises TransientDefinitionError from Visual3d; if Drawing is already opened. or the associated view is not mapped on a window. | |
static Standard_Boolean | BeginAddDraw (const Handle< Visual3d_View > &aView) |
Begins any add graphics in the view <aView> the application must managed itself exposure,resizing ... Warning: Returns TRUE if transient drawing is enabled in the associated view. Returns FALSE ,if nothing works because something is wrong for the transient principle : Immediat mode is not implemented depending of the graphic library used. MBX,PIXMAP double buffering don't works depending of the graphic board and the visual of the window supporting the view. Warning: No default attributes Raises TransientDefinitionError from Visual3d; if Drawing is already opened. or the associated view is not mapped on a window. | |
static void | EndAddDraw () |
Flush all add graphics to the front buffer. Raises TransientDefinitionError from Visual3d; if Drawing is not opened. | |
static void | DrawStructure (const Handle< Graphic3d_Structure > &AStructure) |
Drawn the structure <AStructure>. Raises TransientDefinitionError from Visual3d; if Drawing is not opened. |
Visual3d_TransientManager::Visual3d_TransientManager | ( | ) |
Visual3d_TransientManager::~Visual3d_TransientManager | ( | ) | [inline] |
static Standard_Boolean Visual3d_TransientManager::BeginAddDraw | ( | const Handle< Visual3d_View > & | aView | ) | [static] |
static Standard_Boolean Visual3d_TransientManager::BeginDraw | ( | const Handle< Visual3d_View > & | aView, |
const Standard_Boolean | DoubleBuffer = Standard_False , |
||
const Standard_Boolean | RetainMode = Standard_False |
||
) | [static] |
static void Visual3d_TransientManager::ClearDraw | ( | const Handle< Visual3d_View > & | aView, |
const Standard_Boolean | aFlush = Standard_True |
||
) | [static] |
void Visual3d_TransientManager::Destroy | ( | ) |
static void Visual3d_TransientManager::DrawStructure | ( | const Handle< Graphic3d_Structure > & | AStructure | ) | [static] |
static void Visual3d_TransientManager::EndAddDraw | ( | ) | [static] |
static void Visual3d_TransientManager::EndDraw | ( | const Standard_Boolean | Synchronize = Standard_False | ) | [static] |