// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Graphic3d_GraphicDriver_HeaderFile #define _Graphic3d_GraphicDriver_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Graphic3d_GraphicDriver_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _OSD_SharedLibrary_HeaderFile #include #endif #ifndef _Aspect_GraphicDriver_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Aspect_Display_HeaderFile #include #endif #ifndef _Graphic3d_CView_HeaderFile #include #endif #ifndef _Graphic3d_CStructure_HeaderFile #include #endif #ifndef _Standard_ShortReal_HeaderFile #include #endif #ifndef _Graphic3d_CGroup_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfByte_HeaderFile #include #endif #ifndef _Graphic3d_TypeOfPrimitive_HeaderFile #include #endif #ifndef _Graphic3d_CPick_HeaderFile #include #endif #ifndef _Aspect_GradientFillMethod_HeaderFile #include #endif #ifndef _Aspect_FillMethod_HeaderFile #include #endif #ifndef _Aspect_CLayer2d_HeaderFile #include #endif #ifndef _Graphic3d_TypeOfPolygon_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Quantity_PlaneAngle_HeaderFile #include #endif #ifndef _Graphic3d_TextPath_HeaderFile #include #endif #ifndef _Graphic3d_HorizontalTextAlignment_HeaderFile #include #endif #ifndef _Graphic3d_VerticalTextAlignment_HeaderFile #include #endif #ifndef _Graphic3d_PrimitiveArray_HeaderFile #include #endif #ifndef _Graphic3d_CUserDraw_HeaderFile #include #endif #ifndef _Quantity_NameOfColor_HeaderFile #include #endif #ifndef _Aspect_TypeOfTriedronPosition_HeaderFile #include #endif #ifndef _Aspect_TypeOfTriedronEcho_HeaderFile #include #endif #ifndef _Graphic3d_CGraduatedTrihedron_HeaderFile #include #endif #ifndef _Graphic3d_TypeOfComposition_HeaderFile #include #endif #ifndef _Graphic3d_TypeOfTexture_HeaderFile #include #endif #ifndef _Handle_AlienImage_AlienImage_HeaderFile #include #endif #ifndef _Handle_TColStd_HArray1OfReal_HeaderFile #include #endif #ifndef _Graphic3d_CInitTexture_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _Graphic3d_PtrFrameBuffer_HeaderFile #include #endif #ifndef _Image_CRawBufferData_HeaderFile #include #endif #ifndef _Aspect_Handle_HeaderFile #include #endif #ifndef _Aspect_PrintAlgo_HeaderFile #include #endif #ifndef _Graphic3d_ExportFormat_HeaderFile #include #endif #ifndef _Graphic3d_SortType_HeaderFile #include #endif #ifndef _Graphic3d_CLight_HeaderFile #include #endif #ifndef _Graphic3d_CPlane_HeaderFile #include #endif class Graphic3d_TransformError; class TColStd_Array2OfReal; class TColStd_HArray1OfByte; class Graphic3d_VertexNC; class Graphic3d_Vector; class Quantity_Color; class Graphic3d_Vertex; class Graphic3d_Array1OfVertex; class Graphic3d_Array1OfVertexN; class Graphic3d_Array1OfVertexNT; class TColStd_Array1OfInteger; class Graphic3d_Array1OfVertexC; class Graphic3d_Array2OfVertex; class Graphic3d_Array2OfVertexN; class Graphic3d_Array2OfVertexNT; class Aspect_Array1OfEdge; class Graphic3d_Array1OfVertexNC; class TCollection_ExtendedString; class TColStd_Array1OfReal; class AlienImage_AlienImage; class TColStd_HArray1OfReal; //! This class allows the definition of a graphic
//! driver and encapsulates the Pex driver, the
//! OpenGl driver, the Optimizer driver and the Phigs driver.
class Graphic3d_GraphicDriver : public Aspect_GraphicDriver { public: //! call_togl_begin
Standard_EXPORT virtual Standard_Boolean Begin(const Standard_CString ADisplay) = 0; //! call_togl_begin_display
Standard_EXPORT virtual Standard_Boolean Begin(const Aspect_Display ADisplay) = 0; //! call_togl_end
Standard_EXPORT virtual void End() = 0; //! call_togl_inquirelight
Standard_EXPORT virtual Standard_Integer InquireLightLimit() = 0; //! call_togl_inquiremat
Standard_EXPORT virtual void InquireMat(const Graphic3d_CView& ACView,TColStd_Array2OfReal& AMatO,TColStd_Array2OfReal& AMatM) = 0; //! call_togl_inquireplane
Standard_EXPORT virtual Standard_Integer InquirePlaneLimit() = 0; //! call_togl_inquireview
Standard_EXPORT virtual Standard_Integer InquireViewLimit() = 0; //! Returns Standard_True if texture is
//! supported by the graphic driver
Standard_EXPORT virtual Standard_Boolean InquireTextureAvailable() = 0; //! call_togl_blink
Standard_EXPORT virtual void Blink(const Graphic3d_CStructure& ACStructure,const Standard_Boolean Create) = 0; //! call_togl_boundarybox
Standard_EXPORT virtual void BoundaryBox(const Graphic3d_CStructure& ACStructure,const Standard_Boolean Create) = 0; //! call_togl_highlightcolor
Standard_EXPORT virtual void HighlightColor(const Graphic3d_CStructure& ACStructure,const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B,const Standard_Boolean Create) = 0; //! call_togl_namesetstructure
Standard_EXPORT virtual void NameSetStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_cleargroup
Standard_EXPORT virtual void ClearGroup(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_closegroup
Standard_EXPORT virtual void CloseGroup(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_facecontextgroup
Standard_EXPORT virtual void FaceContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert) = 0; //! call_togl_group
Standard_EXPORT virtual void Group(Graphic3d_CGroup& ACGroup) = 0; //! call_togl_linecontextgroup
Standard_EXPORT virtual void LineContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert) = 0; //! call_togl_markercontextgroup
Standard_EXPORT virtual void MarkerContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert) = 0; //! call_togl_markercontextgroup
Standard_EXPORT virtual void MarkerContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert,const Standard_Integer AMarkWidth,const Standard_Integer AMarkHeight,const Handle(TColStd_HArray1OfByte)& ATexture) = 0; //! call_togl_opengroup
Standard_EXPORT virtual void OpenGroup(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_removegroup
Standard_EXPORT virtual void RemoveGroup(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_textcontextgroup
Standard_EXPORT virtual void TextContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert) = 0; //! call_togl_clearstructure
Standard_EXPORT virtual void ClearStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_connect
Standard_EXPORT virtual void Connect(const Graphic3d_CStructure& AFather,const Graphic3d_CStructure& ASon) = 0; //! call_togl_contextstructure
Standard_EXPORT virtual void ContextStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_disconnect
Standard_EXPORT virtual void Disconnect(const Graphic3d_CStructure& AFather,const Graphic3d_CStructure& ASon) = 0; //! call_togl_displaystructure
Standard_EXPORT virtual void DisplayStructure(const Graphic3d_CView& ACView,const Graphic3d_CStructure& ACStructure,const Standard_Integer APriority) = 0; //! call_togl_erasestructure
Standard_EXPORT virtual void EraseStructure(const Graphic3d_CView& ACView,const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_removestructure
Standard_EXPORT virtual void RemoveStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_structure
Standard_EXPORT virtual void Structure(Graphic3d_CStructure& ACStructure) = 0; //! call_togl_structure_exploration
Standard_EXPORT virtual void DumpGroup(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_structure_exploration
Standard_EXPORT virtual void DumpStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_view_exploration
Standard_EXPORT virtual void DumpView(const Graphic3d_CView& ACView) = 0; //! call_togl_element_exploration
Standard_EXPORT virtual Standard_Boolean ElementExploration(const Graphic3d_CStructure& ACStructure,const Standard_Integer ElementNumber,Graphic3d_VertexNC& AVertex,Graphic3d_Vector& AVector) = 0; //! call_togl_element_type
Standard_EXPORT virtual Graphic3d_TypeOfPrimitive ElementType(const Graphic3d_CStructure& ACStructure,const Standard_Integer ElementNumber) = 0; //! call_togl_init_pick
Standard_EXPORT virtual void InitPick() = 0; //! call_togl_pick
Standard_EXPORT virtual void Pick(Graphic3d_CPick& ACPick) = 0; //! call_togl_pickid
Standard_EXPORT virtual void PickId(const Graphic3d_CGroup& ACGroup) = 0; //! call_togl_activateview
Standard_EXPORT virtual void ActivateView(const Graphic3d_CView& ACView) = 0; //! call_togl_antialiasing
Standard_EXPORT virtual void AntiAliasing(const Graphic3d_CView& ACView,const Standard_Boolean AFlag) = 0; //! call_togl_background
Standard_EXPORT virtual void Background(const Graphic3d_CView& ACView) = 0; //! call_togl_gradient_background
Standard_EXPORT virtual void GradientBackground(const Graphic3d_CView& ACView,const Quantity_Color& AColor1,const Quantity_Color& AColor2,const Aspect_GradientFillMethod FillStyle) ; Standard_EXPORT virtual void BackgroundImage(const Standard_CString FileName,const Graphic3d_CView& ACView,const Aspect_FillMethod FillStyle) = 0; Standard_EXPORT virtual void SetBgImageStyle(const Graphic3d_CView& ACView,const Aspect_FillMethod FillStyle) = 0; Standard_EXPORT virtual void SetBgGradientStyle(const Graphic3d_CView& ACView,const Aspect_GradientFillMethod FillStyle) ; //! call_togl_cliplimit
Standard_EXPORT virtual void ClipLimit(const Graphic3d_CView& ACView,const Standard_Boolean AWait) = 0; //! call_togl_deactivateview
Standard_EXPORT virtual void DeactivateView(const Graphic3d_CView& ACView) = 0; //! call_togl_cliplimit
Standard_EXPORT virtual void DepthCueing(const Graphic3d_CView& ACView,const Standard_Boolean AFlag) = 0; //! call_togl_unproject_raster
Standard_EXPORT virtual Standard_Boolean ProjectRaster(const Graphic3d_CView& ACView,const Standard_ShortReal AX,const Standard_ShortReal AY,const Standard_ShortReal AZ,Standard_Integer& AU,Standard_Integer& AV) = 0; //! call_togl_unproject_raster
Standard_EXPORT virtual Standard_Boolean UnProjectRaster(const Graphic3d_CView& ACView,const Standard_Integer Axm,const Standard_Integer Aym,const Standard_Integer AXM,const Standard_Integer AYM,const Standard_Integer AU,const Standard_Integer AV,Standard_ShortReal& AX,Standard_ShortReal& AY,Standard_ShortReal& AZ) = 0; //! call_togl_unproject_raster_with_ray
Standard_EXPORT virtual Standard_Boolean UnProjectRasterWithRay(const Graphic3d_CView& ACView,const Standard_Integer Axm,const Standard_Integer Aym,const Standard_Integer AXM,const Standard_Integer AYM,const Standard_Integer AU,const Standard_Integer AV,Standard_ShortReal& AX,Standard_ShortReal& AY,Standard_ShortReal& AZ,Standard_ShortReal& DX,Standard_ShortReal& DY,Standard_ShortReal& DZ) = 0; //! call_togl_ratio_window
Standard_EXPORT virtual void RatioWindow(const Graphic3d_CView& ACView) = 0; //! call_togl_redraw
//! Warning: when the redraw area has a null size, the full view is redrawn
Standard_EXPORT virtual void Redraw(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Standard_Integer x = 0,const Standard_Integer y = 0,const Standard_Integer width = 0,const Standard_Integer height = 0) = 0; //! call_togl_removeview
Standard_EXPORT virtual void RemoveView(const Graphic3d_CView& ACView) = 0; //! call_togl_setlight
Standard_EXPORT virtual void SetLight(const Graphic3d_CView& ACView) = 0; //! call_togl_setplane
Standard_EXPORT virtual void SetPlane(const Graphic3d_CView& ACView) = 0; //! call_togl_setvisualisation
Standard_EXPORT virtual void SetVisualisation(const Graphic3d_CView& ACView) = 0; //! call_togl_transformstructure
Standard_EXPORT virtual void TransformStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_degeneratestructure
Standard_EXPORT virtual void DegenerateStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_transparency
Standard_EXPORT virtual void Transparency(const Graphic3d_CView& ACView,const Standard_Boolean AFlag) = 0; //! call_togl_update
Standard_EXPORT virtual void Update(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer) = 0; //! call_togl_view
Standard_EXPORT virtual Standard_Boolean View(Graphic3d_CView& ACView) = 0; //! call_togl_viewmapping
Standard_EXPORT virtual void ViewMapping(const Graphic3d_CView& ACView,const Standard_Boolean AWait) = 0; //! call_togl_vieworientation
Standard_EXPORT virtual void ViewOrientation(const Graphic3d_CView& ACView,const Standard_Boolean AWait) = 0; Standard_EXPORT virtual void Environment(const Graphic3d_CView& ACView) = 0; Standard_EXPORT virtual void Marker(const Graphic3d_CGroup& ACGroup,const Graphic3d_Vertex& APoint,const Standard_Boolean EvalMinMax = Standard_True) = 0; Standard_EXPORT virtual void MarkerSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon
Standard_EXPORT virtual void Polygon(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon
Standard_EXPORT virtual void Polygon(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_Vector& Normal,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon
Standard_EXPORT virtual void Polygon(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon
Standard_EXPORT virtual void Polygon(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_Vector& Normal,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon
Standard_EXPORT virtual void Polygon(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNT& ListVertex,const Graphic3d_TypeOfPolygon AType = Graphic3d_TOP_CONVEX,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_holes
Standard_EXPORT virtual void PolygonHoles(const Graphic3d_CGroup& ACGroup,const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_holes
Standard_EXPORT virtual void PolygonHoles(const Graphic3d_CGroup& ACGroup,const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertex& ListVertex,const Graphic3d_Vector& Normal,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_holes
Standard_EXPORT virtual void PolygonHoles(const Graphic3d_CGroup& ACGroup,const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_holes
Standard_EXPORT virtual void PolygonHoles(const Graphic3d_CGroup& ACGroup,const TColStd_Array1OfInteger& Bounds,const Graphic3d_Array1OfVertexN& ListVertex,const Graphic3d_Vector& Normal,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polyline
Standard_EXPORT virtual void Polyline(const Graphic3d_CGroup& ACGroup,const Standard_Real X1,const Standard_Real Y1,const Standard_Real Z1,const Standard_Real X2,const Standard_Real Y2,const Standard_Real Z2,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polyline
Standard_EXPORT virtual void Polyline(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polyline
Standard_EXPORT virtual void Polyline(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexC& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_quadrangle
Standard_EXPORT virtual void QuadrangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array2OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_quadrangle
Standard_EXPORT virtual void QuadrangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array2OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_quadrangle
Standard_EXPORT virtual void QuadrangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array2OfVertexNT& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void QuadrangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void QuadrangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexN& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void QuadrangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNT& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void QuadrangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void QuadrangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_text
Standard_EXPORT virtual void Text(const Graphic3d_CGroup& ACGroup,const Standard_CString AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Quantity_PlaneAngle AAngle,const Graphic3d_TextPath ATp,const Graphic3d_HorizontalTextAlignment AHta,const Graphic3d_VerticalTextAlignment AVta,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_text
Standard_EXPORT virtual void Text(const Graphic3d_CGroup& ACGroup,const Standard_CString AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_text
Standard_EXPORT virtual void Text(const Graphic3d_CGroup& ACGroup,const TCollection_ExtendedString& AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Quantity_PlaneAngle AAngle,const Graphic3d_TextPath ATp,const Graphic3d_HorizontalTextAlignment AHta,const Graphic3d_VerticalTextAlignment AVta,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_text
Standard_EXPORT virtual void Text(const Graphic3d_CGroup& ACGroup,const TCollection_ExtendedString& AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_triangle
Standard_EXPORT virtual void TriangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_triangle
Standard_EXPORT virtual void TriangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexN& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_triangle
Standard_EXPORT virtual void TriangleMesh(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNT& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void TriangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void TriangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexN& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void TriangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNT& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void TriangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_polygon_indices
Standard_EXPORT virtual void TriangleSet(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertexNC& ListVertex,const Aspect_Array1OfEdge& ListEdge,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_parray
Standard_EXPORT virtual void PrimitiveArray(const Graphic3d_CGroup& ACGroup,const Graphic3d_PrimitiveArray& parray,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_userdraw
Standard_EXPORT virtual void UserDraw(const Graphic3d_CGroup& ACGroup,const Graphic3d_CUserDraw& AUserDraw) = 0; //! enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays
Standard_EXPORT virtual void EnableVBO(const Standard_Boolean status) ; //! call_togl_ztriedron_setup
Standard_EXPORT virtual void ZBufferTriedronSetup(const Quantity_NameOfColor XColor = Quantity_NOC_RED,const Quantity_NameOfColor YColor = Quantity_NOC_GREEN,const Quantity_NameOfColor ZColor = Quantity_NOC_BLUE1,const Standard_Real SizeRatio = 0.8,const Standard_Real AxisDiametr = 0.05,const Standard_Integer NbFacettes = 12) = 0; //! call_togl_triedron_display
Standard_EXPORT virtual void TriedronDisplay(const Graphic3d_CView& ACView,const Aspect_TypeOfTriedronPosition APosition = Aspect_TOTP_CENTER,const Quantity_NameOfColor AColor = Quantity_NOC_WHITE,const Standard_Real AScale = 0.02,const Standard_Boolean AsWireframe = Standard_True) = 0; //! call_togl_triedron_erase
Standard_EXPORT virtual void TriedronErase(const Graphic3d_CView& ACView) = 0; //! call_togl_triedron_echo
Standard_EXPORT virtual void TriedronEcho(const Graphic3d_CView& ACView,const Aspect_TypeOfTriedronEcho AType = Aspect_TOTE_NONE) = 0; //! call_togl_graduatedtrihedron_display
Standard_EXPORT virtual void GraduatedTrihedronDisplay(const Graphic3d_CView& view,const Graphic3d_CGraduatedTrihedron& cubic) = 0; //! call_togl_graduatedtrihedron_erase
Standard_EXPORT virtual void GraduatedTrihedronErase(const Graphic3d_CView& view) = 0; //! call_togl_graduatedtrihedron_minmaxvalues
Standard_EXPORT virtual void GraduatedTrihedronMinMaxValues(const Standard_ShortReal xmin,const Standard_ShortReal ymin,const Standard_ShortReal zmin,const Standard_ShortReal xmax,const Standard_ShortReal ymax,const Standard_ShortReal zmax) = 0; //! call_togl_bezier
Standard_EXPORT virtual void Bezier(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_bezier_weight
Standard_EXPORT virtual void Bezier(const Graphic3d_CGroup& ACGroup,const Graphic3d_Array1OfVertex& ListVertex,const TColStd_Array1OfReal& ListWeight,const Standard_Boolean EvalMinMax = Standard_True) = 0; //! call_togl_begin_animation
Standard_EXPORT virtual void BeginAnimation(const Graphic3d_CView& ACView) = 0; //! call_togl_end_animation
Standard_EXPORT virtual void EndAnimation(const Graphic3d_CView& ACView) = 0; //! call_togl_begin_ajout_mode
Standard_EXPORT virtual Standard_Boolean BeginAddMode(const Graphic3d_CView& ACView) = 0; //! call_togl_end_ajout_mode
Standard_EXPORT virtual void EndAddMode() = 0; //! call_togl_begin_immediat_mode
Standard_EXPORT virtual Standard_Boolean BeginImmediatMode(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Standard_Boolean DoubleBuffer,const Standard_Boolean RetainMode) = 0; //! call_togl_begin_polyline
Standard_EXPORT virtual void BeginPolyline() = 0; //! call_togl_clear_immediat_mode
Standard_EXPORT virtual void ClearImmediatMode(const Graphic3d_CView& ACView,const Standard_Boolean aFlush = Standard_True) = 0; //! call_togl_draw
Standard_EXPORT virtual void Draw(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal Z) = 0; //! call_togl_draw_structure
Standard_EXPORT virtual void DrawStructure(const Graphic3d_CStructure& ACStructure) = 0; //! call_togl_end_immediat_mode
Standard_EXPORT virtual void EndImmediatMode(const Standard_Integer Synchronize) = 0; //! call_togl_end_polyline
Standard_EXPORT virtual void EndPolyline() = 0; //! call_togl_move
Standard_EXPORT virtual void Move(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal Z) = 0; //! call_togl_set_linecolor
Standard_EXPORT virtual void SetLineColor(const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B) = 0; //! call_togl_set_linetype
Standard_EXPORT virtual void SetLineType(const Standard_Integer Type) = 0; //! call_togl_set_linewidth
Standard_EXPORT virtual void SetLineWidth(const Standard_ShortReal Width) = 0; //! call_togl_set_minmax
Standard_EXPORT virtual void SetMinMax(const Standard_ShortReal X1,const Standard_ShortReal Y1,const Standard_ShortReal Z1,const Standard_ShortReal X2,const Standard_ShortReal Y2,const Standard_ShortReal Z2) = 0; //! call_togl_transform
Standard_EXPORT virtual void Transform(const TColStd_Array2OfReal& AMatrix,const Graphic3d_TypeOfComposition AType) = 0; Standard_EXPORT virtual Standard_Integer CreateTexture(const Graphic3d_TypeOfTexture Type,const Handle(AlienImage_AlienImage)& Image,const Standard_CString FileName,const Handle(TColStd_HArray1OfReal)& TexUpperBounds) const = 0; Standard_EXPORT virtual void DestroyTexture(const Standard_Integer TexId) const = 0; Standard_EXPORT virtual void ModifyTexture(const Standard_Integer TexId,const Graphic3d_CInitTexture& AValue) const = 0; //! call_togl_layer2d
Standard_EXPORT virtual void Layer(Aspect_CLayer2d& ACLayer) = 0; //! call_togl_removelayer2d
Standard_EXPORT virtual void RemoveLayer(const Aspect_CLayer2d& ACLayer) = 0; //! call_togl_begin_layer2d
Standard_EXPORT virtual void BeginLayer(const Aspect_CLayer2d& ACLayer) = 0; //! call_togl_begin_polygon2d
Standard_EXPORT virtual void BeginPolygon2d() = 0; //! call_togl_begin_polyline2d
Standard_EXPORT virtual void BeginPolyline2d() = 0; //! call_togl_clear_layer2d
Standard_EXPORT virtual void ClearLayer(const Aspect_CLayer2d& ACLayer) = 0; //! call_togl_draw2d
Standard_EXPORT virtual void Draw(const Standard_ShortReal X,const Standard_ShortReal Y) = 0; //! call_togl_edge2d
Standard_EXPORT virtual void Edge(const Standard_ShortReal X,const Standard_ShortReal Y) = 0; //! call_togl_end_layer2d
Standard_EXPORT virtual void EndLayer() = 0; //! call_togl_end_polygon2d
Standard_EXPORT virtual void EndPolygon2d() = 0; //! call_togl_end_polyline2d
Standard_EXPORT virtual void EndPolyline2d() = 0; //! call_togl_move2d
Standard_EXPORT virtual void Move(const Standard_ShortReal X,const Standard_ShortReal Y) = 0; //! call_togl_rectangle2d
Standard_EXPORT virtual void Rectangle(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal Width,const Standard_ShortReal Height) = 0; //! call_togl_set_color
Standard_EXPORT virtual void SetColor(const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B) = 0; //! call_togl_set_transparency
Standard_EXPORT virtual void SetTransparency(const Standard_ShortReal ATransparency) = 0; //! call_togl_unset_transparency
Standard_EXPORT virtual void UnsetTransparency() = 0; //! call_togl_set_line_attributes
Standard_EXPORT virtual void SetLineAttributes(const Standard_Integer Type,const Standard_ShortReal Width) = 0; //! call_togl_set_text_attributes
Standard_EXPORT virtual void SetTextAttributes(const Standard_CString Font,const Standard_Integer Type,const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B) ; //! call_togl_text2d
//! If AHeight < 0 default text height is used by driver (DefaultTextHeight method)
Standard_EXPORT virtual void Text(const Standard_CString AText,const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal AHeight) = 0; Standard_EXPORT virtual Standard_ShortReal DefaultTextHeight() const = 0; //! call_togl_textsize2d
Standard_EXPORT virtual void TextSize(const Standard_CString AText,const Standard_ShortReal AHeight,Standard_ShortReal& AWidth,Standard_ShortReal& AnAscent,Standard_ShortReal& ADescent) const = 0; //! call_togl_backfacing
Standard_EXPORT virtual void SetBackFacingModel(const Graphic3d_CView& aView) = 0; //! call_togl_depthtest
Standard_EXPORT virtual void SetDepthTestEnabled(const Graphic3d_CView& view,const Standard_Boolean isEnabled) const = 0; //! call_togl_isdepthtest
Standard_EXPORT virtual Standard_Boolean IsDepthTestEnabled(const Graphic3d_CView& view) const = 0; //! Reads depths of shown pixels of the given
//! rectangle (glReadPixels with GL_DEPTH_COMPONENT)
Standard_EXPORT virtual void ReadDepths(const Graphic3d_CView& view,const Standard_Integer x,const Standard_Integer y,const Standard_Integer width,const Standard_Integer height,const Standard_Address buffer) const = 0; //! Generate offscreen FBO in the graphic library.
//! If not supported on hardware returns NULL.
Standard_EXPORT virtual Graphic3d_PtrFrameBuffer FBOCreate(const Graphic3d_CView& view,const Standard_Integer width,const Standard_Integer height) = 0; //! Remove offscreen FBO from the graphic library
Standard_EXPORT virtual void FBORelease(const Graphic3d_CView& view,Graphic3d_PtrFrameBuffer& fboPtr) = 0; //! Read offscreen FBO configuration.
Standard_EXPORT virtual void FBOGetDimensions(const Graphic3d_CView& view,const Graphic3d_PtrFrameBuffer fboPtr,Standard_Integer& width,Standard_Integer& height,Standard_Integer& widthMax,Standard_Integer& heightMax) = 0; //! Change offscreen FBO viewport.
Standard_EXPORT virtual void FBOChangeViewport(const Graphic3d_CView& view,Graphic3d_PtrFrameBuffer& fboPtr,const Standard_Integer width,const Standard_Integer height) = 0; //! Dump active rendering buffer into specified memory buffer.
Standard_EXPORT virtual Standard_Boolean BufferDump(const Graphic3d_CView& view,Image_CRawBufferData& buffer) = 0; //! call_togl_gllight
Standard_EXPORT virtual void SetGLLightEnabled(const Graphic3d_CView& view,const Standard_Boolean isEnabled) const = 0; //! call_togl_isgllight
Standard_EXPORT virtual Standard_Boolean IsGLLightEnabled(const Graphic3d_CView& view) const = 0; //! print the contents of all layers of the view to the printer.
//! : Pass the PrinterDeviceContext (HDC),
//! : When set to FALSE then print the view without background color
//! (background is white)
//! else set to TRUE for printing with current background color.
//! : If != NULL, then the view will be printed to a file.
//! : Select print algorithm: stretch, tile.
//! : Scaling coefficient, used internally to scale the
//! printings accordingly to the scale factor selected in the printer
//! properties dialog.
//! Returns Standard_True if the data is passed to the printer, otherwise
//! Standard_False if the print operation failed due to the printer errors,
//! or insufficient system memory available.
Standard_EXPORT virtual Standard_Boolean Print(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Aspect_Handle hPrnDC,const Standard_Boolean showBackground,const Standard_CString filename,const Aspect_PrintAlgo printAlgorithm = Aspect_PA_STRETCH,const Standard_Real theScaleFactor = 1.0) const = 0; Standard_EXPORT virtual void Export(const Standard_CString FileName,const Graphic3d_ExportFormat Format,const Graphic3d_SortType SortType,const Standard_Integer W,const Standard_Integer H,const Graphic3d_CView& View,const Aspect_CLayer2d& Under,const Aspect_CLayer2d& Over,const Standard_Real Precision = 0.005,const Standard_Address ProgressBarFunc = NULL,const Standard_Address ProgressObject = NULL) = 0; //! Clear visualization data in graphical driver and
//! stop displaying the primitives array of the graphical group
//! . This method is internal and should be used
//! by Graphic3d_Group only.
Standard_EXPORT virtual void RemovePrimitiveArray(const Graphic3d_CGroup& theCGroup,const Graphic3d_PrimitiveArray& thePArray) = 0; //! call_togl_light
Standard_EXPORT static Standard_Integer Light(const Graphic3d_CLight& ACLight,const Standard_Boolean Update) ; //! call_togl_plane
Standard_EXPORT static Standard_Integer Plane(const Graphic3d_CPlane& ACPlane,const Standard_Boolean Update) ; Standard_EXPORT void PrintBoolean(const Standard_CString AComment,const Standard_Boolean AValue) const; Standard_EXPORT void PrintCGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer AField) const; Standard_EXPORT void PrintCLight(const Graphic3d_CLight& ACLight,const Standard_Integer AField) const; Standard_EXPORT void PrintCPick(const Graphic3d_CPick& ACPick,const Standard_Integer AField) const; Standard_EXPORT void PrintCPlane(const Graphic3d_CPlane& ACPlane,const Standard_Integer AField) const; Standard_EXPORT void PrintCStructure(const Graphic3d_CStructure& ACStructure,const Standard_Integer AField) const; Standard_EXPORT void PrintCView(const Graphic3d_CView& ACView,const Standard_Integer AField) const; Standard_EXPORT void PrintFunction(const Standard_CString AFunc) const; Standard_EXPORT void PrintInteger(const Standard_CString AComment,const Standard_Integer AValue) const; Standard_EXPORT void PrintIResult(const Standard_CString AFunc,const Standard_Integer AResult) const; Standard_EXPORT void PrintShortReal(const Standard_CString AComment,const Standard_ShortReal AValue) const; Standard_EXPORT void PrintMatrix(const Standard_CString AComment,const TColStd_Array2OfReal& AMatrix) const; Standard_EXPORT void PrintString(const Standard_CString AComment,const Standard_CString AString) const; Standard_EXPORT void SetTrace(const Standard_Integer ALevel) ; Standard_EXPORT Standard_Integer Trace() const; DEFINE_STANDARD_RTTI(Graphic3d_GraphicDriver) protected: //! Initialises the Driver
Standard_EXPORT Graphic3d_GraphicDriver(const Standard_CString AShrName); Standard_Integer MyTraceLevel; OSD_SharedLibrary MySharedLibrary; private: }; // other Inline functions and methods (like "C++: function call" methods) #endif