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