OFFIS DCMTK  Version 3.6.0
dsrsc3gr.h
1 /*
2  *
3  * Copyright (C) 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: dcmsr
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DSRGraphicData3DItem, DSRGraphicData3DList
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.2 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRSC3GR_H
32 #define DSRSC3GR_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/dcmsr/dsrtypes.h"
37 #include "dcmtk/dcmsr/dsrtlist.h"
38 
39 
40 /*---------------------*
41  * class declaration *
42  *---------------------*/
43 
47 {
48  public:
49 
55  DSRGraphicData3DItem(const Float32 x = 0,
56  const Float32 y = 0,
57  const Float32 z = 0)
58  : XCoord(x),
59  YCoord(y),
60  ZCoord(z)
61  {
62  }
63 
68  inline OFBool operator==(const DSRGraphicData3DItem &item) const
69  {
70  return (item.XCoord == XCoord) && (item.YCoord == YCoord) && (item.ZCoord == ZCoord);
71  }
72 
77  inline OFBool operator!=(const DSRGraphicData3DItem &item) const
78  {
79  return (item.XCoord != XCoord) || (item.YCoord != YCoord) || (item.ZCoord != ZCoord);
80  }
81 
82  /* copy constructor and assignment operator are defined implicitly */
83 
85  Float32 XCoord;
87  Float32 YCoord;
89  Float32 ZCoord;
90 };
91 
92 
96  : public DSRListOfItems<DSRGraphicData3DItem>
97 {
98 
99  public:
100 
104 
109 
112  virtual ~DSRGraphicData3DList();
113 
119 
128  OFCondition print(STD_NAMESPACE ostream &stream,
129  const size_t flags = 0,
130  const char tripletSeparator = '/',
131  const char itemSeparator = ',') const;
132 
137  OFCondition read(DcmItem &dataset);
138 
143  OFCondition write(DcmItem &dataset) const;
144 
149  const DSRGraphicData3DItem &getItem(const size_t idx) const;
150 
158  OFCondition getItem(const size_t idx,
159  Float32 &x,
160  Float32 &y,
161  Float32 &z) const;
162 
168  void addItem(const Float32 x,
169  const Float32 y,
170  const Float32 z);
171 
178  OFCondition putString(const char *stringValue);
179 };
180 
181 
182 #endif
183 
184 
185 /*
186  * CVS/RCS Log:
187  * $Log: dsrsc3gr.h,v $
188  * Revision 1.2 2010-10-14 13:16:32 joergr
189  * Updated copyright header. Added reference to COPYRIGHT file.
190  *
191  * Revision 1.1 2010-09-28 14:08:14 joergr
192  * Added support for Colon CAD SR which requires a new value type (SCOORD3D).
193  *
194  *
195  *
196  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2