So I am confused.
On my mk2 I an recoding. I have this which will spawn and eva guy. but the Y value of the loaction does not seem to do anything? So I raised the mesh to be at ground level. Fixed that.
But then on the eva. He is above the ground. And the touchdown points do not seem to do anything
eva guy. The set TDVTXStuff is getting called here:
void LEVA::SetTDVTXStuff()
{
double x_target = -0.5;
double stiffness = (-1) * (ASTROMASS * G) / (3 * x_target);
double damping = 0.9 * (2 * sqrt(ASTROMASS * stiffness));
double ro = 0.3;
double Height_From_Ground = -.9;
for (int i = 0; i < ntdvtx; i++)
{
tdvtx.damping = damping;
tdvtx.mu = 3;
tdvtx.mu_lng = 3;
tdvtx.stiffness = stiffness;
}
tdvtx[0].pos.x = cos(30 * RAD) * ro;
tdvtx[0].pos.y = -Height_From_Ground;
tdvtx[0].pos.z = -sin(30 * RAD) * ro;
tdvtx[1].pos.x = 0;
tdvtx[1].pos.y = -Height_From_Ground;
tdvtx[1].pos.z = 1 * ro;
tdvtx[2].pos.x = -cos(30 * RAD) * ro;
tdvtx[2].pos.y = -Height_From_Ground;
tdvtx[2].pos.z = -sin(30 * RAD) * ro;
SetTouchdownPoints(tdvtx, ntdvtx);
}
and the mk2 spawn eva.
I hope someone can see what is going on
On my mk2 I an recoding. I have this which will spawn and eva guy. but the Y value of the loaction does not seem to do anything? So I raised the mesh to be at ground level. Fixed that.
But then on the eva. He is above the ground. And the touchdown points do not seem to do anything
eva guy. The set TDVTXStuff is getting called here:
void LEVA::clbkSetClassCaps(FILEHANDLE cfg){ SetTDVTXStuff();void LEVA::SetTDVTXStuff()
{
double x_target = -0.5;
double stiffness = (-1) * (ASTROMASS * G) / (3 * x_target);
double damping = 0.9 * (2 * sqrt(ASTROMASS * stiffness));
double ro = 0.3;
double Height_From_Ground = -.9;
for (int i = 0; i < ntdvtx; i++)
{
tdvtx.damping = damping;
tdvtx.mu = 3;
tdvtx.mu_lng = 3;
tdvtx.stiffness = stiffness;
}
tdvtx[0].pos.x = cos(30 * RAD) * ro;
tdvtx[0].pos.y = -Height_From_Ground;
tdvtx[0].pos.z = -sin(30 * RAD) * ro;
tdvtx[1].pos.x = 0;
tdvtx[1].pos.y = -Height_From_Ground;
tdvtx[1].pos.z = 1 * ro;
tdvtx[2].pos.x = -cos(30 * RAD) * ro;
tdvtx[2].pos.y = -Height_From_Ground;
tdvtx[2].pos.z = -sin(30 * RAD) * ro;
SetTouchdownPoints(tdvtx, ntdvtx);
}
and the mk2 spawn eva.
SpawnEVA(void){ { VESSELSTATUS2 vs; memset(&vs, 0, sizeof(vs)); vs.version = 2; GetStatusEx(&vs); OBJHANDLE EVAGUY; vs2.vrot.x = 0.9; vs.status = 1; // Landed /* Calculate degrees / meter */ double planetRadius = oapiGetSize(GetSurfaceRef()); double metersPerDegree = (planetRadius * 2 * PI) / 360; VECTOR3 rotatedPosition; // Holds the airlock position after being converted to horizon frame HorizonRot(_V(-6.6,0, 0), rotatedPosition); /* Update the position of the MMU vessel to be at the airlock */ vs.surf_lat += (rotatedPosition.z / metersPerDegree) * RAD; vs.surf_lng += (rotatedPosition.x / metersPerDegree) * RAD; // else { // pParentVessel->Local2Rel(_V(4, 0, 1.5), vs.rpos); // Convert the airlock position to relative coords // } EVAGUY = oapiCreateVesselEx("Eva_1", "2016SEVASOLIDRED", &vs); // do we need apostrophes "" ? VESSEL2* EVAGUY_vessel = (VESSEL2*)oapiGetVesselInterface(EVAGUY); // vessel interface if needed, delete line if not eva1 = 1; // SetMeshVisibilityMode(mesh_EVA1, MESHVIS_NEVER); /* Create MMU Vessel - ensure vessel state changes are made *before* this point */ //auto mmuVessel = oapiCreateVesselEx(mmuName, "oMMU", &vesselStatus); //oMMU_MMU* newMMU = static_cast<oMMU_MMU*>(oapiGetVesselInterface(mmuVessel)); // Instantiate the new MMU // newMMU->setMMUData(mCrew[crewIndex]); // Pass crew data along // RemoveCrew(crewIndex); // Set camera / input focus on the new MMU vessel if requested // if (setFocus) { // oapiSetFocusObject(mmuVessel); // } }}I hope someone can see what is going on
