20
20
#include <api/controllers/ipacscontroller.h>
21
#include "dcmtk/dcmdata/dcdict.h"
22
#include <dcmtk/dcmdata/dctk.h>
23
#include "dcmtk/dcmimgle/dcmimage.h"
25
22
#ifdef MACRO_QUE_ESTORBA
26
23
#define verify MACRO_QUE_ESTORBA
26
GIL::DICOM::PACSException::PACSException(const std::string& msg, const std::string& component, bool fatal) throw() : GNC::GCS::IException(msg, component, fatal)
30
GIL::DICOM::IPACSController::IPACSController()
29
34
GIL::DICOM::IPACSController::~IPACSController()
37
/*------------------------------*/
38
DcmElement* TagPrivadoString::ToElement(unsigned int group, unsigned int element)
42
DcmTagKey key(group,element);
44
if (tag.error() != EC_Normal) {
45
std::cerr << "error al almacenar los tags privados, tag desconocido: (" << group << ","<<element<<")" <<std::endl;
49
DcmElement* pElement = newDicomElement(tag);
52
std::cerr << "error al almacenar los tags privados, error al crear el elemento: (" << group << ","<<element<<") " <<std::endl;
56
cond=pElement->putString(Valor.c_str());
59
std::cerr << "error al almacenar los tags privados, error al escribir los datos: (" << group << ","<<element<<")" << cond.text() <<std::endl;
65
/*------------------------------*/
66
TagPrivadoUndefined::TagPrivadoUndefined()
72
TagPrivadoUndefined::TagPrivadoUndefined(unsigned int size)
75
Valor = new unsigned char[Size];
78
TagPrivadoUndefined::TagPrivadoUndefined(unsigned char* valor, unsigned int size)
81
Valor = new unsigned char[Size];
82
memcpy(Valor,valor,Size*sizeof(unsigned char));
85
TagPrivadoUndefined::~TagPrivadoUndefined()
94
TagPrivadoUndefined::TagPrivadoUndefined(const TagPrivadoUndefined& otro)
96
this->Size = otro.Size;
97
this->Valor = new unsigned char[Size];
98
memcpy(otro.Valor,this->Valor,Size*sizeof(unsigned char));
101
TagPrivadoUndefined& TagPrivadoUndefined::operator = (const TagPrivadoUndefined& otro)
103
this->Size = otro.Size;
104
this->Valor = new unsigned char[Size];
105
memcpy(otro.Valor,this->Valor,Size*sizeof(unsigned char));
109
void TagPrivadoUndefined::Copiar(void* ptrCopia, int size)
111
if(this->Valor != NULL) {
112
delete[] this->Valor;
115
this->Valor = new unsigned char [Size];
116
memcpy(this->Valor,ptrCopia,Size*sizeof(unsigned char));
119
std::string TagPrivadoUndefined::ToString()
121
return std::string ((char*)Valor,Size);
124
unsigned char* TagPrivadoUndefined::GetValor()
129
unsigned int TagPrivadoUndefined::GetSize()
134
DcmElement* TagPrivadoUndefined::ToElement(unsigned int group, unsigned int element)
138
DcmTagKey key(group,element);
140
if (tag.error() != EC_Normal) {
141
std::cerr << "error al almacenar los tags privados, tag desconocido: (" << group << ","<<element<<")" <<std::endl;
145
DcmElement* pElement = newDicomElement(tag);
148
std::cerr << "error al almacenar los tags privados, error al crear el elemento: (" << group << ","<<element<<")" <<std::endl;
152
cond=pElement->putUint8Array(Valor,Size);
155
std::cerr << "error al almacenar los tags privados, error al escribir los datos: (" << group << ","<<element<<")" <<std::endl;