00001 #ifndef AFFINELINECELLFACTORY_H 00002 #define AFFINELINECELLFACTORY_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "CellFactoryBase.h" 00007 00008 namespace Sundance 00009 { 00010 00011 using namespace TSF; 00012 using std::string; 00013 00014 using std::ostream; 00015 00016 /** \ingroup MeshBuilding 00017 * Factory class to build affine line cells 00018 */ 00019 00020 class AffineLineCellFactory : public CellFactoryBase 00021 { 00022 public: 00023 /** Construct an affine line with a given set of nodes */ 00024 AffineLineCellFactory(const TSFArray<int>& nodes) 00025 : CellFactoryBase(nodes){;} 00026 /** Construct an affine line between two points */ 00027 AffineLineCellFactory(int a, int b) 00028 : CellFactoryBase(tuple(a,b)) {;} 00029 /** dtor */ 00030 virtual ~AffineLineCellFactory(){;} 00031 00032 /** return reference cell (which will be an AffineLineReferenceCell) */ 00033 virtual ReferenceCell& refCell() const ; 00034 00035 private: 00036 }; 00037 00038 00039 00040 } 00041 #endif