Show
Ignore:
Timestamp:
09/03/10 10:26:46 (4 years ago)
Author:
robert
Message:

Refactored osgText::Font so that it now supports both 2D and 3D glyphs.

Added TextNode?.h and TextNode?.cpp to examples/osgtext3D in prep for introducing the new node to osgText library

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/examples/osgtext3D/osgtext3D.cpp

    r11728 r11731  
    3333 
    3434#include "GlyphGeometry.h" 
     35#include "TextNode.h" 
    3536 
    3637extern int main_orig(int, char**); 
    3738extern int main_test(int, char**); 
    3839 
    39 int main(int argc, char** argv) 
     40int main_experimental(osg::ArgumentParser& arguments) 
    4041{ 
    41     osg::ArgumentParser arguments(&argc, argv); 
    42  
    43     if (arguments.read("--test")) 
    44     { 
    45         return main_test(argc,argv); 
    46     } 
    47     else if (arguments.read("--original") || arguments.read("--orig")) 
    48     { 
    49         return main_orig(argc,argv); 
    50     } 
    51  
    5242    std::string fontFile("arial.ttf"); 
    5343    while(arguments.read("-f",fontFile)) {} 
     
    6656    while(arguments.read("-w",word)) {} 
    6757 
    68     osg::ref_ptr<osgText::Font3D> font = osgText::readFont3DFile(fontFile); 
     58    osg::ref_ptr<osgText::Font> font = osgText::readFontFile(fontFile); 
    6959    if (!font) return 1; 
    7060    OSG_NOTICE<<"Read font "<<fontFile<<" font="<<font.get()<<std::endl; 
     
    111101    for(unsigned int i=0; i<word.size(); ++i) 
    112102    { 
    113         osg::ref_ptr<osgText::Font3D::Glyph3D> glyph = font->getGlyph(word[i]); 
     103        osg::ref_ptr<osgText::Glyph3D> glyph = font->getGlyph3D(word[i]); 
    114104        if (!glyph) return 1; 
    115105 
     
    148138    return viewer.run(); 
    149139} 
     140 
     141int main(int argc, char** argv) 
     142{ 
     143    osg::ArgumentParser arguments(&argc, argv); 
     144 
     145    if (arguments.read("--test")) 
     146    { 
     147        return main_test(argc,argv); 
     148    } 
     149    else if (arguments.read("--original") || arguments.read("--orig")) 
     150    { 
     151        return main_orig(argc,argv); 
     152    } 
     153    else if (arguments.read("--exp")) 
     154    { 
     155        return main_experimental(arguments); 
     156    } 
     157 
     158    osgViewer::Viewer viewer(arguments); 
     159 
     160    std::string fontFile("arial.ttf"); 
     161    while(arguments.read("-f",fontFile)) {} 
     162 
     163    osg::ref_ptr<osgText::Font> font = osgText::readFontFile(fontFile); 
     164    if (!font) return 1; 
     165    OSG_NOTICE<<"Read font "<<fontFile<<" font="<<font.get()<<std::endl; 
     166 
     167    std::string word("This is a new test."); 
     168    while (arguments.read("-w",word)) {} 
     169 
     170    osgText::TextNode* text = new osgText::TextNode; 
     171    text->setText(word); 
     172    text->setTextTechnique(new osgText::TextTechnique); 
     173    text->update(); 
     174 
     175    viewer.setSceneData(text); 
     176 
     177    return viewer.run(); 
     178}