DYT/Tool/3rdParty_x64/include/dcmtk/dcmpstat/dvpsal.h

115 lines
3.6 KiB
C
Raw Normal View History

2024-11-22 15:19:31 +00:00
/*
*
* Copyright (C) 1998-2012, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmpstat
*
* Author: Marco Eichelberg
*
* Purpose:
* classes: DVPSOverlayCurveActivationLayer
*
*/
#ifndef DVPSAL_H
#define DVPSAL_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmdata/dcitem.h"
#include "dcmtk/dcmdata/dcvrcs.h"
#include "dcmtk/dcmpstat/dpdefine.h"
/** a curve or overlay activation layer in a presentation state (internal use only).
* This class manages the data structures comprising a single curve
* activation layer or overlay activation layer
* (one instance of the Curve Activation Layer Module or
* Overlay Activation Layer Module repeating elements)
* contained in a Presentation State object.
*/
class DCMTK_DCMPSTAT_EXPORT DVPSOverlayCurveActivationLayer
{
public:
/// default constructor
DVPSOverlayCurveActivationLayer();
/// copy constructor
DVPSOverlayCurveActivationLayer(const DVPSOverlayCurveActivationLayer& copy);
/** clone method.
* @return a pointer to a new DVPSOverlayCurveActivationLayer object containing
* a copy of this object.
*/
DVPSOverlayCurveActivationLayer *clone() { return new DVPSOverlayCurveActivationLayer(*this); }
/// destructor
virtual ~DVPSOverlayCurveActivationLayer();
/** reads the activation layer for the specified repeating group from a DICOM dataset.
* The DICOM elements of the Overlay/Curve Activation Layer module are copied
* from the dataset to this object.
* The completeness of the module is checked.
* If this method returns an error code, the object is in undefined state afterwards.
* @param dset the DICOM dataset from which the activation layer is to be read
* @param ovGroup the the repeating group to be read
* @return EC_Normal if successful, an error code otherwise.
*/
OFCondition read(DcmItem &dset, Uint16 ovGroup);
/** writes the activation layer managed by this object to a DICOM dataset.
* Copies of the DICOM elements managed by this object are inserted into
* the DICOM dataset.
* @param dset the DICOM dataset to which the activation layer is written
* @return EC_Normal if successful, an error code otherwise.
*/
OFCondition write(DcmItem &dset);
/** set activation layer name of this activation.
* @param aLayer a pointer to the activation layer name, which is copied into this object.
*/
void setActivationLayer(const char *aLayer);
/** set repeating group of this activation.
* @param rGroup the repeating group
*/
void setRepeatingGroup(Uint16 rGroup);
/** get activation layer name.
* @return a pointer to the activation layer name
*/
const char *getActivationLayer();
/** get repeating group.
* @return the repeating group of this activation.
*/
Uint16 getRepeatingGroup();
/** compare repeating group.
* @param rGroup the repeating group to compare
* @return OFTrue if the activation matches the passed repeating group, OFFalse otherwise.
*/
OFBool isRepeatingGroup(Uint16 rGroup);
private:
/// private undefined assignment operator
DVPSOverlayCurveActivationLayer& operator=(const DVPSOverlayCurveActivationLayer&);
/// the repeating group managed by this object
Uint16 repeatingGroup;
/// VR=CS, VM=1, Type 2c
DcmCodeString activationLayer;
};
#endif