00001 /* 00002 * 00003 * Copyright (C) 1994-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmdata 00015 * 00016 * Author: Andreas Barth 00017 * 00018 * Purpose: Interface of class DcmOverlayData 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-21 08:21:13 $ 00022 * CVS/RCS Revision: $Revision: 1.13 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef DCOVLAY_H 00030 #define DCOVLAY_H 00031 00032 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00033 #include "dcmtk/dcmdata/dcvrpobw.h" 00034 00037 class DcmOverlayData : public DcmPolymorphOBOW 00038 { 00039 public: 00040 00045 DcmOverlayData(const DcmTag &tag, 00046 const Uint32 len = 0) 00047 : DcmPolymorphOBOW(tag, len) 00048 { 00049 } 00050 00054 DcmOverlayData(const DcmOverlayData &oldObj) 00055 : DcmPolymorphOBOW(oldObj) 00056 { 00057 } 00058 00061 virtual ~DcmOverlayData() 00062 { 00063 } 00064 00068 DcmOverlayData &operator=(const DcmOverlayData &obj) 00069 { 00070 DcmPolymorphOBOW::operator=(obj); 00071 return *this; 00072 } 00073 00077 virtual DcmObject *clone() const 00078 { 00079 return new DcmOverlayData(*this); 00080 } 00081 00094 virtual OFCondition copyFrom(const DcmObject &rhs) 00095 { 00096 if (this != &rhs) 00097 { 00098 if (rhs.ident() != ident()) return EC_IllegalCall; 00099 *this = OFstatic_cast(const DcmOverlayData &, rhs); 00100 } 00101 return EC_Normal; 00102 } 00103 00110 virtual DcmEVR ident() const 00111 { 00112 return EVR_OverlayData; 00113 } 00114 }; 00115 00116 #endif 00117 00118 /* 00119 ** CVS/RCS Log: 00120 ** $Log: dcovlay.h,v $ 00121 ** Revision 1.13 2010-10-21 08:21:13 joergr 00122 ** Use type cast macros (e.g. OFstatic_cast) where appropriate. 00123 ** Added missing API documentation and slightly reformatted source code. 00124 ** 00125 ** Revision 1.12 2010-10-14 13:15:41 joergr 00126 ** Updated copyright header. Added reference to COPYRIGHT file. 00127 ** 00128 ** Revision 1.11 2009-11-04 09:58:07 uli 00129 ** Switched to logging mechanism provided by the "new" oflog module 00130 ** 00131 ** Revision 1.10 2008-07-17 11:19:49 onken 00132 ** Updated copyFrom() documentation. 00133 ** 00134 ** Revision 1.9 2008-07-17 10:30:23 onken 00135 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which 00136 ** permits setting an instance's value from an existing object. Implemented 00137 ** assignment operator where necessary. 00138 ** 00139 ** Revision 1.8 2007-11-29 14:30:35 meichel 00140 ** Updated doxygen API documentation 00141 ** 00142 ** Revision 1.7 2005/12/08 16:28:28 meichel 00143 ** Changed include path schema for all DCMTK header files 00144 ** 00145 ** Revision 1.6 2004/07/01 12:28:25 meichel 00146 ** Introduced virtual clone method for DcmObject and derived classes. 00147 ** 00148 ** Revision 1.5 2001/06/01 15:48:42 meichel 00149 ** Updated copyright header 00150 ** 00151 ** Revision 1.4 2000/03/08 16:26:16 meichel 00152 ** Updated copyright header. 00153 ** 00154 ** Revision 1.3 1999/03/31 09:24:43 meichel 00155 ** Updated copyright header in module dcmdata 00156 ** 00157 ** Revision 1.2 1998/11/12 16:47:41 meichel 00158 ** Implemented operator= for all classes derived from DcmObject. 00159 ** 00160 ** Revision 1.1 1997/07/21 07:54:00 andreas 00161 ** - Support for CP 14. PixelData and OverlayData can have VR OW or OB 00162 ** (depending on the transfer syntax). New internal value 00163 ** representation (only for ident()) for OverlayData. 00164 ** 00165 */