BODY = new MGROUP_TRANSLATE(0, BGrp4, 13, _V(0, -.7, 0));
if (BODY_check == SPANEL_UP) {
CARGO1ATTACHMENT.y = (.38 - (.7 * BODY_proc));
SetAttachmentParams(CARGO1, CARGO1ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip[0].y = (.39 - (.7 * BODY_proc));
CARGO2ATTACHMENT.y = (.158 - (.7 * BODY_proc));
SetAttachmentParams(CARGO2, CARGO2ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip1[0].y = (.158 - (.7 * BODY_proc));
CARGO3ATTACHMENT.y = (.39 - (.7 * BODY_proc));
SetAttachmentParams(CARGO3, CARGO3ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip2[0].y = (.39 - (.7 * BODY_proc));
}
if (BODY_check == SPANEL_DOWN) {
CARGO1ATTACHMENT.y = (.38 - (.7 * BODY_proc));
SetAttachmentParams(CARGO1, CARGO1ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip[0].y = (.39 - (.7 * BODY_proc));
CARGO2ATTACHMENT.y = (.158 - (.7 * BODY_proc));
SetAttachmentParams(CARGO2, CARGO2ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip1[0].y = (.158 - (.7 * BODY_proc));
CARGO3ATTACHMENT.y = (.39 - (.7 * BODY_proc));
SetAttachmentParams(CARGO3, CARGO3ATTACHMENT, _V(0, -1, 0), _V(0, 0, 1));
body_tip2[0].y = (.39 - (.7 * BODY_proc));
//
}
bodychangemesh.y = (0 + (.7 * BODY_proc));
difference = bodychangemesh - bodymesh;
if (bodychangemesh.y != bodymesh.y) {
ShiftMesh(10, difference);
//ShiftMesh(2, difference);
//ShiftMesh(3, difference);
ShiftMesh(4, difference);
ShiftMesh(5, difference);
ShiftMesh(6, difference);
ShiftMesh(7, difference);
ShiftMesh(8, difference);
//ShiftMesh(9, difference);
}
//ShiftMesh(10, bodymesh);
bodymesh = bodychangemesh;
//difference = bodychangemesh;
sprintf(oapiDebugString(), "bodymesh y %2.4f bodychange %2.4f diff %2.4f ", bodymesh.y, bodychangemesh.y, difference.y);
}
if (BODY_check == SPANEL_DOWN) {
//
bodychangemesh.y = (0 - (.7 * BODY_proc));
difference = bodychangemesh - bodymesh;
//difference1 = bodychangemesh - bodymesh;
//difference2 = bodychangemesh - bodymesh;
//difference3 = bodychangemesh - bodymesh;
if (bodychangemesh.y != bodymesh.y) {
ShiftMesh(10, difference);
//ShiftMesh(2, difference);
//ShiftMesh(3, difference);
ShiftMesh(4, difference);
ShiftMesh(5, difference);
ShiftMesh(6, difference);
ShiftMesh(7, difference);
ShiftMesh(8, difference);
//ShiftMesh(9, difference);
}
//ShiftMesh(10, bodymesh);
bodymesh = bodychangemesh;
//difference = bodychangemesh;
sprintf(oapiDebugString(), "bodymesh y %2.4f bodychange %2.4f diff %2.4f ", bodymesh.y, bodychangemesh.y,difference.y);
}
bodychangemesh.y = (0 - ( .7*BODY_proc));
//difference = bodychangemesh - bodymesh;
ShiftMesh(10, bodychangemesh);
//ShiftMesh(2, difference);
//ShiftMesh(3, difference);
ShiftMesh(4, bodychangemesh);
ShiftMesh(5, bodychangemesh);
ShiftMesh(6, bodychangemesh);
ShiftMesh(7, bodychangemesh);
ShiftMesh(8, bodychangemesh);
bodymesh = bodychangemesh;
void FLEXUACS::clbkSaveState(FILEHANDLE scn) {
char cbuf[256];
//UACS
mdlAPI.clbkSaveState(scn);
sprintf(cbuf, "%0.4f ", BODY_proc);
oapiWriteScenario_string(scn, "BODY", cbuf);
sprintf(cbuf, "%d %0.4f", SPANEL_status, SPANEL_proc);
oapiWriteScenario_string(scn, "SPANEL", cbuf);
sprintf(cbuf, "%d %0.4f", HGA_status, HGA_proc);
oapiWriteScenario_string(scn, "HGA", cbuf);
sprintf(cbuf, "%0.4f %0.4f", hga_azimuth_proc, hga_elevation_proc);
//sprintf(cbuf, "%0.4f ", hga_elevation_proc);
oapiWriteScenario_string(scn, "EARTHTRACKING", cbuf);
sprintf(cbuf, "%0.4f %0.4f %0.4f %0.4f %0.4f %0.4f ", arm_sy, arm_sp, arm_ep, arm_wp, arm_wy, arm_wr);
oapiWriteScenario_string(scn, "ARM_STATUS", cbuf);
sprintf(cbuf, "%0.4f ", CAMERAROTATE_proc);
oapiWriteScenario_string(scn, "CAMROT", cbuf);
sprintf(cbuf, "%0.4f ", CAMERAELEVATE_proc);
oapiWriteScenario_string(scn, "CAMELE", cbuf);
sprintf(cbuf, "%d %0.4f", CAM_status, CAMERA_proc);
oapiWriteScenario_string(scn, "CAM", cbuf);
sprintf(cbuf, "%d %0.4f", DRILL_status, DRILL_proc);
oapiWriteScenario_string(scn, "DRILL", cbuf);
double hga_azimuth_proc;
double hga_elevation_proc;
hga_elevation_proc = .25;
hga_azimuth_proc = 0;
FLEX:FLEXUACS
BODY 0.0000
SPANEL 1 1.0000
HGA 0 0.0000
EARTHTRACKING 622033369435602237596528279552.0000 0.9653
ARM_STATUS 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
CAMROT 0.0000
CAMELE 0.0000
CAM 0 0.0000
DRILL 1 1.0000
STATUS Landed Moon
POS 1.2858009 7.3634759
HEADING 6.19
ALT 1.530
AROT 83.926 7.725 91.123
AFCMODE 7
NAVFREQ 0 0
XPDR 468
END