X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmVR.cxx;h=19596be9470c2e6d39ec0f035cb533df61281a6d;hb=2742ff3e5f5e78f9d3c56194a0380e9bb03ca1c9;hp=6db25da4f1d7816b44f08449b364cb8933075505;hpb=18d900c80c604c8ac00a69216be3472b4a00ea77;p=gdcm.git diff --git a/src/gdcmVR.cxx b/src/gdcmVR.cxx index 6db25da4..19596be9 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/11/21 12:15:06 $ - Version: $Revision: 1.48 $ + Date: $Date: 2007/06/22 10:02:48 $ + Version: $Revision: 1.56 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -25,7 +25,7 @@ #include #include -namespace gdcm +namespace GDCM_NAME_SPACE { //----------------------------------------------------------------------------- /// \brief auto generated function, to fill up the 'Value Representation' @@ -108,14 +108,13 @@ bool VR::IsVROfBinaryRepresentable(VRKey const &tested) */ bool VR::IsVROfStringRepresentable(VRKey const &tested) { -/* return tested == "AE" || tested == "AS" || tested == "CS" || tested == "DA" || tested == "DS" || tested == "FL" || - tested == "FD" || + tested == "FD" || tested == "IS" || tested == "LO" || tested == "LT" || @@ -129,15 +128,17 @@ bool VR::IsVROfStringRepresentable(VRKey const &tested) tested == "UL" || tested == "US" || tested == "UT"; -*/ - // Should be quicker + // Should be quicker + // --> will *never* work : any rotten value would be considered as OK ! +/* return tested != "OB" && tested != "OW" && tested != "OF" && tested != "AT" && // Attribute Tag ?!? contain no printable character tested != "UN" && // UN is an actual VR ! tested != "SQ" ; +*/ } /// \brief returns the length of a elementary elem whose VR is passed unsigned short VR::GetAtomicElementLength(VRKey const &tested) @@ -166,9 +167,26 @@ unsigned short VR::GetAtomicElementLength(VRKey const &tested) // VS6 need a single implementation in the dll #if defined(_MSC_VER) && (_MSC_VER == 1200) /// \brief checks is a supposed-to-be VR is a 'legal' one. -bool VR::IsValidVR(VRKey const &key) +bool VR::IsValidVR(VRKey const &tested) { - return vr.find(key) != vr.end(); +// return vr.find(key) != vr.end(); + static const char VRvalues[] = + "AEASCSDADSFLFDISLOLTPNSHSLSSSTTMUIULUSUTOBOWOFATUNSQ"; + + int nbVal = 26; + const char *pt = VRvalues; + for (int i=0;i