00001 00005 class BoundaryStruct : public BoundaryMesh 00006 00007 { 00008 int nsd,nen; 00009 Ptv(int) N; 00010 00011 void elmIndices (const int, Ptv(int))& const; 00012 void nodeIndices (const int, Ptv(int))& const; 00013 int boundIndices (const int, Ptv(int))& const; 00014 00015 int elmNumber (const Ptv(int))& const; 00016 int nodeNumber (const Ptv(int))& const; 00017 int boundNumber (const Ptv(int)&, const int) const; 00018 00019 public: 00020 00021 BoundaryStruct (const GridFE&, const Ptv(int))&; 00022 ~BoundaryStruct () {} 00023 00024 virtual int getNoElms () const; 00025 virtual int getNoNodes () const; 00026 virtual int getNoBounds () const; 00027 00028 virtual int getNoElmNodes (const int) const { return nen; } 00029 virtual int getNoNodeElms (const int) const; 00030 00031 virtual int getNoBoundNodes (const int) const { return pow_int(2,nsd-1); } 00032 virtual int getNoNodeBounds (const int) const; 00033 00034 virtual int getNoElmBounds (const int) const { return 2*nsd; } 00035 virtual int getNoBoundElms (const int) const; 00036 00037 virtual bool nodeOnElm (const int, const int) const; 00038 virtual bool nodeOnBound (const int, const int) const; 00039 virtual bool boundOnElm (const int, const int) const; 00040 00041 virtual int getElmNodes (const int, VecSimplest(int))& const; 00042 virtual int getNodeElms (const int, VecSimplest(int))& const; 00043 00044 virtual int getBoundNodes (const int, VecSimplest(int))& const; 00045 virtual int getNodeBounds (const int, VecSimplest(int))& const; 00046 00047 virtual int getElmBounds (const int, VecSimplest(int))& const; 00048 virtual int getBoundElms (const int, VecSimplest(int))& const; 00049 }; 00050 00051