00001 #ifndef __COHELEM_HPP__ 00002 #define __COHELEM_HPP__ 00003 00004 #include <vector> 00005 00006 #include <boost/array.hpp> 00007 00008 namespace DAPTA { // Define namespace DAPTA 00009 00011 00013 template <typename E> 00014 class CohElem { 00015 public: 00016 typedef typename E::VertexHandle VertexHandle; 00017 typedef E ElementType; 00018 typedef ElementType* ElementHandle; 00019 00020 static const int num_vertices = 2 * ElementType::FaceElementType::num_vertices; 00021 static const int num_adjacents = 2; 00022 00023 CohElem(ElementHandle t1, int f1, ElementHandle t2, int f2); 00024 CohElem() : globalID(0) {;} 00025 ~CohElem() {;} 00026 00027 boost::array<ElementHandle,num_adjacents> elements; 00028 boost::array<int,num_adjacents> face_indices; 00029 00030 std::vector<VertexHandle> vertices(); 00031 00032 int globalID; 00033 private: 00034 }; 00035 00036 } // namespace DAPTA 00037 00038 #include "CohElem.cpp" 00039 00040 #endif
1.5.1