mesh/MeshTraits.hpp

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

Generated on Tue May 29 17:13:48 2007 for DAPTA by  doxygen 1.5.1