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  */
Float32 ZCoord
z value (VR=FL)
Definition: dsrsc3gr.h:89
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
Template class to store and access items in a list structure.
Definition: dsrtlist.h:49
OFCondition putString(const char *stringValue)
put list of graphic data as a string.
OFBool operator==(const DSRGraphicData3DItem &item) const
comparison operator
Definition: dsrsc3gr.h:68
DSRGraphicData3DItem(const Float32 x=0, const Float32 y=0, const Float32 z=0)
(default) constructor
Definition: dsrsc3gr.h:55
OFCondition read(DcmItem &dataset)
read list of graphic data
const DSRGraphicData3DItem & getItem(const size_t idx) const
get reference to the specified item
virtual ~DSRGraphicData3DList()
destructor
OFCondition write(DcmItem &dataset) const
write list of graphic data
DSRGraphicData3DList & operator=(const DSRGraphicData3DList &lst)
assignment operator
OFBool operator!=(const DSRGraphicData3DItem &item) const
comparison operator
Definition: dsrsc3gr.h:77
Float32 YCoord
y value (VR=FL)
Definition: dsrsc3gr.h:87
Class for graphic data (3D) lists.
Definition: dsrsc3gr.h:95
DSRGraphicData3DList()
default constructor
Float32 XCoord
x value (VR=FL)
Definition: dsrsc3gr.h:85
Class for graphic data (3D) items.
Definition: dsrsc3gr.h:46
OFCondition print(STD_NAMESPACE ostream &stream, const size_t flags=0, const char tripletSeparator= '/', const char itemSeparator= ',') const
print list of graphic data.
void addItem(const Float32 x, const Float32 y, const Float32 z)
add value triplet to the list
General purpose class for condition codes.
Definition: ofcond.h:305


Generated on Sun Aug 23 2015 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.9.1