Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

PtCloud.H

Go to the documentation of this file.
00001 
00010 #ifndef PTCLOUD_H
00011 #define PTCLOUD_H
00012 
00013 
00014 #include <assert.h>
00015 #include "Color.H"
00016 
00017 // Gluebase includes
00018 #define OUTSIDE_GLUE_CORE
00019 #include <mlib/points.H>
00020 #include <std/list.H>
00021 
00022 namespace InSpace {
00023 
00024 class PtCloud
00025 {
00026  public:
00027 
00028   PtCloud() {};
00029   virtual ~PtCloud() {};
00030 
00031   virtual int num() { return _points.num(); }
00032 
00033   virtual Wpt point(int n) {
00034     assert(n < _points.num());
00035     return _points[n]; 
00036   }
00037 
00038   virtual Wvec norm(int n) {
00039     assert (n < _norms.num());
00040     return _norms[n];
00041   }
00042 
00043   virtual Color color(int n) {
00044     assert (n < _colors.num());
00045     return _colors[n];
00046   }
00047 
00048   virtual void addPt(Wpt p, Wvec n, Color c) {
00049     _points += p;
00050     _norms += n;
00051     _colors += c;
00052   }
00053 
00054  protected:
00055 
00056   Wpt_list     _points;
00057   ARRAY<Wvec>  _norms;
00058   ARRAY<Color> _colors;
00059 
00060 };
00061 
00062 }
00063 #endif
00064 

Generated on Thu Jul 8 15:19:29 2004 for inspace by doxygen 1.3.4