00001 /* 00002 * Copyright 2015 Scientific Computation Research Center 00003 * 00004 * This work is open source software, licensed under the terms of the 00005 * BSD license as described in the LICENSE file in the top-level directory. 00006 */ 00007 00008 #ifndef CRVSHAPE_H 00009 #define CRVSHAPE_H 00010 00011 #include "crv.h" 00012 #include "crvAdapt.h" 00017 namespace crv { 00019 bool isBoundaryEntity(apf::Mesh* m, apf::MeshEntity* e); 00020 00023 void repositionInteriorWithBlended(ma::Mesh* m, 00024 ma::Entity* e); 00025 00028 void splitEdges(ma::Adapt* a); 00032 int markInvalidEntities(Adapt* a); 00033 00035 int getTag(Adapt* a, ma::Entity* e); 00037 void setTag(Adapt* a, ma::Entity* e, int tag); 00039 void clearTag(Adapt* a, ma::Entity* e); 00050 int getValidityTag(ma::Mesh* m, ma::Entity* e, 00051 ma::Entity* bdry); 00052 00056 int fixLargeBoundaryAngles(Adapt* a); 00057 00060 int fixInvalidEdges(Adapt* a); 00061 00064 void fixCrvElementShapes(Adapt* a); 00065 00067 ma::ShapeHandler* getShapeHandler(ma::Adapt* a); 00068 00069 } 00070 00071 #endif