70#define gluTESSELATOR GLUtriangulatorObj
71#if defined(__glu_h__) && defined(GLU_VERSION_1_2)
72#define gluTESSELATOR GLUtesselator
74extern "C" struct GLUtriangulatorObj;
80class SoOutlineFontCache;
216 int stringIndex,
int charIndex);
236 bool setupFontCache(
SoState *state,
bool forRender =
FALSE);
239 void getFrontBBox(
SbBox2f &result);
243 SbVec2f getStringOffset(
int line);
247 SbVec2f getCharacterOffset(
int line,
int whichChar);
251 GLUtriangulatorObj *tobj);
265 void generateFront(
int line);
268 void generateSide(
int line);
273 static void generateSideTris(
int nPoints,
const SbVec3f *p1,
275 const SbVec3f *n2,
const float *sTexCoords,
276 const float *tTexCoords);
277 static void renderSideTris(
int nPoints,
const SbVec3f *p1,
279 const SbVec3f *n2,
const float *sTexCoords,
280 const float *tTexCoords);
283 static void CALLBACK beginCB(GLenum primType);
284 static void CALLBACK endCB();
285 static void CALLBACK vtxCB(
void *vertex);
291 SoOutlineFontCache *myFont;
294 static SoText3 *currentGeneratingNode;
297 static int genWhichVertex;
301 static bool genTexCoord;
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_NODE_HEADER(className)
Non-abstract classes have everything abstract classes have, plus a way to create an instance.
Abstract base class for all actions.
Base class for describing detail information about a shape node.
Renders a scene graph using OpenGL.
Multiple-value field containing any number of strings.
Represents point on surface of picked object.
Represents a vertex of a generated primitive.
Intersects objects with a ray cast into scene.
Single-value field containing a set of bit flags.
Field containing an enumerated value.
Field containing a floating-point value.
Abstract base class for all shape nodes.
virtual SoDetail * createTriangleDetail(SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp)
These methods are called during picking to create details representing extra info about a pick inters...
An SoState collects and holds state while traversing a scene graph.
SoSFFloat spacing
Defines the distance (in the negative y direction) between the base points of successive strings,...
SoText3()
Creates a 3D text node with default settings.
virtual void generatePrimitives(SoAction *)
Generates primitives.
SoSFEnum justification
Indicates placement and alignment of strings.
Justification
Justification types.
virtual void rayPick(SoRayPickAction *action)
Implements picking along a ray by intersecting the ray with each primitive generated by subclass.
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)
Computes bounding box of text.
SbBox3f getCharacterBounds(SoState *state, int stringIndex, int charIndex)
Method to get the bounds of the given character in the given string.
SoSFBitMask parts
Which parts of text are visible.
SoMFString string
The text string(s) to display.
virtual void GLRender(SoGLRenderAction *action)
Implements rendering by rendering each primitive generated by subclass.
Element storing the current texture coordinates.