public double GetMass(int currentStage, bool forCoM = false) { if (decoupledInStage >= currentStage) { return(0d); } double mass = forCoM ? baseMassForCoM : baseMass; for (int i = 0; i < resources.Types.Count; ++i) { mass += resources.GetResourceMass(resources.Types[i]); } if (hasVessel == false && isFairing && currentStage > inverseStage) { mass += fairingMass; } else if (hasVessel && isFairing && currentStage <= inverseStage) { mass -= fairingMass; } return(mass); }
public double GetMass(int currentStage, bool forCoM = false) { if (decoupledInStage >= currentStage) { return(0d); } double mass = forCoM ? baseMassForCoM : baseMass; for (int i = 0; i < resources.Types.Count; ++i) { mass += resources.GetResourceMass(resources.Types[i]); } if (postStageMassAdjust != 0.0 && currentStage <= inverseStage) { mass += postStageMassAdjust; } return(mass); }