CCommand.cpp

Go to the documentation of this file.
00001 
00013 #include <cmath>
00014 #include <string>
00015 
00016 #include "popassert.h"
00017 #include "CVector3f.h"
00018 #include "CColor.h"
00019 #include "CCommand.h"
00020 
00021 
00022 const std::string CCommand::s_CommandString[CCommand::COMMAND_END] =
00023   {
00024     "help",
00025     "run",
00026     "set",
00027     "print",
00028     "quit",
00029   };
00030 
00031 const std::string CCommand::s_ParameterString[CCommand::PARAMETER_END] =
00032   { 
00033     "FormulaString",
00034     "SignIncrement",
00035     "NoSignIncrement",
00036     "NoSignPrecision",
00037     "Zoom",
00038     "MinVector",
00039     "MaxVector",
00040     "ViewerPos",
00041     "LightDirection",
00042     "SurfaceAmbientColor",
00043     "SurfaceDiffuseColor",
00044     "SurfaceSpecularColor",
00045     "SurfaceSpecularExponent",
00046     "BoxAmbientColor",
00047     "BoxDiffuseColor",
00048     "BoxSpecularColor",
00049     "BoxSpecularExponent",
00050     "BackgroundColor",
00051     "Width",
00052     "Height",
00053 
00054     // Option
00055     "Perspective",
00056     "BoundingBox",
00057     "Sign",
00058     "OpenGLSpecular"
00059   };
00060 
00061 
00062 CCommand::TYPE_PARAMETERTYPE CCommand::GetParameterType() const
00063 {
00064   if (m_CommandID == COMMAND_END)
00065     {
00066       return PARAMETERTYPE_END;
00067     }
00068   else
00069     {
00070       switch (m_ParameterID)
00071         {
00072         case PARAMETER_FORMULASTRING:
00073         case PARAMETER_PERSPECTIVE:
00074         case PARAMETER_BOUNDINGBOX:
00075         case PARAMETER_SIGN:
00076         case PARAMETER_OPENGLSPECULAR:
00077           return PARAMETERTYPE_STRING;
00078 
00079         case PARAMETER_SIGNINCREMENT:
00080         case PARAMETER_NOSIGNINCREMENT:
00081         case PARAMETER_NOSIGNPRECISION:
00082         case PARAMETER_ZOOM:
00083         case PARAMETER_SURFACESPECULAREXPONENT:
00084         case PARAMETER_BOXSPECULAREXPONENT:
00085           return PARAMETERTYPE_FLOAT;
00086 
00087         case PARAMETER_MINVECTOR:
00088         case PARAMETER_MAXVECTOR:
00089         case PARAMETER_VIEWERPOS:
00090         case PARAMETER_LIGHTDIRECTION:
00091           return PARAMETERTYPE_VECTOR;
00092 
00093         case PARAMETER_SURFACEAMBIENTCOLOR:
00094         case PARAMETER_SURFACEDIFFUSECOLOR:
00095         case PARAMETER_SURFACESPECULARCOLOR:
00096         case PARAMETER_BOXAMBIENTCOLOR:
00097         case PARAMETER_BOXDIFFUSECOLOR:
00098         case PARAMETER_BOXSPECULARCOLOR:
00099         case PARAMETER_BACKGROUNDCOLOR:
00100           return PARAMETERTYPE_COLOR;
00101 
00102         case PARAMETER_WIDTH:
00103         case PARAMETER_HEIGHT:
00104           return PARAMETERTYPE_INT;
00105 
00106         default:
00107           return PARAMETERTYPE_END;
00108         }
00109     }
00110 }
00111 
00112 

Generated on Fri Dec 5 03:20:33 2008 for Mathematical Ray-tracer by  doxygen 1.5.4