Go to the documentation of this file.00001
00006 #ifndef buildInnerDofs_hh
00007 #define buildInnerDofs_hh
00008
00009 #include "hp3D/space.hh"
00010 #include "hp3D/buildDofsBase.hh"
00011
00012 namespace hp3D {
00013
00014
00015 class Space;
00016
00017
00018
00037 class BuildInnerDofs : public BuildDofsBase {
00038 public:
00040 BuildInnerDofs() {}
00044 BuildInnerDofs(Space& spc) : BuildDofsBase(spc) {}
00045 virtual void operator()(concepts::Hexahedron& cntr,
00046 concepts::TColumn<Real>*& T1);
00047 virtual BuildInnerDofs* clone(Space* spc = 0) const;
00064 virtual bool trunk(uint p, uint q, uint r, const ushort P[3]);
00065 };
00066
00067
00068
00085 class BuildInnerDofsLinTrunk : public BuildInnerDofs {
00086 public:
00088 BuildInnerDofsLinTrunk() {}
00092 BuildInnerDofsLinTrunk(Space& spc) : BuildInnerDofs(spc) {}
00093 virtual BuildInnerDofsLinTrunk* clone(Space* spc = 0) const;
00094 virtual bool trunk(uint p, uint q, uint r, const ushort P[3]);
00095 };
00096
00097
00098
00112 class BuildInnerDofsHypTrunk : public BuildInnerDofs {
00113 public:
00115 BuildInnerDofsHypTrunk() {}
00119 BuildInnerDofsHypTrunk(Space& spc) : BuildInnerDofs(spc) {}
00120 virtual BuildInnerDofsHypTrunk* clone(Space* spc = 0) const;
00121 virtual bool trunk(uint p, uint q, uint r, const ushort P[3]);
00122 };
00123
00124 }
00125
00126 #endif // buildInnerDofs_hh