Open CASCADE Technology  7.3.0
Public Member Functions
OpenGl_Text Class Reference

Text rendering. More...

#include <OpenGl_Text.hxx>

Inheritance diagram for OpenGl_Text:
Inheritance graph
[legend]

Public Member Functions

 OpenGl_Text (const Standard_Utf8Char *theText, const OpenGl_Vec3 &thePoint, const OpenGl_TextParam &theParams)
 Main constructor. More...
 
 OpenGl_Text (const Standard_Utf8Char *theText, const gp_Ax2 &theOrientation, const OpenGl_TextParam &theParams, const bool theHasOwnAnchor=true)
 Creates new text in 3D space. More...
 
void Init (const Handle< OpenGl_Context > &theCtx, const Standard_Utf8Char *theText, const OpenGl_Vec3 &thePoint)
 Setup new string and position. More...
 
void Init (const Handle< OpenGl_Context > &theCtx, const Standard_Utf8Char *theText, const OpenGl_Vec3 &thePoint, const OpenGl_TextParam &theParams)
 Setup new string and parameters. More...
 
void SetPosition (const OpenGl_Vec3 &thePoint)
 Setup new position. More...
 
void SetFontSize (const Handle< OpenGl_Context > &theContext, const Standard_Integer theFontSize)
 Setup new font size. More...
 
virtual void Render (const Handle< OpenGl_Workspace > &theWorkspace) const
 
virtual void Release (OpenGl_Context *theContext)
 Release GPU resources. Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. More...
 
- Public Member Functions inherited from OpenGl_Element
 OpenGl_Element ()
 
virtual Standard_Boolean IsFillDrawMode () const
 Return TRUE if primitive type generates shaded triangulation (to be used in filters). More...
 
Standard_Boolean RenderFiltered (const Handle< OpenGl_Workspace > &theWorkspace, const Handle< OpenGl_RenderFilter > &theFilter) const
 Render element if it passes the filtering procedure. This method should be used for elements which can be used in scope of rendering algorithms. E.g. elements of groups during recursive rendering. If render filter is null, pure rendering is performed. More...
 

methods for compatibility with layers

Handle< OpenGl_FontmyFont
 textures' IDs More...
 
NCollection_Vector< GLuint > myTextures
 textures' IDs More...
 
NCollection_Vector< Handle< OpenGl_VertexBuffer > > myVertsVbo
 VBOs of vertices. More...
 
NCollection_Vector< Handle< OpenGl_VertexBuffer > > myTCrdsVbo
 VBOs of texture coordinates. More...
 
Handle< OpenGl_VertexBuffermyBndVertsVbo
 VBOs of vertices for bounding box. More...
 
Font_Rect myBndBox
 textures' IDs More...
 
OpenGl_Mat4d myProjMatrix
 textures' IDs More...
 
OpenGl_Mat4d myModelMatrix
 textures' IDs More...
 
OpenGl_Mat4d myOrientationMatrix
 textures' IDs More...
 
GLdouble myWinX
 textures' IDs More...
 
GLdouble myWinY
 textures' IDs More...
 
GLdouble myWinZ
 textures' IDs More...
 
GLdouble myScaleHeight
 textures' IDs More...
 
GLdouble myExportHeight
 textures' IDs More...
 
OpenGl_TextParam myParams
 textures' IDs More...
 
NCollection_String myString
 textures' IDs More...
 
OpenGl_Vec3 myPoint
 textures' IDs More...
 
bool myIs2d
 textures' IDs More...
 
gp_Ax2 myOrientation
 Text orientation in 3D space. More...
 
bool myHasPlane
 Check if text have orientation in 3D space. More...
 
bool myHasAnchorPoint
 Shows if it has own attach point. More...
 
 OpenGl_Text ()
 Empty constructor. More...
 
void Init (const Handle< OpenGl_Context > &theCtx, const TCollection_ExtendedString &theText, const OpenGl_Vec2 &thePoint, const OpenGl_TextParam &theParams)
 Setup new string and parameters. More...
 
