X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmVR.cxx;h=77bbf2313bea542f05c03e027f7fcb9587f2307e;hb=7cb37a242568f7905f1e16d5cc8004e869f0d9f5;hp=f42fec4184e1698f187fb926fe7a61fe7c94cd8c;hpb=7456fe5d01a4cdcf3227ef46aa1b75a8ff970416;p=gdcm.git diff --git a/src/gdcmVR.cxx b/src/gdcmVR.cxx index f42fec41..77bbf231 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/18 08:35:51 $ + Version: $Revision: 1.41 $ 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 &vr) +{ + // Unsigned & signed short + if( vr == "US" || vr == "SS" ) + return 2; + // Unsigned & signed long + if( vr == "UL" || vr == "SL" ) + return 4; + // Float + if( vr == "FL" ) + return 4; + // Double + if( vr == "FD" ) + return 8; + // Word string + if( vr == "OW" ) + return 2; + return 1; } //-----------------------------------------------------------------------------