Weapon System
1.0 Stations[edit | edit source]
External and internal stores, including rocket launchers, missile launchers, bombs, guns, fuel tanks, targeting pods, sensors, and laser sources, are attached to stations on the aircraft. Each station is defined by placing a dummy object, beginning with the word 'BONE', at the position where the store will be attached on the aircraft. These can be used to attach internal and external stores, and as well as ones which are fixed can be used for stations which move, such as internal weapon racks, or a sensor mounted to a pan-tilt gimbal. Each station's position and rotation is called in the aircraft's JavaScript file from the function initialize(reload), and can also be checked each update call if the station is expected to change position or rotation relative to the aircraft. Each station is numbered sequentially, typically left to right from the pilot's perspective.
Table 1.1 AH-64D/E Apache Longbow Block External Stations[edit | edit source]
Type | BONE_station_## | position | rotation (deg) |
---|---|---|---|
Stations | BONE_station_01 | left wing tip | x:0, y:90, z:0
|
BONE_station_02 | left outboard pylon | x:3.5, y:0, z:0
| |
BONE_station_03 | left inboard pylon | x:3.5, y:0, z:0
| |
BONE_station_04 | right inboard pylon | x:3.5, y:0, z:0
| |
BONE_station_05 | right outboard pylon | x:3.5, y:0, z:0
| |
BONE_station_06 | right wing tip | x:0, y:-90, z:0
|
Table 1.2 AH-64D/E Apache Longbow Station Weapon Loadout Capacity[edit | edit source]
Weapon | Launcher | Type | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|---|
AGM-114 Hellfire | LAU-M299 | RAIL | 4 | 4 | 4 | 4 | ||
AGM-122 Sidearm | LAU-7 | RAIL | 1 | 1 | ||||
MK 66 Hydra-70 | LAU-M261 | TUBE | 19 | 19 | 19 | 19 | ||
MK 66 Hydra-70 | LAU-M260 | TUBE | 9 | 9 | 9 | 9 | ||
AIM-9 Sidewinder | LAU-7 | RAIL | 1 | 1 | ||||
AIM-92 Stinger | ATAS | RAIL | 2 | 2 | ||||
230 lb Fuel Tank | NONE | NONE | 1 | 1 | 1 | 1 |
JavaScript Implementation[edit | edit source]
Get Position and Rotation of Fixed Station
"use strict";
//declare global variables
var geom;
var station_01_joint, station_01_pos, station_01_rot;
function initialize(reload){
this.geom = this.get_geomob(0); // get first geometry isntance
station_01_joint = this.geom.get_joint('station_01')
station_01_pos = this.geom.get_joint_model_pos(station_01_joint);
station_01_rot = this.geom.get_rot(station_01_join);
}
Update Position and Rotation of Station
function update(dt){
station_01_pos = this.geom.get_joint_model_pos(station_01_joint);
station_01_rot = this.geom.get_rot(station_01_join);
}
Get World ECEF Position of Station
function update(dt){
station_01_ecef_pos = this.geom.get_pos_offset(station_01_joint);
}