Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GiD_OpenGL register|unregister|registercondition|unregistercondition|draw|drawtext|project|unproject|get|doscrzoffset|drawentity|pgfontpgffont
This command is a Tcl wrapper of some OpenGL functions. It allows to use OpenGL commands directly from GiD-Tcl.
For example, for C/C++ is used:

...

  • doscrzoffset <boolean> Special trick to avoid the lines on surfaces hidden by the surfaces.
  • pgfont pgffont pushfont|popfont|print|dimensions|foreground|background

Command for PG fonts

  • pgfont pgffont pushfont <font_type>

    Push sets the current OpenGL font and add to stack.
    font types : DefaultFont, AxisFont, LegendFont, LabelFont, GraphFont, AsianFont, TkdrawoglFont, PmFont

    pgfont

    are categories of GiD, valid values: defaultfont | axisfont | legendfont | labelfont | graphfont | asianfont | tkdrawoglfont| pmfont

  • pgffont popfont

Restores the previous font and remove from stack. Commands push/pop must be called always paired

  • pgfont pgffont print <text>

To draw a <text> in the current 3D location (set by GiD_OpenGL draw -rasterpos [list $x $y $z]). It is similar to GiD_OpenGL drawtext

  • pgfont pgffont dimensions <text>

Return the width of <text> and <height> of current font (. Sizes in pixels, but result are float, not int as could be expected.

To convert to 3D sizes must be multiplied by a factor, an approximate value of this factor could be calculated like this:

Code Block
proc GetApproximateFactorPixelToWorld { } {
    lassign [GiD_Project view clip_planes_x] left_ortho right_ortho
    lassign [GidUtils::GetMainDrawAreaSize] w h
    set factor [expr double($right_ortho-$left_ortho)

...

/$w]
    return $factor
}
  • pgffont foreground <red> <green> <blue> <alpha>
  • pgfont pgffont background <red> <green> <blue> <alpha>

Example:

Code Block
GiD_OpenGL pgfontpgffont push LabelFontlabelfont
GiD_OpenGL drawtext "hello world"
GiD_OpenGL pgfontpgffont pop


List of supported OpenGL functions:

...