elem/CohElem.cpp

00001 #include "DAPTA.hpp"
00002 
00003 namespace DAPTA { // Define namespace DAPTA
00004 
00005 /*
00006 CohElem2<V>::CohElem2(ElementHandle t1, int f1, ElementHandle t2, int f2)
00007 Create the cohesive element for a face with 3 vertices, given the face definitions
00008 */
00009 template <typename E>
00010 CohElem<E>::CohElem(ElementHandle t1, int f1, ElementHandle t2, int f2) {
00011    assert(t1 != NULL);
00012    assert(t2 != NULL);
00013 
00014    this->elements.at(0) = t1;
00015    this->elements.at(1) = t2;
00016    this->face_indices.at(0) = f1;
00017    this->face_indices.at(1) = f2;
00018    
00019    globalID = 0;
00020 }
00021 
00022 template <typename E>
00023 std::vector<typename CohElem<E>::VertexHandle> CohElem<E>::vertices() {
00024    typename CohElem<E>::ElementType::FaceElementType face_1 = elements.at(0)->GetFace(face_indices.at(0));
00025    typename CohElem<E>::ElementType::FaceElementType face_2 = elements.at(1)->GetFace(face_indices.at(1));
00026    
00027    std::vector<VertexHandle> vertices;
00028    vertices.resize(num_vertices);
00029    
00030    for(int i=0; i<(num_vertices/2); i++) {
00031       vertices.at(i) = face_1.vertices.at(i);
00032       vertices.at((num_vertices)-i-1) = face_2.vertices.at(i);
00033    }
00034    
00035    return vertices;
00036 }
00037 
00038 } // namespace DAPTA

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