vtf-logo

shells/driverCC/BoundaryCFunctor.h

Go to the documentation of this file.
00001 // -*- C++ -*- 
00002 //
00003 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00004 //
00005 //                                   Fehmi Cirak
00006 //                        California Institute of Technology
00007 //                           (C) 2004 All Rights Reserved
00008 //
00009 // <LicenseText>
00010 //
00011 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00012 //
00013 #ifndef BOUNDARYCFUNCTOR_H
00014 #define BOUNDARYCFUNCTOR_H
00015 #include "../fem/definitions.h"
00016 
00017 #include <functional>
00018 #include <utility>
00019 
00020 
00021 namespace shells {
00022     class BoundaryCFunctor;
00023     class BoundaryCBoxFunctor;  
00024     struct SElementS; 
00025     struct SEdgeS;
00026 } 
00027 
00028 
00029 
00030 class shells::BoundaryCFunctor : 
00031     public std::unary_function<shells::SEdgeS*, void > {
00032 public:
00033     BoundaryCFunctor(unsigned bcType[3]){
00034         _bcType[0] = bcType[0];
00035         _bcType[1] = bcType[1];
00036         _bcType[2] = bcType[2]; 
00037     }
00038 
00039     ~BoundaryCFunctor(){}
00040     void operator()(shells::SEdgeS* boundaryEdge);
00041     
00042 private:
00043     int     _bcType[3];
00044 };
00045 
00046 
00047 class shells::BoundaryCBoxFunctor :
00048         public std::unary_function<shells::SEdgeS*, void> {
00049 public:
00050     BoundaryCBoxFunctor(unsigned bcType[3], double low[3], double upp[3]) :_applyBc(bcType) {
00051         for (unsigned i=0; i<3; ++i) {
00052            _low[i] = low[i];
00053            _upp[i] = upp[i];
00054         }       
00055     }
00056   
00057     ~BoundaryCBoxFunctor(){}
00058      void operator()(shells::SEdgeS* boundaryEdge);
00059 
00060 private:
00061    BoundaryCFunctor     _applyBc;
00062    double               _low[3];
00063    double               _upp[3];        
00064 };  
00065 
00066 #endif

Generated on Fri Aug 24 13:00:24 2007 for SFC Thin-Shell Finite Element Solver by  doxygen 1.4.7