--[[
ClassName = SimpleAirship
Module = ScriptVessel
Script = SimpleAirship.cfg
END_PARSE
--]]
-- Vessel parameters
vprm = { -- general Parameters
emass = 10000, -- empty mass [kg]
fuelmass = 10000, -- propellant mass [kg]
size = 50, -- mean radius [m]
pmi = {x=100,y=300,z=100}, -- principal moments of inertia [m^2]
cs = {x=0,y=0,z=0}, -- cross sections [m^2]
rd = {x=30,y=0,z=10}, -- rotation drag coefficients
co = {x=0,y=-8.4,z=0}, -- cockpit camera offset
}
gears =
{
{pos = {x=0,y=-11.56,z=20}, stiffness = 1e6, damping = 1e5, mu = 1.6, mu_lng = 0.1},
{pos = {x=-17.32,y=-11.56,z=-10}, stiffness = 1e6, damping = 1e5, mu = 3.0, mu_lng = 0.2},
{pos = {x=17.32,y=-11.56,z=-10}, stiffness = 1e6, damping = 1e5, mu = 3.0, mu_lng = 0.2},
{pos = {x=0,y=-11.56,z=-20}, stiffness = 1e6, damping = 1e5, mu = 0, mu_lng = 0}
}
thmain_prm = {
pos = {x=0,y=0,z=-5},
dir = {x=0,y=0,z=1},
maxth0 = 1e5,
isp0 = 1e5
}
thretro_prm = {
pos = {x=0,y=0,z=10},
dir = {x=0,y=0,z=-1},
maxth0 = 5e4,
isp0 = 1e5
}
thhovr_prm = {
pos = {x=0,y=0,z=0},
dir = {x=0,y=1,z=0},
maxth0 = 2.2e5,
isp0 = 5e5
}
thrcs_prm = {
maxth0 = 2e5,
isp0 = 5e4
}
function clbk_setclasscaps(cfg)
vi:set_size(vprm.size)
vi:set_emptymass(vprm.emass)
vi:set_pmi(vprm.pmi)
vi:set_crosssections(vprm.cs)
vi:set_rotdrag(vprm.rd)
vi:set_touchdownpoints(gears)
hProp = vi:create_propellantresource(vprm.fuelmass)
thmain_prm.hprop = hProp
thmain = vi:create_thruster(thmain_prm)
vi:create_thrustergroup({thmain},THGROUP.MAIN)
thretro_prm.hprop = hProp
thretro = vi:create_thruster(thretro_prm)
vi:create_thrustergroup({thretro},THGROUP.RETRO)
thhovr_prm.hprop = hProp
thhovr = vi:create_thruster(thhovr_prm)
vi:create_thrustergroup({thhovr},THGROUP.HOVER)
th = thrcs_prm.maxth0
isp = thrcs_prm.isp0
thrcs0 = vi:create_thruster({pos={x=1,y=0,z=3},dir={x=0,y=1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs1 = vi:create_thruster({pos={x=1,y=0,z=3},dir={x=0,y=-1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs2 = vi:create_thruster({pos={x=-1,y=0,z=3},dir={x=0,y=1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs3 = vi:create_thruster({pos={x=-1,y=0,z=3},dir={x=0,y=-1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs4 = vi:create_thruster({pos={x=1,y=0,z=-3},dir={x=0,y=1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs5 = vi:create_thruster({pos={x=1,y=0,z=-3},dir={x=0,y=-1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs6 = vi:create_thruster({pos={x=-1,y=0,z=-3},dir={x=0,y=1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs7 = vi:create_thruster({pos={x=-1,y=0,z=-3},dir={x=0,y=-1,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs8 = vi:create_thruster({pos={x=1,y=0,z=3},dir={x=-1,y=0,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs9 = vi:create_thruster({pos={x=-1,y=0,z=3},dir={x=1,y=0,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs10 = vi:create_thruster({pos={x=1,y=0,z=-3},dir={x=-1,y=0,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs11 = vi:create_thruster({pos={x=-1,y=0,z=-3},dir={x=1,y=0,z=0},maxth0=th,isp0=isp,hprop=hProp})
thrcs12 = vi:create_thruster({pos={x=0,y=0,z=-3},dir={x=0,y=0,z=1},maxth0=th,isp0=isp,hprop=hProp})
thrcs13 = vi:create_thruster({pos={x=0,y=0,z=3},dir={x=0,y=0,z=-1},maxth0=th,isp0=isp,hprop=hProp})
vi:create_thrustergroup({thrcs0,thrcs2,thrcs5,thrcs7},THGROUP.ATT_PITCHUP)
vi:create_thrustergroup({thrcs1,thrcs3,thrcs4,thrcs6},THGROUP.ATT_PITCHDOWN)
vi:create_thrustergroup({thrcs0,thrcs4,thrcs3,thrcs7},THGROUP.ATT_BANKLEFT)
vi:create_thrustergroup({thrcs1,thrcs5,thrcs2,thrcs6},THGROUP.ATT_BANKRIGHT)
vi:create_thrustergroup({thrcs8,thrcs11},THGROUP.ATT_YAWLEFT)
vi:create_thrustergroup({thrcs9,thrcs10},THGROUP.ATT_YAWRIGHT)
vi:create_thrustergroup({thrcs8,thrcs10},THGROUP.ATT_LEFT)
vi:create_thrustergroup({thrcs9,thrcs11},THGROUP.ATT_RIGHT)
vi:create_thrustergroup({thrcs12},THGROUP.ATT_FORWARD)
vi:create_thrustergroup({thrcs13},THGROUP.ATT_BACK)
vi:set_cameraoffset(vprm.co)
vi:add_mesh('SimpleAirship')
vi:set_mesh_visibility_mode(0,MESHVIS.EXTERNAL)
end