SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
crvShape.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Scientific Computation Research Center
3  *
4  * This work is open source software, licensed under the terms of the
5  * BSD license as described in the LICENSE file in the top-level directory.
6  */
7 
8 #ifndef CRVSHAPE_H
9 #define CRVSHAPE_H
10 
11 #include "crv.h"
12 #include "crvAdapt.h"
17 namespace crv {
19 bool isBoundaryEntity(apf::Mesh* m, apf::MeshEntity* e);
20 
24  ma::Entity* e);
25 
28 void splitEdges(ma::Adapt* a);
32 int markInvalidEntities(Adapt* a);
33 
35 int getTag(Adapt* a, ma::Entity* e);
37 void setTag(Adapt* a, ma::Entity* e, int tag);
39 void clearTag(Adapt* a, ma::Entity* e);
51  ma::Entity* bdry);
52 
56 int fixLargeBoundaryAngles(Adapt* a);
57 
60 int fixInvalidEdges(Adapt* a);
61 
64 void fixCrvElementShapes(Adapt* a);
65 
67 ma::ShapeHandler* getShapeHandler(ma::Adapt* a);
68 
69 }
70 
71 #endif
int fixInvalidEdges(Adapt *a)
If an edge is flagged as invalid, try and collapse or swap it away.
void splitEdges(ma::Adapt *a)
Split edges marked with ma::SPLIT and place high order nodes using subdivision, see ma::refine...
void fixCrvElementShapes(Adapt *a)
attempts to fix the shape of the elements in a same manner as ma::fixElementShape ...
main file for curved adaptation, see maAdapt.h
bool isBoundaryEntity(apf::Mesh *m, apf::MeshEntity *e)
checks if is a boundary entity
void setTag(Adapt *a, ma::Entity *e, int tag)
set validityTag
Interface to a mesh part.
Definition: apfMesh.h:103
void repositionInteriorWithBlended(ma::Mesh *m, ma::Entity *e)
uses blending to position interior points, based on edge locations
void clearTag(Adapt *a, ma::Entity *e)
reset validityTag
apf::MeshEntity Entity
convenient mesh entity name
Definition: maMesh.h:29
int markInvalidEntities(Adapt *a)
mark invalid entities with validity tag
Extended mesh interface for modification.
Definition: apfMesh2.h:29
int fixLargeBoundaryAngles(Adapt *a)
Take boundary triangles where two edges on the boundary form an angle of 180 (or greater) at a vertex...
ma::ShapeHandler * getShapeHandler(ma::Adapt *a)
get bezier shape handler
int getValidityTag(ma::Mesh *m, ma::Entity *e, ma::Entity *bdry)
get validityTag
int getTag(Adapt *a, ma::Entity *e)
get validityTag
main file for curved element support