1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
/*
*
* Copyright (C) 2015, Open Connections GmbH
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation are maintained by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmfg
*
* Author: Michael Onken
*
* Purpose: Class representing a stack in the context of Enhanced multiframe
*
*/
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmfg/stack.h"
FGStack::FGStack(const OFString& stackID, const OFMap<Uint32, Uint32> frameNumbers)
: m_StackID(stackID)
, m_FrameNumbers(frameNumbers)
{
}
FGStack::FGStack(const OFString& stackID)
: m_StackID(stackID)
, m_FrameNumbers()
{
}
OFBool FGStack::addFrame(const Uint32 frameNumber, const Uint32 inStackPos)
{
m_FrameNumbers.insert(OFMake_pair(frameNumber, inStackPos));
return OFTrue;
}
FGStack::~FGStack()
{
}
FGStack::const_iterator FGStack::begin() const
{
return m_FrameNumbers.begin();
}
FGStack::iterator FGStack::begin()
{
return m_FrameNumbers.begin();
}
FGStack::const_iterator FGStack::end() const
{
return m_FrameNumbers.end();
}
FGStack::iterator FGStack::end()
{
return m_FrameNumbers.end();
}
OFString FGStack::getStackID() const
{
return m_StackID;
}
Uint32 FGStack::getInStackPos(const Uint32 frameNumber) const
{
FGStack::const_iterator it = m_FrameNumbers.find(frameNumber);
if (it == m_FrameNumbers.end())
return 0;
else
return (*it).second;
}
void FGStack::getFramesAtStackPos(const Uint32 inStackPos, OFVector<Uint32>& resultFrameNumbers)
{
FGStack::iterator it = m_FrameNumbers.begin();
while (it != m_FrameNumbers.end())
{
if ((*it).second == inStackPos)
{
resultFrameNumbers.push_back((*it).second);
}
it++;
}
}
|