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
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "gdcmFragment.h"
namespace gdcm_ns
{
VL Fragment::GetLength() const
{
gdcm_assert( !ValueLengthField.IsUndefined() );
gdcm_assert( !ValueField || ValueField->GetLength() == ValueLengthField );
return TagField.GetLength() + ValueLengthField.GetLength()
+ ValueLengthField;
}
VL Fragment::ComputeLength() const
{
const ByteValue *bv = GetByteValue();
gdcm_assert( bv );
gdcm_assert( !ValueLengthField.IsUndefined() );
//gdcm_assert( !ValueField || ValueField->GetLength() == ValueLengthField );
return TagField.GetLength() + ValueLengthField.GetLength()
+ bv->ComputeLength() /*ValueLengthField*/;
}
} // end namespace gdcm_ns