r328: *** empty log message ***
[ctsim.git] / include / trace.h
index bf062076df8148ccfb91394667f922edd5a65dd7..4924d7a163ba70df486b9f9151c830d1338b9d32 100644 (file)
@@ -1,63 +1,52 @@
 #ifndef TRACE_H
 #define TRACE_H
 
-enum {
-    TRACE_INVALID=-1,
-    TRACE_NONE=0,              /* No tracing */
-    TRACE_TEXT,                /* Minimal status */
-    TRACE_PHM,         /* Show phantom */
-    TRACE_RAYS,                /* Show all rays */
-    TRACE_PLOT,                /* Plot raysums */
-    TRACE_CLIPPING     /* Plot clipping */
-};
-
-static const char TRACE_NONE_STR[]=     "none";
-static const char TRACE_TEXT_STR[]=     "text";
-static const char TRACE_PHM_STR[]=      "phm";
-static const char TRACE_RAYS_STR[]=     "rays";
-static const char TRACE_PLOT_STR[]=     "plot";
-static const char TRACE_CLIPPING_STR[]= "clipping";
 
-class TraceLevel
+class Trace
 {
  public:
-    TraceLevel (const char* const traceString);
-
-    addTrace (const char* const traceString);
-
-    bool isTrace (const char* const traceQuery) const;
-
-    int getTraceLevel(void) const { return m_traceLevel; }
+    static const int TRACE_INVALID;
+    static const int TRACE_NONE;
+    static const int TRACE_CONSOLE;
+    static const int TRACE_PHANTOM;
+    static const int TRACE_PROJECTIONS;
+    static const int TRACE_PLOT;
+    static const int TRACE_CLIPPING;
+    
+    static const int BIT_CONSOLE;
+    static const int BIT_PHANTOM;
+    static const int BIT_PROJECTIONS;
+    static const int BIT_PLOT;
+    static const int BIT_CLIPPING;
+
+  Trace (const char* const traceString);
+  
+  void addTrace (const char* const traceString);
+  
+  bool isTrace (const char* const traceQuery) const;
+  
+  int getTraceLevel(void) const { return m_traceLevel; }
+  
+  static int convertTraceNameToID (const char* traceName);
+  static const char* convertTraceIDToTitle (int idTrace);
+  static const char* convertTraceIDToName (int idTrace);
+  
+  static const int getTraceCount() {return s_iTraceCount;}
+  static const char** getTraceNameArray() {return s_aszTraceName;}
+  static const char** getTraceTitleArray() {return s_aszTraceTitle;}
 
  private:
+  
+  int m_traceLevel;
+  
+  bool addTraceElements (const char* const traceString);
 
-    int m_traceLevel;
+  static const char* s_aszTraceName[];
+  static const char* s_aszTraceTitle[];
+  static const int s_iTraceCount;
 
-    bool addTraceElements (const char* const traceString);
 };
 
 
-inline int 
-convertTraceNameToID (const char *traceString)
-{
-  int traceID = TRACE_INVALID;
-
-  if (strcasecmp (traceString, TRACE_NONE_STR) == 0)
-    traceID = TRACE_NONE;
-  else if (strcasecmp (traceString, TRACE_TEXT_STR) == 0)
-    traceID = TRACE_TEXT;
-  else if (strcasecmp (traceString, TRACE_PHM_STR) == 0)
-    traceID = TRACE_PHM;
-  else if (strcasecmp (traceString, TRACE_PLOT_STR) == 0)
-    traceID = TRACE_PLOT;
-  else if (strcasecmp (traceString, TRACE_CLIPPING_STR) == 0)
-    traceID = TRACE_CLIPPING;
-  else if (strcasecmp (traceString, TRACE_RAYS_STR) == 0)
-    traceID = TRACE_RAYS;
-
-  return (traceID);
-}
-
-
 #endif