00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00027 #ifndef __MFSTRING_H__
00028 #define __MFSTRING_H__
00029
00030 #include "MField.h"
00031
00032 namespace H3D {
00033
00034
00035 template<>
00036 inline string MFieldBase< string >::classTypeName() { return "MFString"; }
00037
00040 class H3DAPI_API MFString: public MField< string > {
00041 public:
00042 MFString(){}
00043 MFString( size_type sz ): MField< string >( sz ){}
00044 inline virtual string getValueAsString( const string& separator = " " ) {
00045 stringstream s;
00046 const vector< string > &v = getValue();
00047 if( v.size() == 0 )
00048 return "";
00049 unsigned int i;
00050 for( i = 0; i < v.size() - 1; i++ )
00051 s << "\"" << v[i] << "\"" << separator;
00052 s << "\"" << v[i] << "\"";
00053 return s.str();
00054 }
00055 virtual X3DTypes::X3DType getX3DType() { return X3DTypes::MFSTRING; }
00056 };
00057 }
00058
00059 #endif
00060