OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmdata
include
dcmtk
dcmdata
dcvrpobw.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: Andreas Barth
17
*
18
* Purpose:
19
* Interface of class DcmPolymorphOBOW for Tags that can change their VR
20
* between OB and OW (e.g. Tag PixelData, OverlayData). This class shall
21
* not be used directly in applications. No identification exists.
22
*
23
* Last Update: $Author: joergr $
24
* Update Date: $Date: 2010-10-14 13:15:43 $
25
* CVS/RCS Revision: $Revision: 1.18 $
26
* Status: $State: Exp $
27
*
28
* CVS/RCS Log at end of file
29
*
30
*/
31
32
#ifndef DCVRPOBW_H
33
#define DCVRPOBW_H
34
35
#include "dcmtk/config/osconfig.h"
/* make sure OS specific configuration is included first */
36
#include "dcmtk/dcmdata/dcvrobow.h"
37
41
class
DcmPolymorphOBOW
:
public
DcmOtherByteOtherWord
42
{
43
public
:
44
49
DcmPolymorphOBOW
(
50
const
DcmTag
& tag,
51
const
Uint32 len = 0);
52
54
DcmPolymorphOBOW
(
55
const
DcmPolymorphOBOW
& old);
56
58
virtual
~DcmPolymorphOBOW
();
59
63
DcmPolymorphOBOW
&
operator=
(
64
const
DcmPolymorphOBOW
&obj);
65
69
virtual
DcmObject
*
clone
()
const
70
{
71
return
new
DcmPolymorphOBOW
(*
this
);
72
}
73
86
virtual
OFCondition
copyFrom
(
const
DcmObject
& rhs);
87
103
virtual
OFCondition
read
(
104
DcmInputStream
& inStream,
105
const
E_TransferSyntax ixfer,
106
const
E_GrpLenEncoding glenc,
107
const
Uint32 maxReadLength);
108
131
virtual
OFCondition
write
(
132
DcmOutputStream
&outStream,
133
const
E_TransferSyntax oxfer,
134
const
E_EncodingType enctype,
135
DcmWriteCache
*wcache);
136
144
virtual
OFCondition
writeSignatureFormat
(
145
DcmOutputStream
&outStream,
146
const
E_TransferSyntax oxfer,
147
const
E_EncodingType enctype,
148
DcmWriteCache
*wcache);
149
153
virtual
void
transferInit
();
154
158
virtual
void
transferEnd
();
159
168
virtual
OFCondition
getUint8Array
(Uint8 *&val);
// for bytes
169
178
virtual
OFCondition
getUint16Array
(Uint16 *&val);
179
186
virtual
OFCondition
putUint8Array
(
const
Uint8 *vals,
const
unsigned
long
num);
187
194
virtual
OFCondition
putUint16Array
(
const
Uint16 *vals,
const
unsigned
long
num);
195
203
virtual
OFCondition
createUint8Array
(
204
const
Uint32 numBytes,
205
Uint8 * & bytes);
206
207
215
virtual
OFCondition
createUint16Array
(
216
const
Uint32 numWords,
217
Uint16 * & words);
218
219
private
:
220
226
OFBool
changeVR
;
227
229
DcmEVR
currentVR
;
230
231
};
232
#endif
233
234
/*
235
** CVS/RCS Log:
236
** $Log: dcvrpobw.h,v $
237
** Revision 1.18 2010-10-14 13:15:43 joergr
238
** Updated copyright header. Added reference to COPYRIGHT file.
239
**
240
** Revision 1.17 2008-07-17 11:19:49 onken
241
** Updated copyFrom() documentation.
242
**
243
** Revision 1.16 2008-07-17 10:30:23 onken
244
** Implemented copyFrom() method for complete DcmObject class hierarchy, which
245
** permits setting an instance's value from an existing object. Implemented
246
** assignment operator where necessary.
247
**
248
** Revision 1.15 2007-11-29 14:30:19 meichel
249
** Write methods now handle large raw data elements (such as pixel data)
250
** without loading everything into memory. This allows very large images to
251
** be sent over a network connection, or to be copied without ever being
252
** fully in memory.
253
**
254
** Revision 1.14 2007/06/07 09:00:59 joergr
255
** Fixed incorrect comment.
256
**
257
** Revision 1.13 2005/12/08 16:29:06 meichel
258
** Changed include path schema for all DCMTK header files
259
**
260
** Revision 1.12 2004/07/01 12:28:25 meichel
261
** Introduced virtual clone method for DcmObject and derived classes.
262
**
263
** Revision 1.11 2002/09/12 14:07:16 joergr
264
** Added method "createUint8Array" which works similar to the 16 bit variant.
265
**
266
** Revision 1.10 2002/08/27 16:55:40 meichel
267
** Initial release of new DICOM I/O stream classes that add support for stream
268
** compression (deflated little endian explicit VR transfer syntax)
269
**
270
** Revision 1.9 2001/09/25 17:19:33 meichel
271
** Adapted dcmdata to class OFCondition
272
**
273
** Revision 1.8 2001/06/01 15:48:52 meichel
274
** Updated copyright header
275
**
276
** Revision 1.7 2001/05/10 12:52:56 meichel
277
** Added public createUint16Array() method in class DcmPolymorphOBOW.
278
**
279
** Revision 1.6 2000/11/07 16:56:11 meichel
280
** Initial release of dcmsign module for DICOM Digital Signatures
281
**
282
** Revision 1.5 2000/03/08 16:26:25 meichel
283
** Updated copyright header.
284
**
285
** Revision 1.4 1999/03/31 09:25:05 meichel
286
** Updated copyright header in module dcmdata
287
**
288
** Revision 1.3 1998/11/12 16:47:53 meichel
289
** Implemented operator= for all classes derived from DcmObject.
290
**
291
** Revision 1.2 1997/07/31 06:59:00 andreas
292
** Error correction and additonal functionality for
293
** DcmPolymorphOBOW to support getting and putting of Uint8 and
294
** Uint16 data independent of the VR.
295
**
296
** Revision 1.1 1997/07/21 07:54:00 andreas
297
** - Support for CP 14. PixelData and OverlayData can have VR OW or OB
298
** (depending on the transfer syntax). New internal value
299
** representation (only for ident()) for OverlayData.
300
**
301
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2