#ifndef __mgtriangulation_h #define __mgtriangulation_h #ifndef __mgstructure_h #include #endif #ifndef __triangulation_h #include #endif #ifndef __vectorbase_h #include #endif class MGTriangulation : public Triangulation { private: public: MGStructure* mgs; MGTriangulation(int d) : Triangulation(d) { mgindex (); mgs = new MGStructure(*this); } ////////// void reinit(); inline void average(int l, VectorBase& v) const { mgs->average(l,v); } inline void distribute(int l, VectorBase& v) const { mgs->distribute(l,v); } inline void reset(int l, VectorBase& v) const { mgs->reset(l,v); } inline void reset(int l, VectorBase& v, VectorBase& w) const { mgs->reset(l,w); } inline void up(int l, VectorBase& dst, VectorBase& src) const { mgs->up(l,dst,src); } inline void down(int l, VectorBase& dst, const VectorBase& src) const { mgs->down(l,dst,src); } inline int n2(int l) const { return mgs->n2(l); } inline int n4(int l) const { return mgs->n4(l); } inline const LineHang& line_vertex (int l, int nr) const { return mgs->line_vertex(l,nr); } inline const QuadHang& quad_vertex (int l, int nr) const { return mgs->quad_vertex(l,nr); } inline Cell* cell(int l, int nr) const { return mgs->cell(l,nr); } }; #endif