| 1067 | |
| 1068 | |
| 1069 | int |
| 1070 | GmshRecorder::sendSelf(int commitTag, Channel &theChannel) |
| 1071 | { |
| 1072 | int length = filename.size(); |
| 1073 | char * string = new char[length]; |
| 1074 | strcpy(string, filename.c_str()); |
| 1075 | int n_eledata = eledata.size(); |
| 1076 | |
| 1077 | ID data(16); |
| 1078 | data(0) = length; |
| 1079 | data(1) = precision; |
| 1080 | data(2) = nodedata.disp; |
| 1081 | data(3) = nodedata.vel; |
| 1082 | data(4) = nodedata.accel; |
| 1083 | data(5) = nodedata.incrdisp; |
| 1084 | data(6) = nodedata.reaction; |
| 1085 | data(7) = nodedata.rayleigh; |
| 1086 | data(8) = nodedata.pressure; |
| 1087 | data(9) = nodedata.unbalanced; |
| 1088 | data(10) = nodedata.mass; |
| 1089 | data(11) = write_binary_mode; |
| 1090 | data(12) = n_eledata; |
| 1091 | data(13) = write_graph_mesh; |
| 1092 | data(14) = write_update_time; |
| 1093 | data(15) = write_ele_updatetime; |
| 1094 | |
| 1095 | ID sizesdata(n_eledata); |
| 1096 | for(int i = 0; i < n_eledata; i++) |
| 1097 | { |
| 1098 | sizesdata(i) = eledata[i].size(); |
| 1099 | } |
| 1100 | |
| 1101 | |
| 1102 | if(theChannel.sendID(this->getDbTag(), commitTag, data) < 0) |
| 1103 | { |
| 1104 | opserr << "GmshRecorder::sendSelf - Problem sending data\n"; |
| 1105 | } |
| 1106 | DEBUGSTREAM << "Sent " << data << endln; |
| 1107 | |
| 1108 | if(theChannel.sendID(this->getDbTag(), commitTag, sizesdata) < 0) |
| 1109 | { |
| 1110 | opserr << "GmshRecorder::sendSelf - Problem sending sizesdata\n"; |
| 1111 | } |
| 1112 | |
| 1113 | Message msg(string, length); |
| 1114 | if( theChannel.sendMsg(this->getDbTag(), commitTag, msg) < 0) |
| 1115 | { |
| 1116 | opserr << "GmshRecorder::sendSelf - Problem sending filename\n"; |
| 1117 | } |
| 1118 | DEBUGSTREAM << "Sent filename=" << filename.c_str() << endln; |
| 1119 | |
| 1120 | |
| 1121 | delete [] string; |
| 1122 | |
| 1123 | for(int i = 0; i < n_eledata; i++) |
| 1124 | { |
| 1125 | int send_how_many = sizesdata(i); |
| 1126 | for(int j = 0; j < send_how_many; j++) |