void Render (const Handle< OpenGl_Context > &theCtx, const OpenGl_AspectText &theTextAspect, const unsigned int theResolution=Graphic3d_RenderingParams::THE_DEFAULT_RESOLUTION) const
 Perform rendering. More...
 
static TCollection_AsciiString FontKey (const OpenGl_AspectText &theAspect, const Standard_Integer theHeight, const unsigned int theResolution)
 Create key for shared resource. More...
 
static Handle< OpenGl_FontFindFont (const Handle< OpenGl_Context > &theCtx, const OpenGl_AspectText &theAspect, const Standard_Integer theHeight, const unsigned int theResolution, const TCollection_AsciiString theKey)
 Find shared resource for specified font or initialize new one. More...
 
static void StringSize (const Handle< OpenGl_Context > &theCtx, const NCollection_String &theText, const OpenGl_AspectText &theTextAspect, const OpenGl_TextParam &theParams, const unsigned int theResolution, Standard_ShortReal &theWidth, Standard_ShortReal &theAscent, Standard_ShortReal &theDescent)
 Compute text width. More...
 
virtual ~OpenGl_Text ()
 Destructor. More...
 
void releaseVbos (OpenGl_Context *theCtx)
 Release cached VBO resources. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from OpenGl_Element
template<typename theResource_t >
static void Destroy (OpenGl_Context *theContext, theResource_t *&theElement)
 Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. More...
 
- Protected Member Functions inherited from OpenGl_Element
virtual ~OpenGl_Element ()
 

Detailed Description

Text rendering.

Constructor & Destructor Documentation

◆ OpenGl_Text() [1/3]

OpenGl_Text::OpenGl_Text ( const Standard_Utf8Char theText,
const OpenGl_Vec3 thePoint,
const OpenGl_TextParam theParams 
)

Main constructor.

◆ OpenGl_Text() [2/3]

OpenGl_Text::OpenGl_Text ( const Standard_Utf8Char theText,
const gp_Ax2 theOrientation,
const OpenGl_TextParam theParams,
const bool  theHasOwnAnchor = true 
)

Creates new text in 3D space.

◆ OpenGl_Text() [3/3]

OpenGl_Text::OpenGl_Text ( )

Empty constructor.

◆ ~OpenGl_Text()

virtual OpenGl_Text::~OpenGl_Text ( )
protectedvirtual

Destructor.

Member Function Documentation

◆ FindFont()

static Handle< OpenGl_Font > OpenGl_Text::FindFont ( const Handle< OpenGl_Context > &  theCtx,
const OpenGl_AspectText theAspect,
const Standard_Integer  theHeight,
const unsigned int  theResolution,
const TCollection_AsciiString  theKey 
)
static

Find shared resource for specified font or initialize new one.

◆ FontKey()

static TCollection_AsciiString OpenGl_Text::FontKey ( const OpenGl_AspectText theAspect,
const Standard_Integer  theHeight,
const unsigned int  theResolution 
)
static

Create key for shared resource.

◆ Init() [1/3]

void OpenGl_Text::Init ( const Handle< OpenGl_Context > &  theCtx,
const Standard_Utf8Char theText,
const OpenGl_Vec3 thePoint 
)

Setup new string and position.

◆ Init() [2/3]

void OpenGl_Text::Init ( const Handle< OpenGl_Context > &  theCtx,
const Standard_Utf8Char theText,
const OpenGl_Vec3 thePoint,
const OpenGl_TextParam theParams 
)

Setup new string and parameters.

◆ Init() [3/3]

void OpenGl_Text::Init ( const Handle< OpenGl_Context > &  theCtx,
const TCollection_ExtendedString theText,
const OpenGl_Vec2 thePoint,
const OpenGl_TextParam theParams 
)

Setup new string and parameters.

◆ Release()

virtual void OpenGl_Text::Release ( OpenGl_Context theContext)
virtual

Release GPU resources. Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe.

Implements OpenGl_Element.

Reimplemented in OpenGl_FrameStatsPrs.

◆ releaseVbos()

