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

ISTriStrip.H

Go to the documentation of this file.
00001 
00009 #ifndef TRISTRIP_H
00010 #define TRISTRIP_H
00011 
00012 
00013 // Gluebase includes
00014 #define OUTSIDE_GLUE_CORE
00015 #include <std/hash.H>
00016 
00017 #include "ISVertex.H"
00018 
00019 namespace InSpace {
00020 
00021 class ISMesh;
00022 
00023 
00024 class TriStrip
00025 {
00026  public:
00027   TriStrip(ISMesh *m) {
00028     _mesh = m;
00029   }
00030   
00031   virtual ~TriStrip() {}
00032 
00033   void addVertex(ISVertex *v) {
00034     _verts += v;
00035   }
00036 
00037   ISVertex* lastVert() {
00038     if (_verts.num() >= 1)
00039       return _verts[_verts.num()-1];
00040     return NULL;
00041   }
00042 
00043   ISVertex* lastLastVert() {
00044     if (_verts.num() >= 2)
00045       return _verts[_verts.num()-2];
00046     return NULL;
00047   }
00048   
00049   int numVerts() { return _verts.num(); }
00050 
00051   ISVertex* vertex(int n) {
00052     if ((n>=0) && (n < _verts.num()))
00053       return _verts[n];
00054     else {
00055       cerr << "TriStrip Error: vertex index out of range." << endl;
00056       return NULL;
00057     }
00058   }
00059 
00060  protected:  
00061   ISMesh *_mesh;
00062 
00063   ARRAY<ISVertex*> _verts;
00064 };
00065 
00066 }
00067 #endif
00068 
00069 
00070 

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