00001 
00002 
00003 #include "charm++.h"
00004 
00005 
00006 
00007 class nodeMsg : public CMessage_nodeMsg {
00008  public:
00009   int idx;
00010   double coord[3];
00011 };
00012 
00013 
00014 class nodeVoteMsg : public CMessage_nodeVoteMsg {
00015  public:
00016   double oldCoord[3];
00017   double newCoord[3];
00018 };
00019 
00020 
00021 class faceMsg : public CMessage_faceMsg {
00022  public:
00023   int idx;
00024   double nodeCoords[3][3];
00025 };
00026 
00027 
00028 class updateMsg : public CMessage_updateMsg {
00029  public:
00030   int idx;
00031   objRef oldval, newval;
00032 };
00033 
00034 
00035 class refMsg : public CMessage_refMsg {
00036  public:
00037   int idx, cid;
00038 };
00039 
00040 
00041 class intMsg : public CMessage_intMsg {
00042  public:
00043   int anInt;
00044 };
00045 
00046 
00047 class doubleMsg : public CMessage_doubleMsg {
00048  public:
00049   int idx;
00050   double aDouble;
00051 };
00052 
00053 class meshMsg : public CMessage_meshMsg {
00054  public:
00055   int numElements, numGhosts, idxOffset, numSurFaces;
00056   int *conn;
00057   int *gid;
00058   int *surface;
00059 };
00060 
00061 class coordMsg : public CMessage_coordMsg {
00062  public:
00063   int numNodes, numElements, numFixed;
00064   double *coords;
00065   int *fixedNodes;
00066 };
00067 
00068 class threeNodeMsg : public CMessage_threeNodeMsg {
00069  public:
00070   double coords[3][3];
00071 };
00072 
00073 class splitResponse : public CMessage_splitResponse {
00074  public:
00075   int success, ance, bnce;
00076   double newNode[3];
00077 };
00078 
00079 class flip23request : public CMessage_flip23request {
00080  public:
00081   node a, b, c, d;
00082   elemRef acd, bcd, requester;
00083   int requestee;
00084 };
00085 
00086 class flip23response : public CMessage_flip23response {
00087  public:
00088   node e;
00089   elemRef abe, acde, requester;
00090   int requestee;
00091 };
00092 
00093 class flip32request : public CMessage_flip32request {
00094  public:
00095   node a, b, d, e;
00096   elemRef abe, bce, bcde, requester;
00097   int requestee;
00098 };
00099 
00100 class flip32response : public CMessage_flip32response {
00101  public:
00102   node c;
00103   elemRef acd, bcd, bce;
00104 };
00105 
00106 class LEsplitMsg : public CMessage_LEsplitMsg {
00107  public:
00108   int idx;
00109   double targetVol;
00110   elemRef root, parent, newRootElem, newElem, targetElem;
00111   nodeRef newNodeRef;
00112   node newNode, a, b;
00113 };
00114 
00115 class LEsplitResult : public CMessage_LEsplitResult {
00116  public:
00117   elemRef newElem1, newElem2;
00118   int status;
00119 };
00120 
00121 class lockMsg : public CMessage_lockMsg {
00122  public:
00123   int idx;
00124 };
00125 
00126 class lockResult : public CMessage_lockResult {
00127  public:
00128   int result;
00129 };
00130 
00131 class lockArcMsg : public CMessage_lockArcMsg {
00132  public:
00133   int idx;
00134   double prio;
00135   elemRef prioRef, parentRef, destRef;
00136   node a, b;
00137 };