base2d.h

Go to the documentation of this file.
00001 #ifndef __base2d_h
00002 #define __base2d_h
00003 
00004 #include  "base.h"
00005 #include  "gascoigne.h"
00006 
00007 /**************************************************/
00008 
00009 namespace Gascoigne
00010 {
00011 class Base2d : public Base
00012 {
00013  protected:
00014 
00015   mutable DoubleVector                N;
00016   mutable std::vector<Vertex2d>       DN;
00017 
00018   mutable Vertex2d  bn, bt;
00019 
00020  public:
00021   
00022   const Vertex2d*  normal2d() const { return &bn;}
00023   const Vertex2d*  tangent2d() const { return &bt;}
00024 
00025   void point_boundary(int ie, const Vertex1d& s1) const
00026     {
00027       Vertex2d s;
00028       if     (ie==0)      
00029         {
00030           s.x() = s1.x(); s.y() = 0.;     
00031           bn.x() =  0.; bn.y() = -1.;
00032           bt.x() =  1.; bt.y() =  0.;
00033         }
00034       else if(ie==1)      
00035         {
00036           s.x() = 1.    ; s.y() = s1.x(); 
00037           bn.x() =  1.; bn.y() =  0.;
00038           bt.x() =  0.; bt.y() =  1.;
00039         }
00040       else if(ie==2)      
00041         {
00042           s.x() = s1.x(); s.y() = 1.;     
00043           bn.x() =  0.; bn.y() =  1.;
00044           bt.x() = -1.; bt.y() =  0.;
00045         }
00046       else                
00047         {
00048           s.x() = 0.    ; s.y() = s1.x(); 
00049           bn.x() = -1.; bn.y() =  0.;
00050           bt.x() =  0.; bt.y() = -1.;
00051         }
00052       point(s);
00053     }
00054   
00055 };
00056 }
00057 
00058 #endif

Generated on Thu Sep 14 10:34:35 2006 for Gascoigne by  doxygen 1.4.7