00001 /* 00002 * Copyright (c) 1996, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * 00006 * Author(s): 00007 * Dennis Koelma (koelma@wins.uva.nl) 00008 * Edo Poll (poll@wins.uva.nl) 00009 */ 00010 00011 #ifndef HxImageSig2dVec3Float_h 00012 #define HxImageSig2dVec3Float_h 00013 00014 00015 #include "HxImageSignature.h" 00016 #include "HxPixelAllocator.h" 00017 00018 #include "HxVec3Float.h" 00019 #include "HxVec3Double.h" 00020 #include "HxDataPtr2dTem.h" 00021 00022 class HxImageSig2dVec3Double; 00023 00024 00027 class HxImageSig2dVec3Float : public HxImageSignature { 00028 public: 00029 typedef HxVec3Float PixelType; 00030 typedef HxVec3Double ArithType; 00031 typedef HxVec3Double ArithTypeDouble; 00032 00033 typedef HxDataPtr2dTem< 00034 PixelType, ArithType> DataPtrType; 00035 00036 typedef HxPixelAllocator<PixelType> Allocator; 00037 00038 typedef HxImageSig2dVec3Float ProjectDomainImageSigType; 00039 typedef HxImageSig2dVec3Double ArithImageSigType; 00040 typedef HxImageSig2dVec3Double ArithImageSigTypeDouble; 00041 00042 HxImageSig2dVec3Float(); 00043 00044 enum { ID = SIG_ID(2, 3, REAL_VALUE, sizeof(float) << 3) }; 00045 }; 00046 00047 template<> 00048 struct HxClassName<HxImageSig2dVec3Float> { 00049 operator HxString() { 00050 static HxImageSig2dVec3Float sig; 00051 return sig.toString(); 00052 } 00053 }; 00054 00055 inline 00056 HxImageSig2dVec3Float::HxImageSig2dVec3Float() 00057 { 00058 _imageDimensionality = 2; 00059 _pixelDimensionality = 3; 00060 _pixelType = REAL_VALUE; 00061 _pixelPrecision = sizeof(float) << 3; 00062 } 00063 00064 #endif 00065