Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Tools/Location.cpp

Go to the documentation of this file.
00001 /**
00002 * @file Location.cpp
00003 *
00004 * Implementation of class Location.
00005 * 
00006 * @author Max Risler
00007 */
00008 
00009 #include <string>
00010 #include "Location.h"
00011 #include "Platform/SystemCall.h"
00012 #include "Tools/Streams/InStreams.h"
00013 
00014 static Location theLocation;
00015 
00016 Location& getLocation()
00017 {
00018   return theLocation;
00019 }
00020 
00021 Location::Location()
00022 {
00023   name[0] = 0;
00024   InConfigFile file("location.cfg");
00025   if(file.exists() && !file.eof())
00026   {
00027     file >> name;
00028   }
00029 }
00030 
00031 const char* Location::getFilename(const char *file)
00032 {
00033   if (name[0] == 0)
00034     return file;
00035 
00036   sprintf(filename, "Location/%s/%s", name, file);
00037   return filename;
00038 }
00039 
00040 const char* Location::getModelFilename(const char *file)
00041 {
00042   return getModelFilename(file, SystemCall::getRobotDesign());
00043 }
00044 
00045 const char* Location::getModelFilename(const char *file, RobotDesign::Design design)
00046 {
00047   if (name[0] == 0)
00048     return file;
00049 
00050   sprintf(filename, "Location/%s/%s/%s", name, RobotDesign::getRobotDesignName(design), file);
00051   return filename;
00052 }

Generated on Mon Mar 20 22:00:05 2006 for GT2005 by doxygen 1.3.6