OCC Main Page | Visualization | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

Visualization
TKV3d
Visual3d


Visual3d_TransientManager Class Reference

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 drawn with
the projection defined by the view with the current
attributes depending of the primitive type :
Lines,Markers,Polygons,Texts
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

Standard_EXPORT Visual3d_TransientManager ()
 Creates a TransientManager <aview>.
.
Standard_EXPORT void Destroy ()
 Suppress the TransientManager <me>.
.
 ~Visual3d_TransientManager ()
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Static Public Member Functions

static Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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_EXPORT 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 Standard_EXPORT void EndAddDraw ()
 Flush all add graphics to the front buffer.
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void BeginPolyline ()
 After this call, <me> is ready to receive
a definition of a polyline with AddVertex().
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is already opened,
or Drawing is not opened.
.
static Standard_EXPORT void BeginPolygon ()
 After this call, <me> is ready to receive
a definition of a polygon with AddVertex().
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is already opened,
or Drawing is not opened.
.
static Standard_EXPORT void BeginTriangleMesh ()
 After this call, <me> is ready to receive
a definition of a triangle mesh with AddVertex().
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is already opened,
or Drawing is not opened.
.
static Standard_EXPORT void BeginMarker ()
 After this call, <me> is ready to receive
a definition of a marker with AddVertex().
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is already opened,
or Drawing is not opened.
.
static Standard_EXPORT void BeginBezier ()
 After this call, <me> is ready to receive
a definition of a curve with AddVertex().
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is already opened,
or Drawing is not opened.
.
static Standard_EXPORT void AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Boolean AFlag=Standard_True)
 Puts <X, Y, Z> as a new point in the current primitive.
If <aflag> then it is a draw between last point and
this point else it is a move between last point and
this point.
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is not opened,
or Drawing is not opened.
.
static Standard_EXPORT void AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real W, const Standard_Boolean AFlag=Standard_True)
 Puts <X, Y, Z, W> as a new point coordinates and
weight in the current primitive.
If <aflag> then it is a draw between last point and
this point else it is a move between last point and
this point.
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is not opened,
or Drawing is not opened.
.
static Standard_EXPORT void AddVertex (const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real NX, const Standard_Real NY, const Standard_Real NZ, const Standard_Boolean AFlag=Standard_True)
 Puts <X, Y, Z> as a new point in the current primitive.
Puts <NX, NY, NZ> as a new normal in the current
primitive.
If <aflag> then it is a draw between last point and
this point else it is a move between last point and
this point.
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is not opened,
or Drawing is not opened.
.
static Standard_EXPORT void ClosePrimitive ()
 After this call, <me> stops the reception of
a definition of a Begin... primitive.
Raises TransientDefinitionError from Visual3d;
if a Begin... primitive is not opened,
or Drawing is not opened.
.
static Standard_EXPORT void DrawText (const TCollection_ExtendedString &AText, const Standard_Real X, const Standard_Real Y, const Standard_Real Z, const Standard_Real AHeight, const Quantity_PlaneAngle AAngle=0.0, const Graphic3d_TextPath ATp=Graphic3d_TP_RIGHT, const Graphic3d_HorizontalTextAlignment AHta=Graphic3d_HTA_NORMAL, const Graphic3d_VerticalTextAlignment AVta=Graphic3d_VTA_NORMAL)
 Drawn the string <atext> at position <X,Y,Z>.
The 3D point of attachment is projected. The text is
written in the plane of projection.
The attributes are given with respect to the plane of
projection.
AHeight : Height of text.
(Relative to the Normalized Projection
Coordinates (NPC) Space).
AAngle : Orientation of the text
(with respect to the horizontal).
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void DrawStructure (const Handle(Graphic3d_Structure)&AStructure)
 Drawn the structure <astructure>.
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void SetPrimitivesAspect (const Handle(Graphic3d_AspectLine3d)&CTX)
 Modifies the current lines attributes.
Warning: No default attributes
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void SetPrimitivesAspect (const Handle(Graphic3d_AspectFillArea3d)&CTX)
 Modifies the current faces attributes
Warning: No default attributes
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void SetPrimitivesAspect (const Handle(Graphic3d_AspectText3d)&CTX)
 Modifies the current texts attributes
Warning: No default attributes
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void SetPrimitivesAspect (const Handle(Graphic3d_AspectMarker3d)&CTX)
 Modifies the current markers attributes
Warning: No default attributes
Raises TransientDefinitionError from Visual3d;
if Drawing is not opened.
.
static Standard_EXPORT void MinMaxValues (Standard_Real &XMin, Standard_Real &YMin, Standard_Real &ZMin, Standard_Real &XMax, Standard_Real &YMax, Standard_Real &ZMax)
 Returns the coordinates of the boundary box
