** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: trace.cpp,v 1.1 2000/07/20 11:17:31 kevin Exp $
+** $Id: trace.cpp,v 1.3 2000/08/27 20:32:55 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
#include "ct.h"
-const char TraceLevel::TRACE_NONE_STR[]= "none";
-const char TraceLevel::TRACE_TEXT_STR[]= "text";
-const char TraceLevel::TRACE_PHM_STR[]= "phm";
-const char TraceLevel::TRACE_RAYS_STR[]= "rays";
-const char TraceLevel::TRACE_PLOT_STR[]= "plot";
-const char TraceLevel::TRACE_CLIPPING_STR[]= "clipping";
+const int Trace::TRACE_INVALID = -1;
+const int Trace::TRACE_NONE = 0;
+const int Trace::TRACE_CONSOLE = 1;
+const int Trace::TRACE_PHANTOM = 2;
+const int Trace::TRACE_PROJECTIONS = 3;
+const int Trace::TRACE_PLOT = 4;
+const int Trace::TRACE_CLIPPING = 5;
+const int Trace::BIT_CONSOLE = 0x0001;
+const int Trace::BIT_PHANTOM = 0x0002;
+const int Trace::BIT_PROJECTIONS = 0x0004;
+const int Trace::BIT_PLOT = 0x0008;
+const int Trace::BIT_CLIPPING = 0x0010;
-TraceID
-TraceLevel::convertTraceNameToID (const char *traceString)
+const char* Trace::s_aszTraceName[] =
{
- TraceID 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);
+ {"none"},
+ {"console"},
+ {"phantom"},
+ {"proj"},
+ {"plot"},
+ {"clipping"},
+};
+
+const char* Trace::s_aszTraceTitle[] =
+{
+ {"None"},
+ {"Console"},
+ {"Phantom"},
+ {"Projections"},
+ {"Plot"},
+ {"Clipping"},
+};
+
+const int Trace::s_iTraceCount = sizeof(s_aszTraceName) / sizeof(const char*);
+
+
+const char*
+Trace::convertTraceIDToName (const int idTrace)
+{
+ const char *name = "";
+
+ if (idTrace >= 0 && idTrace < s_iTraceCount)
+ return (s_aszTraceName[idTrace]);
+
+ return (name);
}
+const char*
+Trace::convertTraceIDToTitle (const int idTrace)
+{
+ const char *title = "";
+
+ if (idTrace >= 0 && idTrace < s_iTraceCount)
+ return (s_aszTraceName[idTrace]);
+
+ return (title);
+}
+
+int
+Trace::convertTraceNameToID (const char* const traceName)
+{
+ int id = Trace::TRACE_INVALID;
+
+ for (int i = 0; i < s_iTraceCount; i++)
+ if (strcasecmp (traceName, s_aszTraceName[i]) == 0) {
+ id = i;
+ break;
+ }
+
+ return (id);
+}