| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| ///////////////////// |
| // cmdLineIntArray // |
| ///////////////////// |
| template<int Dim> |
| cmdLineIntArray<Dim>::cmdLineIntArray(const char* name) : cmdLineReadable(name) |
| { |
| for(int i=0;i<Dim;i++) values[i]=0; |
| } |
| template<int Dim> |
| cmdLineIntArray<Dim>::cmdLineIntArray(const char* name,const int v[Dim]) : cmdLineReadable(name) |
| { |
| for(int i=0;i<Dim;i++) values[i]=v[i]; |
| } |
| template<int Dim> |
| int cmdLineIntArray<Dim>::read(char** argv,int argc) |
| { |
| if(argc>=Dim) |
| { |
| for(int i=0;i<Dim;i++) values[i]=atoi(argv[i]); |
| set=true; |
| return Dim; |
| } |
| else{return 0;} |
| } |
| template<int Dim> |
| void cmdLineIntArray<Dim>::writeValue(char* str) |
| { |
| char* temp=str; |
| for(int i=0;i<Dim;i++) |
| { |
| sprintf(temp,"%d ",values[i]); |
| temp=str+strlen(str); |
| } |
| } |
|
|
| /////////////////////// |
| // cmdLineFloatArray // |
| /////////////////////// |
| template<int Dim> |
| cmdLineFloatArray<Dim>::cmdLineFloatArray(const char* name) : cmdLineReadable(name) |
| { |
| for(int i=0;i<Dim;i++) values[i]=0; |
| } |
| template<int Dim> |
| cmdLineFloatArray<Dim>::cmdLineFloatArray(const char* name,const float f[Dim]) : cmdLineReadable(name) |
| { |
| for(int i=0;i<Dim;i++) values[i]=f[i]; |
| } |
| template<int Dim> |
| int cmdLineFloatArray<Dim>::read(char** argv,int argc) |
| { |
| if(argc>=Dim) |
| { |
| for(int i=0;i<Dim;i++) values[i]=(float)atof(argv[i]); |
| set=true; |
| return Dim; |
| } |
| else{return 0;} |
| } |
| template<int Dim> |
| void cmdLineFloatArray<Dim>::writeValue(char* str) |
| { |
| char* temp=str; |
| for(int i=0;i<Dim;i++) |
| { |
| sprintf(temp,"%f ",values[i]); |
| temp=str+strlen(str); |
| } |
| } |
|
|
|
|
| //////////////////////// |
| // cmdLineStringArray // |
| //////////////////////// |
| template<int Dim> |
| cmdLineStringArray<Dim>::cmdLineStringArray(const char* name) : cmdLineReadable(name) |
| { |
| for(int i=0;i<Dim;i++) values[i]=NULL; |
| } |
| template<int Dim> |
| cmdLineStringArray<Dim>::~cmdLineStringArray(void) |
| { |
| for(int i=0;i<Dim;i++) |
| { |
| if(values[i]) delete[] values[i]; |
| values[i]=NULL; |
| } |
| } |
| template<int Dim> |
| int cmdLineStringArray<Dim>::read(char** argv,int argc) |
| { |
| if(argc>=Dim) |
| { |
| for(int i=0;i<Dim;i++) |
| { |
| values[i]=new char[strlen(argv[i])+1]; |
| strcpy(values[i],argv[i]); |
| } |
| set=true; |
| return Dim; |
| } |
| else{return 0;} |
| } |
| template<int Dim> |
| void cmdLineStringArray<Dim>::writeValue(char* str) |
| { |
| char* temp=str; |
| for(int i=0;i<Dim;i++) |
| { |
| sprintf(temp,"%s ",values[i]); |
| temp=str+strlen(str); |
| } |
| } |
|
|