00001 #include "X3DTypesToSFString.h" 00002 00003 using namespace X3DTK; 00004 00005 SFString X3DTK::toSFString(const SFString &DEF, const SFString &USE) 00006 { 00007 SFString res(""); 00008 if (DEF != SFString("")) 00009 res = res + SFString(" DEF=\"") + DEF + SFString("\""); 00010 if (USE != SFString("")) 00011 res = res + SFString(" USE=\"") + USE + SFString("\""); 00012 return res; 00013 } 00014 00015 SFString X3DTK::toSFString(const MFString ms) 00016 { 00017 SFString res(""); 00018 if (!ms.empty()) 00019 { 00020 for (unsigned int i = 0; i < ms.size() - 1; ++i) 00021 res = res + "\"" + ms[i] + SFString("\", "); 00022 00023 res = res + "\"" + ms.back() + "\""; 00024 } 00025 return res; 00026 } 00027 00028 SFString X3DTK::toSFString(const SFBool b) 00029 { 00030 if (b) 00031 return "TRUE"; 00032 return "FALSE"; 00033 } 00034 00035 SFString X3DTK::toSFString(const SFInt32 i) 00036 { 00037 return SFString::number(i); 00038 } 00039 00040 SFString X3DTK::toSFString(const MFInt32 mi) 00041 { 00042 SFString res(""); 00043 if (!mi.empty()) 00044 { 00045 for (unsigned int i = 0; i < mi.size() - 1; ++i) 00046 res = res + SFString::number(mi[i]) + SFString(" "); 00047 00048 res = res + SFString::number(mi.back()); 00049 } 00050 return res; 00051 } 00052 00053 SFString X3DTK::toSFString(const SFFloat f) 00054 { 00055 return SFString::number(f); 00056 } 00057 00058 SFString X3DTK::toSFString(const MFFloat mf) 00059 { 00060 SFString res(""); 00061 if (!mf.empty()) 00062 { 00063 for (unsigned int i = 0; i < mf.size() - 1; ++i) 00064 res = res + SFString::number(mf[i]) + SFString(" "); 00065 00066 res = res + SFString::number(mf.back()); 00067 } 00068 return res; 00069 } 00070 00071 SFString X3DTK::toSFString(const SFDouble d) 00072 { 00073 return SFString::number(d); 00074 } 00075 00076 SFString X3DTK::toSFString(const MFDouble md) 00077 { 00078 SFString res(""); 00079 if (!md.empty()) 00080 { 00081 for (unsigned int i = 0; i < md.size() - 1; ++i) 00082 res = res + SFString::number(md[i]) + SFString(" "); 00083 00084 res = res + SFString::number(md.back()); 00085 } 00086 return res; 00087 } 00088 00089 SFString X3DTK::toSFString(const SFColorRGBA c) 00090 { 00091 return SFString::number(c.r) + SFString(" ") 00092 + SFString::number(c.g) + SFString(" ") 00093 + SFString::number(c.b) + SFString(" ") 00094 + SFString::number(c.a); 00095 } 00096 00097 SFString X3DTK::toSFString(const MFColorRGBA mc) 00098 { 00099 SFString res(""); 00100 if (!mc.empty()) 00101 { 00102 for (unsigned int i = 0; i < mc.size() - 1; ++i) 00103 res = res + toSFString(mc[i]) + SFString(", "); 00104 00105 res = res + toSFString(mc.back()); 00106 } 00107 return res; 00108 } 00109 00110 SFString X3DTK::toSFString(const SFColor c) 00111 { 00112 return SFString::number(c.r) + SFString(" ") 00113 + SFString::number(c.g) + SFString(" ") 00114 + SFString::number(c.b); 00115 } 00116 00117 SFString X3DTK::toSFString(const MFColor mc) 00118 { 00119 SFString res(""); 00120 if (!mc.empty()) 00121 { 00122 for (unsigned int i = 0; i < mc.size() - 1; ++i) 00123 res = res + toSFString(mc[i]) + SFString(", "); 00124 00125 res = res + toSFString(mc.back()); 00126 } 00127 return res; 00128 } 00129 00130 SFString X3DTK::toSFString(const SFVec2f v) 00131 { 00132 return SFString::number(v.x) + SFString(" ") 00133 + SFString::number(v.y); 00134 } 00135 00136 SFString X3DTK::toSFString(const MFVec2f mv) 00137 { 00138 SFString res(""); 00139 if (!mv.empty()) 00140 { 00141 for (unsigned int i = 0; i < mv.size() - 1; ++i) 00142 res = res + toSFString(mv[i]) + SFString(", "); 00143 00144 res = res + toSFString(mv.back()); 00145 } 00146 return res; 00147 } 00148 00149 SFString X3DTK::toSFString(const SFVec3f v) 00150 { 00151 return SFString::number(v.x) + SFString(" ") 00152 + SFString::number(v.y) + SFString(" ") 00153 + SFString::number(v.z); 00154 } 00155 00156 SFString X3DTK::toSFString(const MFVec3f mv) 00157 { 00158 SFString res(""); 00159 if (!mv.empty()) 00160 { 00161 for (unsigned int i = 0; i < mv.size() - 1; ++i) 00162 res = res + toSFString(mv[i]) + SFString(", "); 00163 00164 res = res + toSFString(mv.back()); 00165 } 00166 return res; 00167 } 00168 00169 SFString X3DTK::toSFString(const SFRotation r) 00170 { 00171 return SFString::number(r.x) + SFString(" ") 00172 + SFString::number(r.y) + SFString(" ") 00173 + SFString::number(r.z) + SFString(" ") 00174 + SFString::number(r.angle); 00175 } 00176 00177