Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxImportPackedRgb.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Edo Poll (poll@wins.uva.nl)
00007  */
00008 
00009 #ifndef HxImportPackedRgb_h
00010 #define HxImportPackedRgb_h
00011 
00012 #include "HxCategories.h"
00013 #include "HxTagList.h"
00014 #include "HxVec3Int.h"
00015 
00016 
00017 template<class ArithT>
00018 class HxImportPackedRgb
00019 {
00020 public:
00021     typedef HxTagPixOpIn        DirectionCategory;
00022     typedef HxTagTransInVar     TransVarianceCategory;
00023     typedef HxTag1Phase         PhaseCategory;
00024 
00025                         HxImportPackedRgb(HxTagList&);
00026 
00027     ArithT              doIt();
00028 
00029     static HxString     className();
00030 private:
00031     int*                _data;
00032 };
00033 
00034 
00035 template<class ArithT>
00036 inline
00037 HxImportPackedRgb<ArithT>::HxImportPackedRgb(HxTagList& tags)
00038 {
00039     _data = HxGetTag<int*>(tags, "dataPtr", ((int*)0));
00040 }
00041 
00042 template<class ArithT>
00043 inline HxString
00044 HxImportPackedRgb<ArithT>::className()
00045 {
00046     static HxString name("importPackedRgb");
00047     return name;
00048 }
00049 
00050 template<class ArithT>
00051 inline ArithT
00052 HxImportPackedRgb<ArithT>::doIt()
00053 {
00054     int argb = *_data++;
00055     return HxVec3Int((argb >> 16) & 255, (argb >> 8) & 255, argb & 255);
00056 }
00057 
00058 #endif

Generated on Tue Feb 3 14:18:38 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001