00001 #ifndef __MESHTRAITS_HPP__ 00002 #define __MESHTRAITS_HPP__ 00003 00004 #include <boost/shared_ptr.hpp> 00005 00006 #include "elem/Tetra4.hpp" 00007 #include "elem/Tri3.hpp" 00008 #include "tools/ElementConList.hpp" 00009 #include "parallel/RCB.hpp" 00010 00011 namespace DAPTA { // Define namespace DAPTA 00012 00014 00017 class Tetra4MeshTraits { 00018 public: 00019 typedef Vertex3d VertexType; 00020 typedef VertexType* VertexHandle; 00021 00022 typedef Tetra4<VertexType> ElementType; 00023 typedef ElementType* ElementHandle; 00024 00025 typedef ElementType::CohElementType CohElementType; 00026 typedef ElementType::CohElementHandle CohElementHandle; 00027 00028 typedef ElementType::FaceElementType FaceElementType; 00029 typedef ElementType::FaceElementHandle FaceElementHandle; 00030 00031 typedef ElementType::EdgeElementType EdgeElementType; 00032 typedef ElementType::EdgeElementHandle EdgeElementHandle; 00033 00034 typedef ElementConList ElementConListType; 00035 typedef ElementConList* ElementConListHandle; 00036 00037 typedef RCBDecomposer<VertexType> DomainDecomposerType; 00038 typedef DomainDecomposerType* DomainDecomposerHandle; 00039 private: 00040 }; 00041 00043 00046 class Tri3MeshTraits { 00047 public: 00048 typedef Vertex3d VertexType; 00049 typedef VertexType* VertexHandle; 00050 00051 typedef Tri3<VertexType> ElementType; 00052 typedef ElementType* ElementHandle; 00053 00054 typedef ElementType::CohElementType CohElementType; 00055 typedef ElementType::CohElementHandle CohElementHandle; 00056 00057 typedef ElementType::FaceElementType FaceElementType; 00058 typedef ElementType::FaceElementHandle FaceElementHandle; 00059 00060 typedef ElementType::EdgeElementType EdgeElementType; 00061 typedef ElementType::EdgeElementHandle EdgeElementHandle; 00062 00063 typedef ElementConList ElementConListType; 00064 typedef ElementConList* ElementConListHandle; 00065 00066 typedef RCBDecomposer<VertexType> DomainDecomposerType; 00067 typedef DomainDecomposerType* DomainDecomposerHandle; 00068 private: 00069 }; 00070 00071 } // namespace DAPTA 00072 00073 #endif
1.5.1