int AltitudeCalculator::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: newRoverAltitude((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
        case 1: newRoverPressure((*reinterpret_cast< ulong(*)>(_a[1]))); break;
        case 2: newRoverTilt((*reinterpret_cast< double(*)>(_a[1])),(*reinterpret_cast< double(*)>(_a[2]))); break;
        case 3: newRoverPitch((*reinterpret_cast< double(*)>(_a[1]))); break;
        case 4: newRoverRoll((*reinterpret_cast< double(*)>(_a[1]))); break;
        case 5: newRoverTemperature((*reinterpret_cast< short(*)>(_a[1]))); break;
        case 6: newReferenceAltitude((*reinterpret_cast< double(*)>(_a[1]))); break;
        case 7: newReferencePressure((*reinterpret_cast< ulong(*)>(_a[1]))); break;
        case 8: setReferencePressure((*reinterpret_cast< ulong(*)>(_a[1]))); break;
        case 9: setReferencePressure((*reinterpret_cast< unsigned short(*)>(_a[1])),(*reinterpret_cast< ulong(*)>(_a[2]))); break;
        case 10: setReferenceAltitude((*reinterpret_cast< ulong(*)>(_a[1]))); break;
        case 11: setRoverPressure((*reinterpret_cast< ulong(*)>(_a[1]))); break;
        case 12: setRoverPressure((*reinterpret_cast< unsigned short(*)>(_a[1])),(*reinterpret_cast< ulong(*)>(_a[2]))); break;
        case 13: setRoverAngle((*reinterpret_cast< short(*)>(_a[1])),(*reinterpret_cast< short(*)>(_a[2])),(*reinterpret_cast< short(*)>(_a[3]))); break;
        default: ;
        }
        _id -= 14;
    }
    return _id;
}
    void setNumRegions(int numRegions)
    {
        waterReferencePressure_.resize(numRegions);
        waterReferenceFormationVolumeFactor_.resize(numRegions);
        waterCompressibility_.resize(numRegions);
        waterViscosity_.resize(numRegions);
        waterViscosibility_.resize(numRegions);

        for (int regionIdx = 0; regionIdx < numRegions; ++regionIdx) {
            setReferenceFormationVolumeFactor(regionIdx, 1.0);
            setReferencePressure(regionIdx, BlackOilFluidSystem::surfacePressure);
        }
    }