void OpenGl_Text::releaseVbos ( OpenGl_Context theCtx)
protected

Release cached VBO resources.

◆ Render() [1/2]

virtual void OpenGl_Text::Render ( const Handle< OpenGl_Workspace > &  theWorkspace) const
virtual

Implements OpenGl_Element.

Reimplemented in OpenGl_FrameStatsPrs.

◆ Render() [2/2]

void OpenGl_Text::Render ( const Handle< OpenGl_Context > &  theCtx,
const OpenGl_AspectText theTextAspect,
const unsigned int  theResolution = Graphic3d_RenderingParams::THE_DEFAULT_RESOLUTION 
) const

Perform rendering.

◆ SetFontSize()

void OpenGl_Text::SetFontSize ( const Handle< OpenGl_Context > &  theContext,
const Standard_Integer  theFontSize 
)

Setup new font size.

◆ SetPosition()

void OpenGl_Text::SetPosition ( const OpenGl_Vec3 thePoint)

Setup new position.

◆ StringSize()

static void OpenGl_Text::StringSize ( const Handle< OpenGl_Context > &  theCtx,
const NCollection_String theText,
const OpenGl_AspectText theTextAspect,
const OpenGl_TextParam theParams,
const unsigned int  theResolution,
Standard_ShortReal theWidth,
Standard_ShortReal theAscent,
Standard_ShortReal theDescent 
)
static

Compute text width.

Field Documentation

◆ myBndBox

Font_Rect OpenGl_Text::myBndBox
mutableprotected

textures' IDs

◆ myBndVertsVbo

Handle< OpenGl_VertexBuffer > OpenGl_Text::myBndVertsVbo
mutableprotected

VBOs of vertices for bounding box.

◆ myExportHeight

GLdouble OpenGl_Text::myExportHeight
mutableprotected

textures' IDs

◆ myFont

Handle< OpenGl_Font > OpenGl_Text::myFont
mutableprotected

textures' IDs

◆ myHasAnchorPoint

bool OpenGl_Text::myHasAnchorPoint
protected

Shows if it has own attach point.

◆ myHasPlane

bool OpenGl_Text::myHasPlane
protected

Check if text have orientation in 3D space.

◆ myIs2d

bool OpenGl_Text::myIs2d
protected

textures' IDs

◆ myModelMatrix

OpenGl_Mat4d OpenGl_Text::myModelMatrix
mutableprotected

textures' IDs

◆ myOrientation

gp_Ax2 OpenGl_Text::myOrientation
protected

Text orientation in 3D space.

◆ myOrientationMatrix

OpenGl_Mat4d OpenGl_Text::myOrientationMatrix
mutableprotected

textures' IDs

◆ myParams

OpenGl_TextParam OpenGl_Text::myParams
protected

textures' IDs

◆ myPoint

OpenGl_Vec3 OpenGl_Text::myPoint
protected

textures' IDs

◆ myProjMatrix

OpenGl_Mat4d OpenGl_Text::myProjMatrix
mutableprotected

textures' IDs

◆ myScaleHeight

GLdouble OpenGl_Text::myScaleHeight
mutableprotected

textures' IDs

◆ myString

NCollection_String OpenGl_Text::myString
protected

textures' IDs

◆ myTCrdsVbo

NCollection_Vector<Handle< OpenGl_VertexBuffer > > OpenGl_Text::myTCrdsVbo
mutableprotected

VBOs of texture coordinates.

◆ myTextures

NCollection_Vector<GLuint> OpenGl_Text::myTextures
mutableprotected

textures' IDs

◆ myVertsVbo

NCollection_Vector<Handle< OpenGl_VertexBuffer > > OpenGl_Text::myVertsVbo
mutableprotected

VBOs of vertices.

◆ myWinX

GLdouble OpenGl_Text::myWinX
mutableprotected

textures' IDs

◆ myWinY

GLdouble OpenGl_Text::myWinY
mutableprotected

textures' IDs

◆ myWinZ

GLdouble OpenGl_Text::myWinZ
mutableprotected

textures' IDs


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