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

HxImportPpm.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 HxImportPpm_h
00010 #define HxImportPpm_h
00011 
00012 #include "HxCategories.h"
00013 #include "HxTagList.h"
00014 #include "HxByte.h"
00015 #include "HxVec3Int.h"
00016 
00017 
00018 template<class ArithT>
00019 class HxImportPpm
00020 {
00021 public:
00022     typedef HxTagPixOpIn        DirectionCategory;
00023     typedef HxTagTransInVar     TransVarianceCategory;
00024     typedef HxTag1Phase         PhaseCategory;
00025 
00026                                     HxImportPpm(HxTagList&);
00027 
00028     ArithT                          doIt();
00029 
00030     static HxString                 className();
00031 private:
00032     HxByte*                         _data;
00033 };
00034 
00035 
00036 template<class ArithT>
00037 inline
00038 HxImportPpm<ArithT>::HxImportPpm(HxTagList& tags)
00039 {
00040     _data = HxGetTag<HxByte*>(tags, "dataPtr", ((HxByte*)0));
00041 }
00042 
00043 template<class ArithT>
00044 inline HxString
00045 HxImportPpm<ArithT>::className()
00046 {
00047     static HxString name("importPpm");
00048     return name;
00049 }
00050 
00051 template<class ArithT>
00052 inline ArithT
00053 HxImportPpm<ArithT>::doIt()
00054 {
00055     HxVec3Int p(_data[0], _data[1], _data[2]);
00056     _data += 3;
00057     return p;
00058 }
00059 
00060 #endif

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