Coin Logo http://www.sim.no
http://www.coin3d.org

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages

SoGlyph Class Reference

#include <Inventor/misc/SoGlyph.h>

List of all members.


Detailed Description

The SoGlyph class is used to generate and reuse font glyph bitmaps and outlines.

This class is now obsolete, and will be removed from a later version of Coin.

SoGlyph is the public interface all text nodes (both built-in and extensions) should use to generate bitmaps and outlines for font glyphs. It maintains an internal cache of previously requested glyphs to avoid needless calls into the font library.

Primer: a glyph is the graphical representation of a given character of a given font at a given size and orientation. It can be either a bitmap (pixel aligned with the viewport) or an outline (polygonal representation) that can be transformed or extruded like any other 3D geometry. Bitmaps are used by SoText2, while the other text nodes uses outlines.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

Since:
Coin 2.0
See also:
SoText2, SoText3, SoAsciiText


Public Types

enum  Fonttype { FONT2D = 1, FONT3D = 2 }

Public Member Functions

void unref (void) const
const SbVec2fgetCoords (void) const
const int * getFaceIndices (void) const
const int * getEdgeIndices (void) const
const int * getNextCWEdge (const int edgeidx) const
const int * getNextCCWEdge (const int edgeidx) const
float getWidth (void) const
const SbBox2fgetBoundingBox (void) const
SbVec2s getAdvance (void) const
SbVec2s getKerning (const SoGlyph &rightglyph) const
unsigned char * getBitmap (SbVec2s &size, SbVec2s &pos, const SbBool antialiased) const

Static Public Member Functions

static const SoGlyphgetGlyph (const char character, const SbName &font)
static const SoGlyphgetGlyph (SoState *state, const unsigned int character, const SbVec2s &size, const float angle)

Protected Member Functions

 SoGlyph (void)
 ~SoGlyph ()
void setCoords (SbVec2f *coords, int numcoords=-1)
void setFaceIndices (int *indices, int numindices=-1)
void setEdgeIndices (int *indices, int numindices=-1)

Friends

class SoGlyphP


Constructor & Destructor Documentation

SoGlyph::SoGlyph void   )  [protected]
 

Constructor.

SoGlyph::~SoGlyph  )  [protected]
 

Destructor.


Member Function Documentation

void SoGlyph::unref void   )  const
 

Should be called when a node no longer will use a glyph. Will free memory used by this glyph when it is no longer used by any node.

const SoGlyph * SoGlyph::getGlyph const char  character,
const SbName font
[static]
 

Returns a character of the specified font, suitable for polygonal rendering.

const SbVec2f * SoGlyph::getCoords void   )  const
 

Returns coordinates for this glyph.

const int * SoGlyph::getFaceIndices void   )  const
 

Returns face indices for this glyph.

const int * SoGlyph::getEdgeIndices void   )  const
 

Returns edge indices for this glyph.

const int * SoGlyph::getNextCWEdge const int  edgeidx  )  const
 

Returns a pointer to the next clockwise edge. Returns NULL if none could be found.

const int * SoGlyph::getNextCCWEdge const int  edgeidx  )  const
 

Returns a pointer to the next counter clockwise edge. NULL if none could be found.

float SoGlyph::getWidth void   )  const
 

Convenience method which returns the exact width of the glyph.

const SbBox2f & SoGlyph::getBoundingBox void   )  const
 

Returns the bounding box of this glyph. This value is cached for performance.

const SoGlyph * SoGlyph::getGlyph SoState state,
const unsigned int  character,
const SbVec2s size,
const float  angle
[static]
 

Returns a character of the specified font, suitable for bitmap rendering. The size parameter overrides state's SoFontSizeElement (if != SbVec2s(0,0))

unsigned char * SoGlyph::getBitmap SbVec2s size,
SbVec2s pos,
const SbBool  antialiased
const
 

Bitmap for glyph. size and pos are return parameters. Antialiased bitmap graphics not yet supported.

Note that this function may return NULL if the glyph has no visible pixels (as for e.g. the space character).

The returned buffer should not be deallocated by the caller.

void SoGlyph::setCoords SbVec2f coords,
int  numcoords = -1
[protected]
 

Sets the coordinates for this glyph.

void SoGlyph::setFaceIndices int *  indices,
int  numindices = -1
[protected]
 

Sets the face indices for this glyph.

void SoGlyph::setEdgeIndices int *  indices,
int  numindices = -1
[protected]
 

Sets the edge indices for this glyph.


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

Copyright © 1998-2005 by Systems in Motion AS. All rights reserved.

Generated on Wed May 31 00:48:47 2006 for Coin by Doxygen. 1.4.4