OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmdata
include
dcmtk
dcmdata
dctag.h
1
/*
2
*
3
* Copyright (C) 1994-2010, OFFIS e.V.
4
* All rights reserved. See COPYRIGHT file for details.
5
*
6
* This software and supporting documentation were developed by
7
*
8
* OFFIS e.V.
9
* R&D Division Health
10
* Escherweg 2
11
* D-26121 Oldenburg, Germany
12
*
13
*
14
* Module: dcmdata
15
*
16
* Author: Gerd Ehlers, Andrew Hewett
17
*
18
* Purpose: Definition of the class DcmTag
19
*
20
* Last Update: $Author: joergr $
21
* Update Date: $Date: 2010-10-14 13:15:42 $
22
* CVS/RCS Revision: $Revision: 1.24 $
23
* Status: $State: Exp $
24
*
25
* CVS/RCS Log at end of file
26
*
27
*/
28
29
#ifndef DCTAG_H
30
#define DCTAG_H
31
32
#include "dcmtk/config/osconfig.h"
/* make sure OS specific configuration is included first */
33
#include "dcmtk/ofstd/ofcond.h"
34
#include "dcmtk/dcmdata/dctagkey.h"
35
#include "dcmtk/dcmdata/dcvr.h"
36
38
#define DcmTag_ERROR_TagName "Unknown Tag & Data"
39
40
50
class
DcmTag
:
public
DcmTagKey
51
{
52
public
:
54
DcmTag
();
55
62
DcmTag
(
const
DcmTagKey
& akey);
63
71
DcmTag
(Uint16 g, Uint16 e);
72
79
DcmTag
(
const
DcmTagKey
& akey,
const
DcmVR
& avr);
80
88
DcmTag
(Uint16 g, Uint16 e,
const
DcmVR
& avr);
89
91
DcmTag
(
const
DcmTag
& tag);
92
94
~DcmTag
();
95
97
DcmTag
&
operator=
(
const
DcmTag
& tag);
98
100
DcmVR
setVR
(
const
DcmVR
& avr);
101
103
DcmVR
getVR
()
const
{
return
vr
; }
104
106
DcmEVR
getEVR
()
const
{
return
vr
.
getEVR
(); }
107
109
const
char
*
getVRName
()
const
{
return
vr
.
getVRName
(); }
110
114
Uint16
getGTag
()
const
{
return
getGroup
(); }
115
119
Uint16
getETag
()
const
{
return
getElement
(); }
120
124
DcmTagKey
getXTag
()
const
125
{
126
return
* OFstatic_cast(
const
DcmTagKey
*,
this
);
127
}
128
136
const
char
*
getTagName
();
137
142
const
char
*
getPrivateCreator
()
const
;
143
149
void
setPrivateCreator
(
const
char
*privCreator);
150
156
void
lookupVRinDictionary
();
157
162
OFBool
isSignable
()
const
;
163
166
OFBool
isUnknownVR
()
const
;
167
169
OFCondition
error
()
const
{
return
errorFlag
; }
170
171
// --- static helper functions ---
172
184
static
OFCondition
findTagFromName
(
const
char
*name,
185
DcmTag
&value);
186
private
:
187
191
void
updateTagName
(
const
char
*c);
192
196
void
updatePrivateCreator
(
const
char
*c);
197
199
DcmVR
vr
;
200
202
char
*
tagName
;
203
205
char
*
privateCreator
;
206
208
OFCondition
errorFlag
;
209
210
};
211
212
213
// *** global constants ********************************
214
215
216
#define ItemTag (DcmTag(DCM_Item))
217
#define InternalUseTag (DcmTag(DcmTagKey(0xfffe, 0xfffe)))
218
219
220
#endif
/* !DCTAG_H */
221
222
/*
223
** CVS/RCS Log:
224
** $Log: dctag.h,v $
225
** Revision 1.24 2010-10-14 13:15:42 joergr
226
** Updated copyright header. Added reference to COPYRIGHT file.
227
**
228
** Revision 1.23 2010-08-09 13:02:57 joergr
229
** Updated data dictionary to 2009 edition of the DICOM standard. From now on,
230
** the official "keyword" is used for the attribute name which results in a
231
** number of minor changes (e.g. "PatientsName" is now called "PatientName").
232
**
233
** Revision 1.22 2009-11-04 09:58:07 uli
234
** Switched to logging mechanism provided by the "new" oflog module
235
**
236
** Revision 1.21 2005-12-08 16:28:44 meichel
237
** Changed include path schema for all DCMTK header files
238
**
239
** Revision 1.20 2003/08/14 09:00:56 meichel
240
** Adapted type casts to new-style typecast operators defined in ofcast.h
241
**
242
** Revision 1.19 2002/07/23 14:21:27 meichel
243
** Added support for private tag data dictionaries to dcmdata
244
**
245
** Revision 1.18 2002/05/24 09:49:13 joergr
246
** Renamed some parameters/variables to avoid ambiguities.
247
**
248
** Revision 1.17 2002/04/30 13:12:12 joergr
249
** Added static helper function to convert strings (tag names or group/element
250
** numbers) to DICOM tag objects.
251
**
252
** Revision 1.16 2001/11/19 15:23:10 meichel
253
** Cleaned up signature code to avoid some gcc warnings.
254
**
255
** Revision 1.15 2001/11/16 15:54:40 meichel
256
** Adapted digital signature code to final text of supplement 41.
257
**
258
** Revision 1.14 2001/09/25 17:19:29 meichel
259
** Adapted dcmdata to class OFCondition
260
**
261
** Revision 1.13 2001/06/01 15:48:45 meichel
262
** Updated copyright header
263
**
264
** Revision 1.12 2000/04/14 16:00:58 meichel
265
** Restructured class DcmTag. Instances don't keep a permanent pointer
266
** to a data dictionary entry anymore. Required for MT applications.
267
**
268
** Revision 1.11 2000/03/08 16:26:19 meichel
269
** Updated copyright header.
270
**
271
** Revision 1.10 1999/03/31 09:24:49 meichel
272
** Updated copyright header in module dcmdata
273
**
274
** Revision 1.9 1998/07/15 15:48:54 joergr
275
** Removed several compiler warnings reported by gcc 2.8.1 with
276
** additional options, e.g. missing copy constructors and assignment
277
** operators, initialization of member variables in the body of a
278
** constructor instead of the member initialization list, hiding of
279
** methods by use of identical names, uninitialized member variables,
280
** missing const declaration of char pointers. Replaced tabs by spaces.
281
**
282
** Revision 1.8 1997/05/06 09:26:44 hewett
283
** The DcmTag::getVMMax() method now returns a maximum value if the attribute
284
** is unknown. This makes the default VM=1-n (before it was VM=1).
285
**
286
** Revision 1.7 1997/03/26 17:18:01 hewett
287
** Added member function to obtain a DcmTag's data dictionary reference.
288
**
289
** Revision 1.6 1996/04/19 08:37:21 andreas
290
** correct bug with DEBUG and not DEBUG parts. It was not possible to compile
291
** the dcmdata library with DEBUG and programs using dcmdata without DEBUG
292
** (and vice versa)
293
**
294
** Revision 1.5 1996/03/13 14:48:32 hewett
295
** Added useful VR access methods.
296
**
297
** Revision 1.4 1996/03/12 15:32:49 hewett
298
** Added constructor with parameter to explicity set the VR.
299
**
300
** Revision 1.3 1996/01/05 13:23:01 andreas
301
** - changed to support new streaming facilities
302
** - more cleanups
303
** - merged read / write methods for block and file transfer
304
**
305
** Revision 1.2 1995/11/23 16:38:03 hewett
306
** Updated for loadable data dictionary + some cleanup (more to do).
307
**
308
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2