dcmimgle/include/dcmtk/dcmimgle/dipixel.h

00001 /*
00002  *
00003  *  Copyright (C) 1996-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:  dcmimgle
00015  *
00016  *  Author:  Joerg Riesmeier
00017  *
00018  *  Purpose: DicomPixel (Header)
00019  *
00020  *  Last Update:      $Author: joergr $
00021  *  Update Date:      $Date: 2010-10-14 13:16:27 $
00022  *  CVS/RCS Revision: $Revision: 1.13 $
00023  *  Status:           $State: Exp $
00024  *
00025  *  CVS/RCS Log at end of file
00026  *
00027  */
00028 
00029 
00030 #ifndef DIPIXEL_H
00031 #define DIPIXEL_H
00032 
00033 #include "dcmtk/config/osconfig.h"
00034 
00035 #include "dcmtk/dcmimgle/diutils.h"
00036 
00037 
00038 /*---------------------*
00039  *  class declaration  *
00040  *---------------------*/
00041 
00044 class DiPixel
00045 {
00046 
00047  public:
00048 
00054     DiPixel(const unsigned long count,
00055             const unsigned long inputCount = 0)
00056       : Count(count),
00057         InputCount(inputCount)
00058     {
00059     }
00060 
00063     virtual ~DiPixel()
00064     {
00065     }
00066 
00071     virtual EP_Representation getRepresentation() const = 0;
00072 
00077     virtual int getPlanes() const = 0;
00078 
00084     virtual const void *getData() const = 0;
00085 
00091     virtual void *getDataPtr() = 0;
00092 
00098     virtual void *getDataArrayPtr() = 0;
00099 
00104     inline unsigned long getCount() const
00105     {
00106         return Count;
00107     }
00108 
00113     inline unsigned long getInputCount() const
00114     {
00115         return InputCount;
00116     }
00117 
00118 
00119  protected:
00120 
00122     /*const*/ unsigned long Count;
00123 
00125     unsigned long InputCount;
00126 };
00127 
00128 
00129 #endif
00130 
00131 
00132 /*
00133  *
00134  * CVS/RCS Log:
00135  * $Log: dipixel.h,v $
00136  * Revision 1.13  2010-10-14 13:16:27  joergr
00137  * Updated copyright header. Added reference to COPYRIGHT file.
00138  *
00139  * Revision 1.12  2010-03-01 09:08:47  uli
00140  * Removed some unnecessary include directives in the headers.
00141  *
00142  * Revision 1.11  2005-12-08 16:48:04  meichel
00143  * Changed include path schema for all DCMTK header files
00144  *
00145  * Revision 1.10  2004/10/19 12:58:24  joergr
00146  * Enhanced API documentation.
00147  *
00148  * Revision 1.9  2004/02/06 11:07:50  joergr
00149  * Distinguish more clearly between const and non-const access to pixel data.
00150  *
00151  * Revision 1.8  2003/12/09 10:07:16  joergr
00152  * Removed leading underscore characters from preprocessor symbols (reserved
00153  * symbols). Updated copyright header.
00154  *
00155  * Revision 1.7  2002/06/26 16:06:08  joergr
00156  * Enhanced handling of corrupted pixel data and/or length.
00157  *
00158  * Revision 1.6  2001/06/01 15:49:50  meichel
00159  * Updated copyright header
00160  *
00161  * Revision 1.5  2000/03/08 16:24:23  meichel
00162  * Updated copyright header.
00163  *
00164  * Revision 1.4  1999/09/17 12:47:51  joergr
00165  * Added/changed/completed DOC++ style comments in the header files.
00166  *
00167  * Revision 1.3  1999/03/24 17:20:22  joergr
00168  * Added/Modified comments and formatting.
00169  *
00170  * Revision 1.2  1999/01/20 15:12:10  joergr
00171  * Replaced invocation of getCount() by member variable Count where possible.
00172  *
00173  * Revision 1.1  1998/11/27 15:32:37  joergr
00174  * Added copyright message.
00175  * Introduced new pixel base class.
00176  *
00177  *
00178  */


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1