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 HxImageSig2dVec3Double_h 00012 #define HxImageSig2dVec3Double_h 00013 00014 00015 #include "HxImageSignature.h" 00016 #include "HxPixelAllocator.h" 00017 00018 #include "HxVec3Double.h" 00019 #include "HxDataPtr2dTem.h" 00020 00021 00024 class HxImageSig2dVec3Double : public HxImageSignature { 00025 public: 00026 typedef HxVec3Double PixelType; 00027 typedef HxVec3Double ArithType; 00028 typedef HxVec3Double ArithTypeDouble; 00029 00030 typedef HxDataPtr2dTem< 00031 PixelType, ArithType> DataPtrType; 00032 00033 typedef HxPixelAllocator<PixelType> Allocator; 00034 00035 typedef HxImageSig2dVec3Double ProjectDomainImageSigType; 00036 typedef HxImageSig2dVec3Double ArithImageSigType; 00037 typedef HxImageSig2dVec3Double ArithImageSigTypeDouble; 00038 00039 HxImageSig2dVec3Double(); 00040 00041 enum { ID = SIG_ID(2, 3, REAL_VALUE, sizeof(double) << 3) }; 00042 }; 00043 00044 template<> 00045 struct HxClassName<HxImageSig2dVec3Double> { 00046 operator HxString() { 00047 static HxImageSig2dVec3Double sig; 00048 return sig.toString(); 00049 } 00050 }; 00051 00052 inline 00053 HxImageSig2dVec3Double::HxImageSig2dVec3Double() 00054 { 00055 _imageDimensionality = 2; 00056 _pixelDimensionality = 3; 00057 _pixelType = REAL_VALUE; 00058 _pixelPrecision = sizeof(double) << 3; 00059 } 00060 00061 #endif 00062