00001 #ifndef AFFINETRIANGLECELLFACTORY_H 00002 #define AFFINETRIANGLECELLFACTORY_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "CellFactoryBase.h" 00007 00008 00009 namespace Sundance 00010 { 00011 00012 using namespace TSF; 00013 using std::string; 00014 00015 using std::ostream; 00016 00017 /** \ingroup MeshBuilding 00018 * Factory class to build affine triangle cells 00019 */ 00020 00021 class AffineTriangleCellFactory : public CellFactoryBase 00022 { 00023 public: 00024 /** construct a factory which will build a triangle with the 00025 * given node array */ 00026 AffineTriangleCellFactory(const TSFArray<int>& nodes) 00027 : CellFactoryBase(nodes) {;} 00028 /** construct a factory which will build a triangle with the given 00029 * three points */ 00030 AffineTriangleCellFactory(int a, int b, int c) 00031 : CellFactoryBase(tuple(a,b,c)) 00032 {;} 00033 00034 /** dtor */ 00035 virtual ~AffineTriangleCellFactory(){;} 00036 00037 /** return reference cell */ 00038 virtual ReferenceCell& refCell() const ; 00039 00040 private: 00041 }; 00042 00043 00044 00045 } 00046 #endif