00001 /*---------------------------------------------------------------------------*\ 00002 * OpenSG * 00003 * * 00004 * * 00005 * Copyright (C) 2000-2002 by the OpenSG Forum * 00006 * * 00007 * www.opensg.org * 00008 * * 00009 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de * 00010 * * 00011 \*---------------------------------------------------------------------------*/ 00012 /*---------------------------------------------------------------------------*\ 00013 * License * 00014 * * 00015 * This library is free software; you can redistribute it and/or modify it * 00016 * under the terms of the GNU Library General Public License as published * 00017 * by the Free Software Foundation, version 2. * 00018 * * 00019 * This library is distributed in the hope that it will be useful, but * 00020 * WITHOUT ANY WARRANTY; without even the implied warranty of * 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00022 * Library General Public License for more details. * 00023 * * 00024 * You should have received a copy of the GNU Library General Public * 00025 * License along with this library; if not, write to the Free Software * 00026 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 00027 * * 00028 \*---------------------------------------------------------------------------*/ 00029 /*---------------------------------------------------------------------------*\ 00030 * Changes * 00031 * * 00032 * * 00033 * * 00034 * * 00035 * * 00036 * * 00037 \*---------------------------------------------------------------------------*/ 00038 00039 #ifdef _MSC_VER 00040 # pragma warning (disable: 4786) 00041 #endif 00042 00043 #include "OSGTextTXFParam.h" 00044 00045 #include <algorithm> 00046 00047 00048 using namespace std; 00049 00050 00051 OSG_BEGIN_NAMESPACE 00052 00053 00054 //---------------------------------------------------------------------- 00055 // Static Class Variable implementations 00056 // Author: pdaehne 00057 //---------------------------------------------------------------------- 00058 wstring TextTXFParam::_defaultCharacters = 00059 L" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; 00060 00061 00062 //---------------------------------------------------------------------- 00063 // Compares the Param object with another Param object 00064 // Author: pdaehne 00065 //---------------------------------------------------------------------- 00066 bool TextTXFParam::operator==(const TextTXFParam &other) const 00067 { 00068 return (size == other.size) && (gap == other.gap) && 00069 (textureWidth == other.textureWidth) && (_characters == other._characters); 00070 } 00071 00072 00073 //---------------------------------------------------------------------- 00074 // Sorts the characters in the character string and removes duplicates 00075 // Author: pdaehne 00076 //---------------------------------------------------------------------- 00077 void TextTXFParam::normalizeCharacters() 00078 { 00079 sort(_characters.begin(), _characters.end()); 00080 wstring::iterator newEnd = unique(_characters.begin(), _characters.end()); 00081 _characters.erase(newEnd, _characters.end()); 00082 } 00083 00084 00085 OSG_END_NAMESPACE 00086 00087 00088 /*------------------------------------------------------------------------*/ 00089 /* cvs id's */ 00090 00091 #ifdef OSG_SGI_CC 00092 #pragma set woff 1174 00093 #endif 00094 00095 #ifdef OSG_LINUX_ICC 00096 #pragma warning( disable : 177 ) 00097 #endif 00098 00099 namespace 00100 { 00101 static OSG::Char8 cvsid_cpp[] = "@(#)$Id: OSGTextTXFParam.cpp,v 1.1 2005/03/03 13:43:07 a-m-z Exp $"; 00102 static OSG::Char8 cvsid_hpp[] = OSGTEXTTXFPARAM_HEADER_CVSID; 00103 static OSG::Char8 cvsid_inl[] = OSGTEXTTXFPARAM_INLINE_CVSID; 00104 } 00105 00106 #ifdef __sgi 00107 #pragma reset woff 1174 00108 #endif
1.4.3