00001 #ifndef VECTORBASIS_H 00002 #define VECTORBASIS_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "BasisFamily.h" 00007 00008 00009 namespace Sundance 00010 { 00011 00012 using namespace TSF; 00013 using std::string; 00014 00015 using std::ostream; 00016 00017 /** \ingroup LowLevelFE 00018 Base class for 00019 vector-valued basis functions. These will be used for things like 00020 incompressible flow and electromagnetics. 00021 */ 00022 00023 class VectorBasis : public BasisFamilyBase 00024 { 00025 public: 00026 VectorBasis(const string& name, int order, int vectorDim); 00027 virtual ~VectorBasis() {;} 00028 00029 virtual bool isVectorBasis() const {return true;} 00030 virtual int vectorDim() const {return vectorDim_;} 00031 00032 virtual BasisFamilyBase* clone() const = 0; 00033 00034 protected: 00035 int vectorDim_; 00036 }; 00037 00038 00039 } 00040 #endif