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 __DVPSGA_H__
00035 #define __DVPSGA_H__
00036
00037 #include "osconfig.h"
00038 #include "dctk.h"
00039
00040 #include "dvpstxl.h"
00041 #include "dvpsgrl.h"
00042 #include "dvpsril.h"
00043 #include "dvpstyp.h"
00044
00050 class DVPSGraphicAnnotation
00051 {
00052 public:
00054 DVPSGraphicAnnotation();
00055
00057 DVPSGraphicAnnotation(const DVPSGraphicAnnotation& copy);
00058
00063 DVPSGraphicAnnotation *clone() { return new DVPSGraphicAnnotation(*this); }
00064
00066 virtual ~DVPSGraphicAnnotation();
00067
00077 OFCondition read(DcmItem &dset);
00078
00085 OFCondition write(DcmItem &dset);
00086
00090 const char *getAnnotationLayer();
00091
00095 void setAnnotationLayer(const char *aLayer);
00096
00107 OFCondition addImageReference(
00108 const char *sopclassUID,
00109 const char *instanceUID,
00110 unsigned long frame,
00111 DVPSObjectApplicability applicability);
00112
00117 OFBool isEmpty();
00118
00126 OFBool isApplicable(
00127 const char *instanceUID,
00128 unsigned long frame,
00129 DVPSObjectApplicability applicability=DVPSB_currentFrame);
00130
00134 size_t getNumberOfTextObjects();
00135
00139 size_t getNumberOfGraphicObjects();
00140
00146 DVPSTextObject *getTextObject(size_t idx);
00147
00153 DVPSGraphicObject *getGraphicObject(size_t idx);
00154
00159 void addTextObject(DVPSTextObject *text);
00160
00165 void addGraphicObject(DVPSGraphicObject *graphic);
00166
00172 DVPSTextObject *removeTextObject(size_t idx);
00173
00179 DVPSGraphicObject *removeGraphicObject(size_t idx);
00180
00186 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00187
00188 private:
00189
00191 DVPSGraphicAnnotation& operator=(const DVPSGraphicAnnotation&);
00192
00194 DVPSReferencedImage_PList referencedImageList;
00196 DcmCodeString graphicAnnotationLayer;
00198 DVPSTextObject_PList textObjectList;
00200 DVPSGraphicObject_PList graphicObjectList;
00201
00204 OFConsole *logstream;
00205
00208 OFBool verboseMode;
00209
00212 OFBool debugMode;
00213
00214 };
00215
00216 #endif
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244