// 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 _Aspect_Driver_HeaderFile #define _Aspect_Driver_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Aspect_Driver_HeaderFile #include #endif #ifndef _Handle_Aspect_ColorMap_HeaderFile #include #endif #ifndef _Handle_Aspect_TypeMap_HeaderFile #include #endif #ifndef _Handle_Aspect_WidthMap_HeaderFile #include #endif #ifndef _Handle_Aspect_FontMap_HeaderFile #include #endif #ifndef _Handle_Aspect_MarkMap_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Quantity_PlaneAngle_HeaderFile #include #endif #ifndef _Quantity_Factor_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_ShortReal_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _Aspect_TypeOfText_HeaderFile #include #endif #ifndef _Quantity_Ratio_HeaderFile #include #endif #ifndef _Quantity_Length_HeaderFile #include #endif class Aspect_ColorMap; class Aspect_TypeMap; class Aspect_WidthMap; class Aspect_FontMap; class Aspect_MarkMap; class Aspect_DriverDefinitionError; class Aspect_DriverError; class Aspect_UndefinedMap; class Standard_Transient; class TShort_Array1OfShortReal; class TCollection_ExtendedString; //! Defines the common behaviour of the output driver.
//! Warning: Permits to defines polyline,polygon,marker and text attributes in relation
//! with the SINGLE primitives DrawPolyline(),DrawPolygon(),....
//! or the INCREMENTAL primitives BeginPolyline(),BeginPolygon(),...
//! or the SET of primitives BeginArcs(),BeginMarkers(),...
class Aspect_Driver : public MMgt_TShared { public: //! Flush all graphics and Wait after up to date
Standard_EXPORT virtual void EndDraw(const Standard_Boolean Synchronize = Standard_False) = 0; Standard_EXPORT void SetColorMap(const Handle(Aspect_ColorMap)& aColorMap) ; Standard_EXPORT void SetTypeMap(const Handle(Aspect_TypeMap)& aTypeMap) ; Standard_EXPORT void SetWidthMap(const Handle(Aspect_WidthMap)& aWidthMap) ; //! Sets the current font map to this driver and Enable/Disable
//! this driver to use MDTV fonts instead system fonts.
Standard_EXPORT void SetFontMap(const Handle(Aspect_FontMap)& aFontMap,const Standard_Boolean useMFT = Standard_True) ; Standard_EXPORT void SetMarkMap(const Handle(Aspect_MarkMap)& aMarkMap) ; Standard_EXPORT virtual void SetLineAttrib(const Standard_Integer ColorIndex,const Standard_Integer TypeIndex,const Standard_Integer WidthIndex) = 0; Standard_EXPORT virtual void SetTextAttrib(const Standard_Integer ColorIndex,const Standard_Integer FontIndex) = 0; Standard_EXPORT virtual void SetTextAttrib(const Standard_Integer ColorIndex,const Standard_Integer FontIndex,const Quantity_PlaneAngle aSlant,const Quantity_Factor aHScale,const Quantity_Factor aWScale,const Standard_Boolean isUnderlined = Standard_False) = 0; Standard_EXPORT virtual void SetPolyAttrib(const Standard_Integer ColorIndex,const Standard_Integer TileIndex,const Standard_Boolean DrawEdge = Standard_False) = 0; Standard_EXPORT virtual void SetMarkerAttrib(const Standard_Integer ColorIndex,const Standard_Integer WidthIndex,const Standard_Boolean FillMarker = Standard_False) = 0; Standard_EXPORT virtual Standard_Boolean IsKnownImage(const Handle(Standard_Transient)& anImage) = 0; Standard_EXPORT virtual Standard_Boolean SizeOfImageFile(const Standard_CString anImageFile,Standard_Integer& aWidth,Standard_Integer& aHeight) const = 0; Standard_EXPORT virtual void ClearImage(const Handle(Standard_Transient)& anImageId) = 0; Standard_EXPORT virtual void ClearImageFile(const Standard_CString anImageFile) = 0; Standard_EXPORT virtual void DrawImage(const Handle(Standard_Transient)& anImageId,const Standard_ShortReal aX,const Standard_ShortReal aY) = 0; Standard_EXPORT virtual void DrawImageFile(const Standard_CString anImageFile,const Standard_ShortReal aX,const Standard_ShortReal aY,const Quantity_Factor aScale = 1.0) = 0; //! Fills a complete Image .
Standard_EXPORT virtual void FillAndDrawImage(const Handle(Standard_Transient)& anImageId,const Standard_ShortReal aX,const Standard_ShortReal aY,const Standard_Integer aWidth,const Standard_Integer aHeight,const Standard_Address anArrayOfPixels) = 0; //! Fills a line of the Image .
//! Warning: 0 <= anIndexOfLine < aHeight
//! anIndexOfLine = 0 must be the first call
Standard_EXPORT virtual void FillAndDrawImage(const Handle(Standard_Transient)& anImageId,const Standard_ShortReal aX,const Standard_ShortReal aY,const Standard_Integer anIndexOfLine,const Standard_Integer aWidth,const Standard_Integer aHeight,const Standard_Address anArrayOfPixels) = 0; //! Draw a polyline depending of the SetLineAttrib() attributes.
Standard_EXPORT virtual void DrawPolyline(const TShort_Array1OfShortReal& aListX,const TShort_Array1OfShortReal& aListY) = 0; //! Draw a polygon depending of the SetPolyAttrib() attributes.
Standard_EXPORT virtual void DrawPolygon(const TShort_Array1OfShortReal& aListX,const TShort_Array1OfShortReal& aListY) = 0; //! Draw a segment depending of the SetLineAttrib() attributes.
Standard_EXPORT virtual void DrawSegment(const Standard_ShortReal X1,const Standard_ShortReal Y1,const Standard_ShortReal X2,const Standard_ShortReal Y2) = 0; //! Draws a text depending of the SetTextAttrib() attributes.
Standard_EXPORT virtual void DrawText(const TCollection_ExtendedString& aText,const Standard_ShortReal Xpos,const Standard_ShortReal Ypos,const Standard_ShortReal anAngle = 0.0,const Aspect_TypeOfText aType = Aspect_TOT_SOLID) = 0; //! Draws an framed text depending of the
//! SetTextAttrib() and SetPolyAttrib() attributes.
//! Warning: Coordinates must be defined in DWU space.
//! defines the ratio of the space between the
//! polygon borders and the bounding box of the text and
//! depending of the height of the text.
Standard_EXPORT virtual void DrawPolyText(const TCollection_ExtendedString& aText,const Standard_ShortReal Xpos,const Standard_ShortReal Ypos,const Quantity_Ratio aMarge = 0.1,const Standard_ShortReal anAngle = 0.0,const Aspect_TypeOfText aType = Aspect_TOT_SOLID) = 0; //! Draws a 1 PIXEL point depending of the SetMarkerAttrib()
Standard_EXPORT virtual void DrawPoint(const Standard_ShortReal X,const Standard_ShortReal Y) = 0; //! Draws the prevously defined marker
Standard_EXPORT virtual void DrawMarker(const Standard_Integer aMarker,const Standard_ShortReal Xpos,const Standard_ShortReal Ypos,const Standard_ShortReal Width,const Standard_ShortReal Height,const Standard_ShortReal Angle = 0.0) = 0; //! Draws an Ellipsoid arc of center and Radius
Standard_EXPORT virtual Standard_Boolean DrawArc(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal anXradius,const Standard_ShortReal anYradius,const Standard_ShortReal aStartAngle = 0.0,const Standard_ShortReal anOpenAngle = 6.283185) = 0; //! Draws an filled Ellipsoid arc of center and Radius
Standard_EXPORT virtual Standard_Boolean DrawPolyArc(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal anXradius,const Standard_ShortReal anYradius,const Standard_ShortReal aStartAngle = 0.0,const Standard_ShortReal anOpenAngle = 6.283185) = 0; //! Begin an incremental polyline primitive of of points .
//! Warning: Points must be added by the the DrawPoint() method.
Standard_EXPORT virtual void BeginPolyline(const Standard_Integer aNumber) = 0; //! Begin an incremental polygon primitive of of points .
//! Warning: Points must be added by the the DrawPoint() method.
Standard_EXPORT virtual void BeginPolygon(const Standard_Integer aNumber) = 0; //! Begin a set of segments .
//! Warning: Segments must be added by the DrawSegment() method.
Standard_EXPORT virtual void BeginSegments() = 0; //! Begin a set of circles or ellips .
//! Warning: Arcs must be added by the DrawArc() methods.
Standard_EXPORT virtual void BeginArcs() = 0; //! Begin a set of polygon circles or ellips .
//! Warning: Arcs must be added by the DrawPolyArc() methods.
Standard_EXPORT virtual void BeginPolyArcs() = 0; //! Begin a set of markers .
//! Warning: Markers must be added by the DrawMarker() method.
Standard_EXPORT virtual void BeginMarkers() = 0; //! Begin a set of points .
//! Warning: Points must be added by the DrawPoint() method.
Standard_EXPORT virtual void BeginPoints() = 0; //! Close the last Begining primitive
Standard_EXPORT virtual void ClosePrimitive() = 0; Standard_EXPORT Handle_Aspect_ColorMap ColorMap() const; Standard_EXPORT Handle_Aspect_TypeMap TypeMap() const; Standard_EXPORT Handle_Aspect_WidthMap WidthMap() const; Standard_EXPORT Handle_Aspect_FontMap FontMap() const; Standard_EXPORT Handle_Aspect_MarkMap MarkMap() const; //! Returns the Available WorkSpace in DWU coordinates
Standard_EXPORT virtual void WorkSpace(Quantity_Length& Width,Quantity_Length& Heigth) const = 0; //! Returns the DWU value depending of
//! the PIXEL value.
Standard_EXPORT virtual Quantity_Length Convert(const Standard_Integer PV) const = 0; //! Returns the PIXEL value depending of
//! the DWU value.
Standard_EXPORT virtual Standard_Integer Convert(const Quantity_Length DV) const = 0; //! Returns the DWU position depending of
//! the PIXEL position .
Standard_EXPORT virtual void Convert(const Standard_Integer PX,const Standard_Integer PY,Quantity_Length& DX,Quantity_Length& DY) const = 0; //! Returns the PIXEL position depending of
//! the DWU position .
Standard_EXPORT virtual void Convert(const Quantity_Length DX,const Quantity_Length DY,Standard_Integer& PX,Standard_Integer& PY) const = 0; //! Returns TRUE when the driver must use MDTV fonts
//! instead system fonts.
Standard_EXPORT Standard_Boolean UseMFT() const; DEFINE_STANDARD_RTTI(Aspect_Driver) protected: Standard_EXPORT Aspect_Driver(); Standard_EXPORT virtual void InitializeColorMap(const Handle(Aspect_ColorMap)& aColorMap) = 0; Standard_EXPORT virtual void InitializeTypeMap(const Handle(Aspect_TypeMap)& aTypeMap) = 0; Standard_EXPORT virtual void InitializeWidthMap(const Handle(Aspect_WidthMap)& aWidthMap) = 0; Standard_EXPORT virtual void InitializeFontMap(const Handle(Aspect_FontMap)& aFontMap) = 0; Standard_EXPORT virtual void InitializeMarkMap(const Handle(Aspect_MarkMap)& aMarkMap) = 0; private: Handle_Aspect_ColorMap myColorMap; Handle_Aspect_TypeMap myTypeMap; Handle_Aspect_WidthMap myWidthMap; Handle_Aspect_FontMap myFontMap; Handle_Aspect_MarkMap myMarkMap; Standard_Boolean myColorMapIsDefined; Standard_Boolean myWidthMapIsDefined; Standard_Boolean myTypeMapIsDefined; Standard_Boolean myFontMapIsDefined; Standard_Boolean myMarkMapIsDefined; Standard_Boolean myUseMFT; }; // other Inline functions and methods (like "C++: function call" methods) #endif