// $Id: face.h,v 1.1.1.1 2000/11/02 08:47:16 fritzi Exp $ // This file is part of the DEAL Library // DEAL is Copyright(1995) by // Roland Becker, Guido Kanschat, Franz-Theo Suttmeier #ifndef __face_h #define __face_h #ifndef __error_h #include #endif class Cell; class Vertex; /* CLASS Face */ class Face { protected: int first, direction; Face() : first(-1), direction(0) {} public: ////////// virtual int numeric_index(int ch, int i) const; ////////// virtual void adjust(const Vertex*, const Vertex*) = 0; ////////// virtual int _adjust(const Vertex*, const Vertex*) = 0; ////////// void adjust() { first = 0; direction = 1; } ////////// virtual Cell* child(unsigned) const; ////////// virtual Vertex* _vertex(unsigned) const = 0; ////////// virtual Vertex* vertex(unsigned) const = 0; ////////// virtual Vertex* sec_vertex(unsigned) const; ////////// virtual unsigned n_prime_vertices() const = 0; ////////// virtual unsigned n_sec_vertices() const; ////////// virtual bool refined() const; ////////// virtual bool double_refined() const; ////////// virtual unsigned nchildren() const; ////////// virtual int neighbour_number(unsigned) const; ////////// typedef enum { ptface, lineface, triface, quadface } FaceType; ////////// virtual FaceType type() const = 0; ////////// virtual const char* name() const = 0; }; ////////// typedef enum { face_normal = 0, face_fulltop = 1, face_numeric = 2, face_norecursion = 4 } FaceQual; #endif