point-ref.h

Go to the documentation of this file.
00001 // Copyright 2007, Massachusetts Institute of Technology.
00002 // The use of this code is permitted for research only. There is
00003 // absolutely no warranty for this software.
00004 //
00005 // Author: John Lee (jjl@mit.edu)
00006 //
00007 
00008 #ifndef POINT_SET_POINT_REF_H
00009 #define POINT_SET_POINT_REF_H
00010 
00011 #include "point_set/point-set-list.h"
00012 #include "point_set/feature.h"
00013 
00014 namespace libpmk {
00015 
00016 class PointSetList;
00017 
00019 
00034 class PointRef {
00035  public:
00037    PointRef(const PointSetList* data, int feature_index);
00038 
00040    PointRef(const PointSetList* data, int which_point_set, int which_point);
00041 
00043 
00050    PointRef(const PointSetList* data, int feature_index,
00051             int which_point_set, int which_point);
00052 
00054    const Feature& GetFeature() const;
00055 
00057 
00060    int GetWhichPointSet() const;
00061    
00063 
00066    int GetWhichPoint() const;
00067    
00070    int GetFeatureIndex() const;
00071 
00072  private:
00073    const PointSetList* data_;
00074 
00075    // References a particular point.
00076    unsigned int feature_index_;
00077 
00078    // These two variables combined also reference a particular point,
00079    // but we store both representations for ease of use.
00080    unsigned short int which_point_set_;
00081    unsigned short int which_point_;
00082 };
00083 }  // namespace libpmk
00084 
00085 #endif  // POINT_SET_POINT_REF_H

Generated on Wed May 2 11:17:12 2007 for libpmk by  doxygen 1.5.1