r156: *** empty log message ***
[ctsim.git] / include / trace.h
1 #ifndef TRACE_H
2 #define TRACE_H
3
4 enum TraceID {
5     TRACE_INVALID=-1,
6     TRACE_NONE=0,               /* No tracing */
7     TRACE_TEXT,         /* Minimal status */
8     TRACE_PHM,          /* Show phantom */
9     TRACE_RAYS,         /* Show all rays */
10     TRACE_PLOT,         /* Plot raysums */
11     TRACE_CLIPPING      /* Plot clipping */
12 };
13
14 class TraceLevel
15 {
16  public:
17   static const char TRACE_NONE_STR[];
18   static const char TRACE_TEXT_STR[];
19   static const char TRACE_PHM_STR[];
20   static const char TRACE_RAYS_STR[];
21   static const char TRACE_PLOT_STR[];
22   static const char TRACE_CLIPPING_STR[];
23   
24   TraceLevel (const char* const traceString);
25   
26   void addTrace (const char* const traceString);
27   
28   bool isTrace (const char* const traceQuery) const;
29   
30   int getTraceLevel(void) const { return m_traceLevel; }
31   
32   static TraceID convertTraceNameToID (const char* traceName);
33
34  private:
35   
36   int m_traceLevel;
37   
38   bool addTraceElements (const char* const traceString);
39 };
40
41
42 #endif
43