dcmsr/include/dcmtk/dcmsr/dsrsc3vl.h

00001 /*
00002  *
00003  *  Copyright (C) 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: dcmsr
00015  *
00016  *  Author: Joerg Riesmeier
00017  *
00018  *  Purpose:
00019  *    classes: DSRSpatialCoordinates3DValue
00020  *
00021  *  Last Update:      $Author: joergr $
00022  *  Update Date:      $Date: 2010-10-14 13:16:32 $
00023  *  CVS/RCS Revision: $Revision: 1.2 $
00024  *  Status:           $State: Exp $
00025  *
00026  *  CVS/RCS Log at end of file
00027  *
00028  */
00029 
00030 
00031 #ifndef DSRSC3VL_H
00032 #define DSRSC3VL_H
00033 
00034 #include "dcmtk/config/osconfig.h"   /* make sure OS specific configuration is included first */
00035 
00036 #include "dcmtk/dcmsr/dsrtypes.h"
00037 #include "dcmtk/dcmsr/dsrsc3gr.h"
00038 
00039 
00040 /*---------------------*
00041  *  class declaration  *
00042  *---------------------*/
00043 
00046 class DSRSpatialCoordinates3DValue
00047 {
00048     // allow access to getValuePtr()
00049     friend class DSRContentItem;
00050 
00051   public:
00052 
00055     DSRSpatialCoordinates3DValue();
00056 
00060     DSRSpatialCoordinates3DValue(const DSRTypes::E_GraphicType3D graphicType);
00061 
00065     DSRSpatialCoordinates3DValue(const DSRSpatialCoordinates3DValue &coordinatesValue);
00066 
00069     virtual ~DSRSpatialCoordinates3DValue();
00070 
00076     DSRSpatialCoordinates3DValue &operator=(const DSRSpatialCoordinates3DValue &coordinatesValue);
00077 
00082     virtual void clear();
00083 
00089     virtual OFBool isValid() const;
00090 
00097     virtual OFBool isShort(const size_t flags) const;
00098 
00105     virtual OFCondition print(STD_NAMESPACE ostream &stream,
00106                               const size_t flags) const;
00107 
00112     virtual OFCondition read(DcmItem &dataset);
00113 
00118     virtual OFCondition write(DcmItem &dataset) const;
00119 
00125     virtual OFCondition readXML(const DSRXMLDocument &doc,
00126                                 DSRXMLCursor cursor);
00127 
00133     virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
00134                                  const size_t flags) const;
00135 
00144     virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
00145                                    STD_NAMESPACE ostream &annexStream,
00146                                    size_t &annexNumber,
00147                                    const size_t flags) const;
00148 
00152     inline const DSRSpatialCoordinates3DValue &getValue() const
00153     {
00154         return *this;
00155     }
00156 
00162     inline DSRTypes::E_GraphicType3D getGraphicType() const
00163     {
00164         return GraphicType;
00165     }
00166 
00173     OFCondition setGraphicType(const DSRTypes::E_GraphicType3D graphicType);
00174 
00178     inline const OFString &getFrameOfReferenceUID() const
00179     {
00180         return FrameOfReferenceUID;
00181     }
00182 
00187     OFCondition setFrameOfReferenceUID(const OFString &frameOfReferenceUID);
00188 
00193     OFCondition getValue(DSRSpatialCoordinates3DValue &coordinatesValue) const;
00194 
00202     OFCondition setValue(const DSRSpatialCoordinates3DValue &coordinatesValue);
00203 
00209     inline DSRGraphicData3DList &getGraphicDataList()
00210     {
00211         return GraphicDataList;
00212     }
00213 
00214 
00215   protected:
00216 
00220     inline DSRSpatialCoordinates3DValue *getValuePtr()
00221     {
00222         return this;
00223     }
00224 
00235     OFBool checkData(const DSRTypes::E_GraphicType3D graphicType,
00236                      const DSRGraphicData3DList &graphicDataList,
00237                      const OFString &frameOfReferenceUID) const;
00238 
00239 
00240   private:
00241 
00243     DSRTypes::E_GraphicType3D GraphicType;
00245     DSRGraphicData3DList      GraphicDataList;
00247     OFString                  FrameOfReferenceUID;
00248 };
00249 
00250 
00251 #endif
00252 
00253 
00254 /*
00255  *  CVS/RCS Log:
00256  *  $Log: dsrsc3vl.h,v $
00257  *  Revision 1.2  2010-10-14 13:16:32  joergr
00258  *  Updated copyright header. Added reference to COPYRIGHT file.
00259  *
00260  *  Revision 1.1  2010-09-28 14:08:14  joergr
00261  *  Added support for Colon CAD SR which requires a new value type (SCOORD3D).
00262  *
00263  *
00264  */


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