• Main Page
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

/export/development/ViennaGrid/release/ViennaGrid-1.0.0/viennagrid/topology/line.hpp

Go to the documentation of this file.
00001 #ifndef VIENNAGRID_TOPOLOGY_LINE_HPP
00002 #define VIENNAGRID_TOPOLOGY_LINE_HPP
00003 
00004 /* =======================================================================
00005    Copyright (c) 2011, Institute for Microelectronics,
00006                        Institute for Analysis and Scientific Computing,
00007                        TU Wien.
00008 
00009                             -----------------
00010                      ViennaGrid - The Vienna Grid Library
00011                             -----------------
00012 
00013    Authors:      Karl Rupp                           rupp@iue.tuwien.ac.at
00014                  Josef Weinbub                    weinbub@iue.tuwien.ac.at
00015                
00016    (A list of additional contributors can be found in the PDF manual)
00017 
00018    License:      MIT (X11), see file LICENSE in the base directory
00019 ======================================================================= */
00020 
00021 #include "viennagrid/forwards.h"
00022 #include "viennagrid/topology/point.hpp"
00023 
00028 namespace viennagrid
00029 {
00031   template <>
00032   struct simplex_tag<1>
00033   {
00034     enum { dim = 1 };
00035     static std::string name() { return "Line"; }
00036   };
00037 
00038 
00039   namespace topology
00040   {
00041 
00042     //Line:
00044     template <>
00045     struct bndcells<simplex_tag<1>, 0>
00046     {
00047       typedef point_tag             tag;
00048 
00049       enum{ num = 2 };     //2 vertices
00050     };
00051 
00052   }  
00053   
00054 
00055   //for compatibility: allow hypercube<1> to be used as line_tag as well:
00057   template <>
00058   struct hypercube_tag<1>
00059   {
00060     enum { dim = 1 };
00061     static std::string name() { return "Line"; }
00062   };
00063 
00064 
00065   namespace topology
00066   {
00067 
00068     //Line:
00070     template <>
00071     struct bndcells<hypercube_tag<1>, 0>
00072     {
00073       typedef point_tag             tag;
00074 
00075       enum{ num = 2 };     //2 vertices
00076     };
00077 
00078   }  
00079 
00080 }
00081 
00082 #endif
00083 

Generated on Wed Sep 14 2011 19:21:30 for ViennaGrid by  doxygen 1.7.1