celltuple.h

Go to the documentation of this file.
00001 
00006 #ifndef CELLTUPLE_H
00007 #define CELLTUPLE_H
00008 
00019 template<class Vertex,class Edge,class Face>
00020 class CellTuple{
00021     public:
00022         Vertex* v; 
00023         Edge* e; 
00024         Face* f; 
00027         CellTuple(): v(NULL), e(NULL), f(NULL)
00028         {
00029         }
00030 
00036         CellTuple(Vertex *nv,Edge *ne,Face *nf): v(nv), e(ne), f(nf)
00037         {
00038         }
00039 
00041         CellTuple(const CellTuple& tup) : v(tup.v), e(tup.e), f(tup.f)
00042         {
00043         }
00044 
00046         CellTuple& operator=(const CellTuple& tup){
00047             v=tup.v;
00048             e=tup.e;
00049             f=tup.f;
00050             return *this;
00051         }
00052 
00054         bool operator==(const CellTuple& other) const {
00055           return v == other.v 
00056             &&   e == other.e
00057             &&   f == other.f;
00058         }
00059         bool operator!=(const CellTuple& other) const {
00060           return !operator==(other);
00061         }
00062 
00064         void print(){
00065             std::cout<<"CellTuple:{"<<v<<", "<<e<<", "<<f<<"}"<<std::endl;
00066         }
00067 
00069         void print_detail(){
00070             std::cout<<"CellTuple:{"<<*v<<*e<<*f<<"}"<<std::endl;
00071         }
00072 };
00073 
00075 typedef CellTuple<class BezierVertex,class BezierEdge,class BezierTriangle> BezierTuple;
00076 
00078 typedef CellTuple<class BoundaryVertex,class BoundaryEdge,class BoundaryFace> BoundaryTuple;
00079 
00080 #endif /* CELLTUPLE_H */

Generated on Mon May 24 09:53:30 2010 for TUMBLE by  doxygen 1.5.2