SoText3 - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 4.0.0
Note : Coin

NAMESoText3 − The SoText3 class renders extruded 3D text​.

SYNOPSIS
#include <Inventor/nodes/SoText3​.h> Inherits SoShape​.

Public Typesenum Part { FRONT = 1, SIDES = 2, BACK = 4, ALL = FRONT|BACK|SIDES }
enum Justification { LEFT = 1, RIGHT, CENTER }

Public Member Functionsvirtual SoType getTypeId (void) const
Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​.
SbBox3f getCharacterBounds (SoState *state, int stringindex, int charindex)
virtual void GLRender (SoGLRenderAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static void initClass (void)

Public AttributesSoMFString string
SoSFFloat spacing
SoSFEnum justification
SoSFBitMask parts

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual void generatePrimitives (SoAction *)
virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)
virtual SoDetail * createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp)
virtual void notify (SoNotList *list)

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)

Additional Inherited Members

Detailed DescriptionThe SoText3 class renders extruded 3D text​. Render text as 3D geometry​. The size of the textual geometry representation is decided from the SoFont::size field of a preceding SoFont-node in the scene graph, which specifies the size in unit coordinates​. This value sets the approximate vertical size of the letters​. The default value if no SoFont-nodes are used, is 10​. This node will create 3D geometry from a specified font defined by a preceding SoFont node​. The complexity of the glyphs is controlled by a preceding SoComplexity node with Type set to OBJECT_SPACE​. Please note that the default builtin 3D font will not be affected by the SoComplexity node​. This is a simple example of an extruded SoText3 string: #Inventor V2.1 ascii Separator { renderCaching ON Font { name "Arial" size 2 } ProfileCoordinate2 { point [ 0 0, 0.05 0.05, 0.25 0.05, 0.3 0 ] } LinearProfile { index [ 0, 1, 2, 3 ] } Complexity { type OBJECT_SPACE value 1 } ShapeHints { creaseAngle 1.5 shapeType SOLID vertexOrdering COUNTERCLOCKWISE } Material { diffuseColor 0.6 0.6 0.8 specularColor 1 1 1 } Text3 { string ["Coin3D"] parts ALL } }
 Rendering of Example File
if SoText3::Part is set to SIDES or ALL and no profile is provided, a flat, one unit long profile will be created​. Separate colors can be assigned to the front, sides and back of the glyphs by adding a preceding SoMaterialBinding node​. Set the value field to PER_PART (default is OVERALL)​. The front, side and back of the glyphs will then be colored according to diffuse color 0, 1 and 2 found on the stack​. Beware that using a lot of SoText3 text characters in a scene will usually have severe impact on the rendering performance, as each and every character of the text increases the polygon-count a lot​. This makes SoText3 nodes most suitable in situations where you just need a few characters to be placed in your scene, rather than to visualize complete sentences​. FILE FORMAT/DEFAULTS: Text3 { string "" spacing 1 justification LEFT parts FRONT } See also SoText2, SoAsciiText, SoProfile

Member Enumeration Documentation

enum SoText3::PartUsed to specify which parts should be rendered/generated​. Enumerator FRONT  Front of characters​. SIDES  Sides of characters​. BACK  Back of characters​. ALL  All parts​.

enum SoText3::JustificationUsed to specify horizontal string alignment​. Enumerator LEFT  Left edges of strings are aligned​. RIGHT  Right edges of strings are aligned​. CENTER  Strings are centered​.

Member Function Documentation

SoType SoText3::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoShape​.

const SoFieldData * SoText3::getFieldData (void) const [protected], [virtual]Returns a pointer to the class-wide field data storage object for this instance​. If no fields are present, returns NULL​. Reimplemented from SoShape​.

SbBox3f SoText3::getCharacterBounds (SoState * state, int stringindex, int charindex)Not implemented​. Should probably have been private in OIV​. Let us know if you need this method for anything, and we'll implement it​.

void SoText3::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction​. This is called during rendering traversals​. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method​. Reimplemented from SoShape​.

void SoText3::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]Action method for the SoGetPrimitiveCountAction​. Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action​. Nodes influencing how geometry nodes calculates their primitive count also overrides this method to change the relevant state variables​. Reimplemented from SoShape​.

void SoText3::generatePrimitives (SoAction * action) [protected], [virtual]The method implements action behavior for shape nodes for SoCallbackAction​. It is invoked from SoShape::callback()​. (Subclasses should not override SoNode::callback()​.) The subclass implementations uses the convenience methods SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(), with SoDetail instances, to pass the primitives making up the shape back to the caller​. Implements SoShape​.

void SoText3::computeBBox (SoAction * action, SbBox3f & box, SbVec3f & center) [protected], [virtual]Implemented by SoShape subclasses to let the SoShape superclass know the exact size and weighted center point of the shape's bounding box​. The bounding box and center point should be calculated and returned in the local coordinate system​. The method implements action behavior for shape nodes for SoGetBoundingBoxAction​. It is invoked from SoShape::getBoundingBox()​. (Subclasses should not override SoNode::getBoundingBox()​.) The box parameter sent in is guaranteed to be an empty box, while center is undefined upon function entry​. Implements SoShape​.

SoDetail * SoText3::createTriangleDetail (SoRayPickAction * action, const SoPrimitiveVertex * v1, const SoPrimitiveVertex * v2, const SoPrimitiveVertex * v3, SoPickedPoint * pp) [protected], [virtual]Will create triangle detail for a SoPickedPoint​. This method will only be called internally, when generatePrimitives() is used for picking (SoShape::rayPick() is not overridden)​. This method returns NULL in Open Inventor, and subclasses will need to override this method to create details for a SoPickedPoint​. This is not necessary with Coin​. Of course, if you choose to override it, it will work in the same way as Open Inventor​. For this to work, you must supply a face or line detail when generating primitives​. If you supply NULL for the detail argument in SoShape::beginShape(), you'll have to override this method​. Reimplemented from SoShape​.

void SoText3::notify (SoNotList * l) [protected], [virtual]Notifies all auditors for this instance when changes are made​. Reimplemented from SoShape​.

Member Data Documentation

SoMFString SoText3::stringThe strings to render​. Array defaults to contain a single empty string​.

SoSFFloat SoText3::spacingVertical spacing​. 1​.0 is the default spacing​.

SoSFEnum SoText3::justificationHorizontal justification​. Default is alignment at the left border​.

SoSFBitMask SoText3::partsCharacter parts​. Default is to show only the front-facing part​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   43,443 byte
man-SoText3.3coin4Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 202,394
Visitor ID   :     :  
Visitor IP   :   18.191.200.151   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.