of the Transient graphics actually drawn
since BeginDraw() has been call.
Warning: If nothing has been drawn then :
XMin = YMin = ZMin = RealFirst ().
XMax = YMax = ZMax = RealLast ().
.
static Standard_EXPORT void MinMaxValues (Standard_Real &UMin, Standard_Real &VMin, Standard_Real &UMax, Standard_Real &VMax)
 Returns the coordinates of the boundary box projection
of the Transient graphics actually drawn
since BeginDraw() has been call.
Warning: If nothing has been drawn then :
XMin = YMin = ZMin = RealFirst ().
XMax = YMax = ZMax = RealLast ().
.
static Standard_EXPORT void SetTransform (const TColStd_Array2OfReal &AMatrix, const Graphic3d_TypeOfComposition AType=Graphic3d_TOC_REPLACE)
 Modifies the current local modelling transformation
of the transient graphics.
.


Constructor & Destructor Documentation

Standard_EXPORT Visual3d_TransientManager::Visual3d_TransientManager  ) 
 

Visual3d_TransientManager::~Visual3d_TransientManager  )  [inline]
 


Member Function Documentation

static Standard_EXPORT void Visual3d_TransientManager::AddVertex const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z,
const Standard_Real  NX,
const Standard_Real  NY,
const Standard_Real  NZ,
const Standard_Boolean  AFlag = Standard_True
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::AddVertex const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z,
const Standard_Real  W,
const Standard_Boolean  AFlag = Standard_True
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::AddVertex const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z,
const Standard_Boolean  AFlag = Standard_True
[static]
 

static Standard_EXPORT Standard_Boolean Visual3d_TransientManager::BeginAddDraw const Handle(Visual3d_View)&  aView  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::BeginBezier  )  [static]
 

static Standard_EXPORT Standard_Boolean Visual3d_TransientManager::BeginDraw const Handle(Visual3d_View)&  aView,
const Standard_Boolean  DoubleBuffer = Standard_False,
const Standard_Boolean  RetainMode = Standard_False
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::BeginMarker  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::BeginPolygon  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::BeginPolyline  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::BeginTriangleMesh  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::ClearDraw const Handle(Visual3d_View)&  aView,
const Standard_Boolean  aFlush = Standard_True
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::ClosePrimitive  )  [static]
 

Standard_EXPORT void Visual3d_TransientManager::Destroy  ) 
 

static Standard_EXPORT void Visual3d_TransientManager::DrawStructure const Handle(Graphic3d_Structure)&  AStructure  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::DrawText const TCollection_ExtendedString &  AText,
const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z,
const Standard_Real  AHeight,
const Quantity_PlaneAngle  AAngle = 0.0,
const Graphic3d_TextPath  ATp = Graphic3d_TP_RIGHT,
const Graphic3d_HorizontalTextAlignment  AHta = Graphic3d_HTA_NORMAL,
const Graphic3d_VerticalTextAlignment  AVta = Graphic3d_VTA_NORMAL
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::EndAddDraw  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::EndDraw const Standard_Boolean  Synchronize = Standard_False  )  [static]
 

Standard_EXPORT const Visual3d_TransientManager::Handle Standard_Type   )  const
 

static Standard_EXPORT void Visual3d_TransientManager::MinMaxValues Standard_Real &  UMin,
Standard_Real &  VMin,
Standard_Real &  UMax,
Standard_Real &  VMax
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::MinMaxValues Standard_Real &  XMin,
Standard_Real &  YMin,
Standard_Real &  ZMin,
Standard_Real &  XMax,
Standard_Real &  YMax,
Standard_Real &  ZMax
[static]
 

static Standard_EXPORT void Visual3d_TransientManager::SetPrimitivesAspect const Handle(Graphic3d_AspectMarker3d)&  CTX  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::SetPrimitivesAspect const Handle(Graphic3d_AspectText3d)&  CTX  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::SetPrimitivesAspect const Handle(Graphic3d_AspectFillArea3d)&  CTX  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::SetPrimitivesAspect const Handle(Graphic3d_AspectLine3d)&  CTX  )  [static]
 

static Standard_EXPORT void Visual3d_TransientManager::SetTransform const TColStd_Array2OfReal &  AMatrix,
const Graphic3d_TypeOfComposition  AType = Graphic3d_TOC_REPLACE
[static]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:56:28 2008 for OpenCASCADE by  doxygen 1.4.1