00001
00002
00003
00004
00005
00006 #ifndef __CHARM_FEM_ADAPT_LOCK_H
00007 #define __CHARM_FEM_ADAPT_LOCK_H
00008
00009 #include "charm-api.h"
00010 #include "ckvector3d.h"
00011 #include "fem.h"
00012 #include "fem_mesh.h"
00013 #include "fem_adapt_new.h"
00014
00015 class femMeshModify;
00016
00017 class FEM_AdaptL : public FEM_Adapt {
00018 public:
00019 FEM_AdaptL() {
00020 theMesh = NULL; theMod = NULL;
00021 }
00022
00024 FEM_AdaptL(FEM_Mesh *m, femMeshModify *fm) { theMesh = m; theMod = fm; }
00025
00026 int lockNodes(int *, int *, int, int *, int);
00027 int unlockNodes(int *, int *, int, int *, int);
00028 int edge_flip(int n1, int n2);
00029 int edge_bisect(int n1, int n2);
00030 int vertex_remove(int n1, int n2);
00031 int edge_contraction(int n1, int n2);
00032 int edge_contraction_help(int *e1P, int *e2P, int n1, int n2, int e1_n1,
00033 int e1_n2, int e1_n3, int e2_n1, int e2_n2,
00034 int e2_n3, int n3, int n4);
00035 };
00036
00037 #endif