FLAMES二次开发组件基类层次结构如下图所示。红色的类用C++编写,只能被用C++编程语言编写的自定义类直接继承。蓝色的类用C语言编写,只能被用C编程语言编写的自定义类直接继承。灰色的类则不能被直接继承。
图 1 FLAMES Class Hierarchy
从上图可以看出几乎每一个与FLAMES兼容的模型类都是从FEntity类派生的,包括装备模型、认知模型、属性模型以及大多数环境模型。从FEntity类派生(即继承)而来的模型类也被称为实体模型。
图 2 Entity Model Structure
FLAMES模型体系包含环境模型(Environment Model)、装备模型(Equipment Model)、消息模型(Message Model)、编队模型(Formation Model)、认知模型(Cognition Model)和显示模型(View Overlay)六类模型。
- 环境模型
FLAMES环境模型包含FAirspace、FAtmosphere和FEffect三个基类。
FAirspace中包含FSCorridor、FSMaritimeCorridor、FSPoint和FSZone四个类。FSCorridor对象在空间中表示一个区域,飞机可以通过这个区域飞行。这种对象经常被用来表示“安全通道”。 FSMaritimeCorridor对象表示水面上的一条路径,船只可以沿此路径航行。
FSPoint对象代表地面的一个位置。这类对象有时可作为输入指定给其他模型,如认知模型和平台模型,并将在这些模型的处理过程中被使用。FSZone对象定义了空间中的一个区域体积,用于表示诸如监视区域或导弹交战区等概念。这类对象有时可以被指定为其他模型的输入,通常是认知模型,并在这些模型的处理过程中被使用。
图 3 FSCorridor | 图 4 FSMaritimeCorridor |
图 5 FSPoint |
图 6 FSZone |
FAtmosphere包含FAStandardAtmosphere一个类。
FAStandardAtmosphere根据1976年美国标准大气的7层高度表,提供了全球表面的大气密度数据。额外的大气属性可以被设定为常数值。这些大气属性可以在由FLAMES Units关联的模型所执行的计算中使用。
图 7 FAStandardAtmosphere
FEffect包含FEFGrouping和FEFPK两个类。
FEFGrouping对象允许将多个效果组合在一起,并作为单一效果进行处理。FEFGrouping对象有时可以被指定为其他模型的输入,通常为弹药模型,并在这些模型的处理过程中被使用。
FEFPK对象用于判断当弹药在目标附近爆炸或击中目标时,目标是否被摧毁。这一判断是通过将计算得出的数值与预设的杀伤概率(PK)值进行比较来做出的。
FEFPK对象使得弹药能够对不同类型的目标使用不同的PK值。FEFPK对象有时可以被指定为其他模型的输入,通常为弹药模型,并在这些模型的处理过程中被使用。
图 8 FEFGrouping | 图 9 FEFPK |
参考文献:
[1] FLAMES 22.0 User Manual