00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef __DVPSGLL_H__
00035 #define __DVPSGLL_H__
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/ofstd/oflist.h"
00039 #include "dcmtk/dcmdata/dctk.h"
00040
00041 class DVPSGraphicLayer;
00042 class DVPSOverlayCurveActivationLayer_PList;
00043 class DVPSGraphicAnnotation_PList;
00044
00050 class DVPSGraphicLayer_PList
00051 {
00052 public:
00054 DVPSGraphicLayer_PList();
00055
00057 DVPSGraphicLayer_PList(const DVPSGraphicLayer_PList& copy);
00058
00063 DVPSGraphicLayer_PList *clone() { return new DVPSGraphicLayer_PList(*this); }
00064
00066 virtual ~DVPSGraphicLayer_PList();
00067
00075 OFCondition read(DcmItem &dset);
00076
00083 OFCondition write(DcmItem &dset);
00084
00089 void clear();
00090
00100 OFCondition addGraphicLayer(const char *gLayer,
00101 const Sint32 gLayerOrder,
00102 const char *gLayerDescription=NULL);
00103
00113 OFCondition addGraphicLayer(
00114 const char *gLayer,
00115 const char *gLayerDescription=NULL);
00116
00120 size_t size() const { return list_.size(); }
00121
00132 void sortGraphicLayers(Sint32 lowestLayer=1);
00133
00140 const char *getGraphicLayerName(size_t idx);
00141
00148 size_t getGraphicLayerIndex(const char *name);
00149
00156 const char *getGraphicLayerDescription(size_t idx);
00157
00162 OFBool haveGraphicLayerRecommendedDisplayValue(size_t idx);
00163
00172 OFCondition getGraphicLayerRecommendedDisplayValueGray(size_t idx, Uint16& gray);
00173
00183 OFCondition getGraphicLayerRecommendedDisplayValueRGB(size_t idx, Uint16& r, Uint16& g, Uint16& b);
00184
00192 OFCondition setGraphicLayerRecommendedDisplayValueGray(size_t idx, Uint16 gray);
00193
00203 OFCondition setGraphicLayerRecommendedDisplayValueRGB(size_t idx, Uint16 r, Uint16 g, Uint16 b);
00204
00209 void removeGraphicLayerRecommendedDisplayValue(size_t idx, OFBool rgb, OFBool monochrome);
00210
00217 OFCondition setGraphicLayerName(size_t idx, const char *name);
00218
00224 OFCondition setGraphicLayerDescription(size_t idx, const char *descr);
00225
00235 OFCondition toFrontGraphicLayer(size_t idx);
00236
00245 OFCondition toBackGraphicLayer(size_t idx);
00246
00254 OFCondition exchangeGraphicLayers(size_t idx1, size_t idx2);
00255
00260 OFCondition removeGraphicLayer(size_t idx);
00261
00266 void cleanupLayers(
00267 DVPSOverlayCurveActivationLayer_PList& activations,
00268 DVPSGraphicAnnotation_PList& annotations);
00269
00275 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00276
00277 private:
00278
00280 DVPSGraphicLayer_PList& operator=(const DVPSGraphicLayer_PList&);
00281
00287 DVPSGraphicLayer *getGraphicLayer(size_t idx);
00288
00291 OFList<DVPSGraphicLayer *> list_;
00292
00295 OFConsole *logstream;
00296
00299 OFBool verboseMode;
00300
00303 OFBool debugMode;
00304 };
00305
00306 #endif
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347