From: <de...@us...> - 2003-06-25 20:25:59
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv11523 Modified Files: ScreenInfo.cpp Log Message: no message Index: ScreenInfo.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/ScreenInfo.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** ScreenInfo.cpp 19 Jun 2003 18:06:29 -0000 1.13 --- ScreenInfo.cpp 25 Jun 2003 20:25:57 -0000 1.14 *************** *** 68,73 **** m_TTFPath("ltype.ttf"), m_FontSize(15), ! m_CharacterSize(11), ! m_Text(new osgText::Text) { m_Text = makeText(posx,posy - m_CharacterSize, text); addDrawable(m_Text); --- 68,72 ---- m_TTFPath("ltype.ttf"), m_FontSize(15), ! m_CharacterSize(11) { m_Text = makeText(posx,posy - m_CharacterSize, text); addDrawable(m_Text); *************** *** 86,90 **** ! Framerate::Framerate(int posx, int posy): ScreenInfo(posx, posy, "FRAMERATE"), m_minFps(60), m_maxFps(25), m_cumul(0.0) { osgText::Text *s1 = makeText(posx + 4 * m_CharacterSize, posy - m_CharacterSize, "fps min: max: av:"); addDrawable(s1); --- 85,92 ---- ! Framerate::Framerate(int posx, int posy): ScreenInfo(posx, posy, "FRAMERATE"), m_minFps(60), m_maxFps(25), m_cumul(0.0) { ! ! m_Text->setUseDisplayList(false); ! osgText::Text *s1 = makeText(posx + 4 * m_CharacterSize, posy - m_CharacterSize, "fps min: max: av:"); addDrawable(s1); *************** *** 117,122 **** if ((++count)%1000 == 0) { // reset occasionally ! m_minFps = 100.0; ! m_maxFps = 0.0; } --- 119,124 ---- if ((++count)%1000 == 0) { // reset occasionally ! //m_minFps = 100.0; ! //m_maxFps = 0.0; } *************** *** 149,165 **** GeneralStats::GeneralStats(int posx,int posy):ScreenInfo(posx,posy,"GENERAL STATS") { float yOffset = 50.0 - m_CharacterSize; ! m_Altitude = makeText(m_CharacterSize, yOffset); addDrawable(m_Altitude); ! yOffset -= m_CharacterSize; ! m_GlobalPosition = makeText(m_CharacterSize, yOffset); addDrawable(m_GlobalPosition); yOffset -= m_CharacterSize; ! m_Velocity = makeText(m_CharacterSize, yOffset); addDrawable(m_Velocity); setUpdateCallback(new UpdateCallback); } --- 151,194 ---- GeneralStats::GeneralStats(int posx,int posy):ScreenInfo(posx,posy,"GENERAL STATS") { + osgText::Text *s1 = makeText(m_CharacterSize, posy,"Terrain Polygons:"); + addDrawable(s1); + + m_Text->setPosition(osg::Vec3(posx + 14.0 * m_CharacterSize, posy, 0.0)); + m_Text->setUseDisplayList(false); + float yOffset = 50.0 - m_CharacterSize; ! osgText::Text *s2 = makeText(m_CharacterSize,yOffset,"Altitude:"); ! addDrawable(s2); ! ! m_Altitude = makeText(8 * m_CharacterSize, yOffset); ! m_Altitude->setUseDisplayList(false); addDrawable(m_Altitude); ! yOffset -= m_CharacterSize; ! ! osgText::Text *s3 = makeText(m_CharacterSize,yOffset,"GlobalPosition:"); ! addDrawable(s3); ! ! m_GlobalPosition = makeText(12 * m_CharacterSize, yOffset); ! m_GlobalPosition->setUseDisplayList(false); addDrawable(m_GlobalPosition); yOffset -= m_CharacterSize; ! ! osgText::Text *s4 = makeText(m_CharacterSize,yOffset,"Velocity:"); ! addDrawable(s4); ! ! m_Velocity = makeText(8*m_CharacterSize, yOffset); ! m_Velocity->setUseDisplayList(false); addDrawable(m_Velocity); + osgText::Text *s5 = makeText(m_CharacterSize+24*m_CharacterSize,yOffset,"magnitude:"); + addDrawable(s5); + + m_Magnitude = makeText(33*m_CharacterSize, yOffset); + m_Magnitude->setUseDisplayList(false); + addDrawable(m_Magnitude); + setUpdateCallback(new UpdateCallback); } *************** *** 169,173 **** std::ostringstream osstr; ! osstr << "Terrain Polygons: " << CSPSim::theSim->getScene()->getTerrainPolygonsRendered(); m_Text->setText(osstr.str()); --- 198,202 ---- std::ostringstream osstr; ! osstr << CSPSim::theSim->getScene()->getTerrainPolygonsRendered(); m_Text->setText(osstr.str()); *************** *** 176,194 **** simdata::Vector3 pos = activeObject->getGlobalPosition(); osstr.str(""); ! osstr << "Altitude: " << setprecision(precision) << fixed << setw(7 + precision) << setfill('0') << pos.z - CSPSim::theSim->getBattlefield()->getElevation(pos.x,pos.y); m_Altitude->setText(osstr.str()); osstr.str(""); ! osstr << "GlobalPosition: (" << setprecision(precision) << fixed ! << setw(7 + precision) << setfill('0') << pos.x << ", "; ! osstr << setw(7 + precision) << setfill('0') << pos.y << ", " << pos.z << ")"; m_GlobalPosition->setText(osstr.str()); simdata::Vector3 vel = activeObject->getVelocity(); osstr.str(""); ! osstr << "Velocity: (" << setprecision(2) << fixed << vel.x << ", " << vel.y << ", " << vel.z << ") magnitude: " ! << vel.Length(); m_Velocity->setText(osstr.str()); } } --- 205,226 ---- simdata::Vector3 pos = activeObject->getGlobalPosition(); osstr.str(""); ! osstr << setprecision(precision) << fixed << setw(7 + precision) << setfill('0') << pos.z - CSPSim::theSim->getBattlefield()->getElevation(pos.x,pos.y); m_Altitude->setText(osstr.str()); osstr.str(""); ! osstr << "(" << setprecision(precision) << fixed ! << setw(7 + precision) << setfill('0') << pos.x << ","; ! osstr << setw(7 + precision) << setfill('0') << pos.y << "," << pos.z << ")"; m_GlobalPosition->setText(osstr.str()); simdata::Vector3 vel = activeObject->getVelocity(); osstr.str(""); ! osstr << setprecision(2) << fixed << "(" << vel.x << "," << vel.y << "," << vel.z << ")"; m_Velocity->setText(osstr.str()); + + osstr.str(""); + osstr << setprecision(2) << fixed << vel.Length(); + m_Magnitude->setText(osstr.str()); } } *************** *** 198,201 **** --- 230,241 ---- ScreenInfo(posx,posy,"OBJECT STATS") { if (activeObject.valid()) { + if (!m_ObjectStats.empty()) { + std::vector<osg::ref_ptr<osgText::Text> >::iterator it = m_ObjectStats.begin(); + std::vector<osg::ref_ptr<osgText::Text> >::const_iterator iEnd = m_ObjectStats.end(); + for (;it!=iEnd;++it) { + removeDrawable(it->get()); + } + m_ObjectStats.clear(); + } std::vector<std::string> stringStats; activeObject->getStats(stringStats); *************** *** 204,210 **** for (;n-->0;) { posy -= skip; ! osgText::Text* aStat = makeText(posx, posy); m_ObjectStats.push_back(aStat); ! addDrawable(aStat); } if (m_Text) --- 244,250 ---- for (;n-->0;) { posy -= skip; ! osg::ref_ptr<osgText::Text> aStat = makeText(posx, posy); m_ObjectStats.push_back(aStat); ! addDrawable(aStat.get()); } if (m_Text) |