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 };