00001 #ifndef AFFINEQUADCELLFACTORY_H 00002 #define AFFINEQUADCELLFACTORY_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 quad cells 00019 */ 00020 00021 class AffineQuadCellFactory : public CellFactoryBase 00022 { 00023 public: 00024 /** construct a factory which will build a quad with the 00025 * given node array */ 00026 AffineQuadCellFactory(const TSFArray<int>& nodes) 00027 : CellFactoryBase(nodes) {;} 00028 /** construct a factory which will build a quad with the given 00029 * four points */ 00030 AffineQuadCellFactory(int a, int b, int c, int d) 00031 : CellFactoryBase(tuple(a,b,c,d)) 00032 {;} 00033 00034 /** dtor */ 00035 virtual ~AffineQuadCellFactory(){;} 00036 00037 /** return reference cell */ 00038 virtual ReferenceCell& refCell() const ; 00039 00040 private: 00041 }; 00042 00043 00044 00045 } 00046 #endif