X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmVR.cxx;h=617f374c3ba9d9324663e19ebe1aa5ff44be0b1b;hb=d72d6930415f074ed002b44291cd568ece0a2849;hp=f42fec4184e1698f187fb926fe7a61fe7c94cd8c;hpb=7456fe5d01a4cdcf3227ef46aa1b75a8ff970416;p=gdcm.git diff --git a/src/gdcmVR.cxx b/src/gdcmVR.cxx index f42fec41..617f374c 100644 --- a/src/gdcmVR.cxx +++ b/src/gdcmVR.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmVR.cxx,v $ Language: C++ - Date: $Date: 2005/09/06 15:36:02 $ - Version: $Revision: 1.38 $ + Date: $Date: 2005/10/20 08:58:18 $ + Version: $Revision: 1.42 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -85,7 +85,7 @@ VR::~VR() /** * \brief Simple predicate that checks whether the given argument - * corresponds to the Value Representation of a \ref BinEntry . + * corresponds to the Value Representation of a \ref DataEntry . * @param tested value representation to check for. */ bool VR::IsVROfBinaryRepresentable(VRKey const &tested) @@ -108,14 +108,12 @@ bool VR::IsVROfBinaryRepresentable(VRKey const &tested) /** * \brief Simple predicate that checks whether the given argument - * corresponds to the Value Representation of a \ref ValEntry - * but NOT a \ref BinEntry. + * corresponds to the Value Representation of a representable + * string. * @param tested value representation to be checked. */ bool VR::IsVROfStringRepresentable(VRKey const &tested) { - -/* return tested == "AE" || tested == "AS" || tested == "CS" || @@ -134,15 +132,36 @@ bool VR::IsVROfStringRepresentable(VRKey const &tested) tested == "UL" || tested == "US" || tested == "UT"; -*/ - // Should be quicker + // Should be quicker --> But it doesn't work : revert to old code +/* return tested != "FL" && tested != "FD" && tested != "OB" && tested != "OW" && + tested != "AT" && // Attribute Tag ?!? tested != "SQ" ; +*/ +} +unsigned short VR::GetAtomicElementLength(VRKey const &tested) +{ + // Unsigned & signed short + if( tested == "US" || tested == "SS" ) + return 2; + // Unsigned & signed long + if( tested == "UL" || tested == "SL" ) + return 4; + // Float + if( tested == "FL" ) + return 4; + // Double + if( tested == "FD" ) + return 8; + // Word string + if( tested == "OW" ) + return 2; + return 1; } //-----------------------------------------------------------------------------