当前位置:首页 > 工业技术
VR-Forces开发
VR-Forces开发

VR-Forces开发PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:王勃著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2011
  • ISBN:9787118069235
  • 页数:349 页
图书介绍:本书共分18章,简介分布式仿真的基本原理,对VR-Forces原理、配置、操作进行论述的基础上重点介绍基于VR-Forces开发所必须掌握的实体、组件、地形、GUI等API。最后一章是作者在实际开发过程中的经验总结。
《VR-Forces开发》目录
标签:开发

第1章 导论 1

1.1 DIS 1

1.2 HLA 3

1.2.1 HLA基本思想 3

1.2.2 HLA层次结构 4

1.2.3 HLA标准 5

1.3 CGF 9

1.3.1 CGF的基本概念 9

1.3.2 CGF的特点 10

1.3.3 CGF系统的设计要求和原则 11

1.3.4 CGF模型 12

1.3.5 CGF的应用现状 13

1.4 VR-Forces 17

1.4.1软件层次 18

1.4.2基于实体参数数据库的实体模型 19

1.4.3实体的行为仿真框架 21

1.4.4应用 23

第2章 安装和配置MAK系列产品 25

2.1安装MAK系列产品 25

2.2配置MAK License 27

2.3 VR-Forces配置文件 27

2.4 VR-Forces和VR-Link 33

第3章VR-Forces入门 36

3.1启动和运行方式 36

3.1.1启动方式 36

3.1.2运行方式 36

3.2实体和模型编辑 38

3.2.1实体编辑器 38

3.2.2模型编辑器 38

3.2.3图标编辑 39

3.3地形制作 40

3.3.1地形制作流程 40

3.3.2 TDB Tools使用 41

第4章 基于VR - Forces开发 47

4.1 VR-Forces API概述 47

4.2生成VR-Forces应用程序 49

4.2.1生成VR-Forces应用程序的选项 49

4.2.2重新生成VR-Forces应用程序 50

4.2.3使用VR-Forces工具包生成应用程序 50

4.2.4生成GUI 51

4.2.5扩展VR- Forces应用程序 53

4.2.6创建和初始化仿真引擎 54

4.2.7生成例子 54

第5章 引擎——vrfSim 55

5.1 VR-Forces仿真API 55

5.1.1创建Plug-in 55

5.1.2载入Plug-in 56

5.1.3建立扩展vrfSim程序 56

5.1.4 VR-Forces嵌入第三方应用 57

5.1.5使用DtCgf类 57

5.1.6调用DtCgf构造函数 57

5.1.7 DtCgf初始化 58

5.1.8 DtCgf函数 58

5.2定制或扩展仿真引擎 59

5.2.1 VR-Forces工厂 60

5.2.2 VR-Forces创建函数 61

5.3定制或扩展vrfSim应用 62

5.4运行时检查VR-Forces许可 64

第6章 对象——Object 65

6.1对象管理器和仿真对象 65

6.1.1创建对象管理器 65

6.1.2仿真对象 65

6.1.3本地和远程对象 66

6.1.4对象的空间组织 67

6.2对象管理器创建对象 67

6.2.1对象管理器选择对象子组件的方式 68

6.2.2标识对象 70

6.2.3查找对象 70

6.2.4对象类型 71

6.2.5对象名称 71

6.2.6梯队ID 72

6.2.7对象标签 72

6.3状态池 72

6.3.1实体状态的检查点 73

6.3.2对象参数 73

6.3.3对象几何特性 74

6.3.4运动状态 75

6.3.5附件管理器 76

6.3.6下属管理 77

6.3.7状态池层级 78

6.3.8在基类层次扩展状态池 79

6.4网络接口 82

6.4.1本地网络接口 83

6.4.2远程网络接口 83

6.4.3使用网络接口配置对象 84

6.4.4调整网络接口 84

6.5创建和管理对象 84

6.5.1对象工厂 84

6.5.2创建新的本地对象 85

6.5.3从仿真中删除本地仿真对象 86

6.5.4对象删除或添加时获取通知 87

6.5.5查找独立的对象 88

6.5.6在仿真对象中遍历 88

6.5.7对象判断 91

6.5.8仿真对象改变时通知应用程序 93

6.5.9重要的代码建议 93

6.6控制对象 93

6.6.1创建控制对象 94

6.6.2控制对象的几何特性 94

6.6.3控制对象参数 94

6.6.4标识控制对象 95

6.7对象参数数据库API 95

第7章 实体——Entity 97

7.1组件和组件管理器 98

7.1.1传感器 98

7.1.2控制器 99

7.1.3执行器 99

7.1.4组件间通信 100

7.2创建实体 100

7.3管理本地和远程实体 102

7.4组织管理器 103

7.4.1实体的组织结构 103

7.4.2梯队ID 104

7.4.3组织管理器的运行方式 105

7.4.4查询组织结构 106

7.4.5层级结构发生变化时获取通知 106

7.4.6修改实体的层级 106

7.4.7伪聚合组织 107

7.5实体状态池 108

7.5.1实体参数 108

7.5.2参数类型字符串 109

7.5.3参数继承 110

7.6过程状态池 111

7.6.1创建和设置过程状态池 113

7.6.2扩展过程状态池 115

7.7任务管理器 119

7.7.1报告任务完成 119

7.7.2跳过任务 119

7.7.3响应上级请求的任务 120

7.7.4处置“清理任务”消息 120

7.8数据设置管理器 120

7.9资源管理器 121

7.10装载 123

7.10.1装载如何影响实体模型 123

7.10.2把环境对象附着在实体上 124

7.11实体通信 124

7.11.1 VR-Forces无线消息系统 124

7.11.2 VR-Forces仿真内部消息系统 124

第8章 组件——Component 125

8.1组件 125

8.1.1 DtSimComponent类 125

8.1.2组件参数和组件描述符 126

8.1.3组件内部通信 126

8.1.4组件和状态池 126

8.1.5 DtSimComponent ::tick()函数 126

8.1.6传感器 127

8.1.7控制器组件 127

8.1.8执行器 127

8.1.9组件系统 127

8.1.10 VR-Forces提供的组件 128

8.2组件管理器 128

8.2.1配置组件管理器 129

8.2.2查询组件 129

8.2.3创建组件 130

8.2.4连接组件 131

8.2.5 tick组件 134

8.2.6设置组件优先级 134

8.3资源消耗模型 136

8.4开火与爆炸处理 137

8.5组件描述符 137

8.6端口和端口组 138

8.6.1端口组 138

8.6.2组件连接 139

8.6.3 VR-Forces支持的输入输出端口类型 140

8.6.4通过输出端口发送数据 141

8.6.5通过输入端口提取数据 141

8.6.6通过端口组发送和提取数据 142

8.6.7创建组件的端口和端口组 142

8.7添加新的实体行为(创建执行器) 143

8.7.1初始化执行器 143

8.7.2标识组件类型 144

8.7.3 tick执行器 145

8.7.4向组件工厂中添加执行器组件 147

8.7.5生成并运行myActuator 147

8.8创建新控制器 147

8.8.1创建控制器 148

8.8.2创建组件描述符 150

8.8.3在对象参数数据库中添加新控制器 152

8.9传感器 155

8.9.1信号传感器概念 156

8.9.2目标对象 156

8.9.3信号传播 157

8.9.4传感器组件 157

8.9.5添加传感器域 157

8.9.6雷达传感器 158

8.10添加传感器组件 158

8.10.1源文件、工程文件和剧情文件 158

8.10.2创建新传感器组件 159

8.10.3实现雷达告警接收器类 159

8.10.4创建新控制器组件 162

8.10.5把传感器连接到控制器 162

8.10.6向VR-Forces添加新组件 165

8.10.7配置实体可使用新组件 166

8.11使用VR-Forces组件代码生成器 167

8.11.1指定必需的组件信息 168

8.11.2指定输入端口和输出端口 169

8.11.3指定状态变量和参数 170

8.11.4存储组件数据 170

8.11.5载入组件描述文件 170

8.11.6生成代码 171

8.11.7配置组件代码生成器 171

第9章 消息——Message 172

9.1消息接口 172

9.2发送接口消息 172

9.3接收接口消息 174

9.4创建新的接口内容 175

9.4.1实现type()和clone()成员函数 175

9.4.2设置参数 176

9.4.3创建网络描述 176

9.4.4实现netRepSize () 176

9.4.5实现setFromNet() 177

9.4.6实现setToNet() 177

9.5消息类 178

第10章 通信——Communication 181

10.1发送消息 181

10.1.1发送仿真内部消息 182

10.1.2发送无线消息 182

10.2接收消息 182

10.2.1消息接收回调成员函数 182

10.2.2接收特定类型的消息 183

10.2.3从指定源接收消息 183

10.3 VR - Forces仿真内部消息系统 183

10.4 VR - Forces无线消息系统 184

第11章 任务——Task 186

11.1任务和设置数据请求 186

11.1.1任务 186

11.1.2任务类型 187

11.1.3子任务 187

11.1.4使用子任务 187

11.1.5设置数据请求 189

11.2任务消息 190

11.3向实体添加新任务 190

11.4从DtSimTask中派生新任务 191

11.5处理不可实现的任务 192

11.6添加用户任务 192

11.6.1从GUI中配置用户任务 192

11.6.2为用户任务添加控制器 193

11.7创建新的DtSetDataRequest 196

11.8报告 197

第12章 计划——Plan 198

12.1计划管理器 198

12.2管理计划 198

12.2.1载入计划文件 199

12.2.2把计划存入文件中 199

12.2.3使用API调用创建新计划 199

12.2.4访问对象的计划 200

12.3计划管理程序 200

12.4检查和变更计划 201

12.4.1在计划语句里迭代 201

12.4.2利用编程修改计划 202

12.5执行计划 203

12.5.1初始的执行状态 204

12.5.2计划开始执行 204

12.5.3通过计划推进 204

12.5.4完成任务 205

12.5.5触发器(或When语句) 205

12.5.6放弃计划 205

12.6语句 206

12.7条件表达式 207

12.7.1条件表达式对象 207

12.7.2条件表达式评估器 208

12.7.3逻辑常数 208

12.7.4逻辑操作符 208

12.7.5资源操作符 209

12.7.6测试实体状态的条件表达式 209

12.7.7随机算子 210

12.7.8添加新类型的条件表达式 210

12.8触发器 212

第13章 地形——Terrain 213

13.1简介 213

13.2 DtTerrainDatabase类 213

13.2.1访问DtTerrainDatabase类 214

13.2.2地形交叉检测 215

13.2.3坐标系统 215

13.2.4地形几何结构 216

13.2.5地形表面(土质类型) 217

13.3查询地形数据库 217

13.4矢量网络 219

13.4.1线 220

13.4.2区域 220

13.4.3形状规范 221

13.4.4 MAK规范模型 222

13.4.5查询矢量网络 222

13.4.6检测所有的沿弦线的地形交叉 223

13.4.7使用度量查询矢量网络 223

13.5创建新的DtTerrainDatabase 225

13.5.1向数据库中添加三角形 225

13.5.2把地形节点从数据库中移除 226

13.5.3向数据库中添加形状数据 226

13.5.4更新矢量网络的范围 229

13.5.5移除形状数据 229

13.5.6 PostProcessing 230

13.6地形阅读器 230

13.6.1创建新类别的地形阅读器 231

13.6.2地形形状阅读器 232

第14章 远程——Remote 234

14.1简介 234

14.2使用远程控制API 234

14.3选择要控制的VR - Forces应用程序 235

14.4查找远程VR - Forces应用程序 236

14.5载入剧情 237

14.6保存剧情 238

14.7管理VR-Forces对象 239

14.7.1创建对象 240

14.7.2修改和删除对象 240

14.7.3改变实体的层级 241

14.8任务和计划 241

14.9批处理方式运行VR - Forces应用程序 242

14.10使用远程控制API生成应用程序 242

第15章 文件——R&W Files 243

15.1可读写对象 243

15.2向文件中写入数据 243

15.3从文件读取数据 244

15.4多继承和DtReaderWriter 246

15.5阅读器/记录器注册 246

15.6处理未指明的参数 248

第16章 辅助——Utility Class 250

16.1仿真管理器 250

16.1.1仿真时间、演练时间和演练时钟 250

16.1.2用仿真引擎调度事件 251

16.1.3发布后端的状态 252

16.1.4操纵杆器件管理器 252

16.2划分空间 252

16.2.1空间划分容器 253

16.2.2创建空间划分对象 254

16.2.3扩展DtSpatialSubdivision类 255

16.3符号字符串 255

16.4 VR-Forces会话 256

16.5按批处理模式运行VR - Forces应用程序 256

第17章 界面——GUI 258

17.1简介 258

17.1.1插件方式或独立运行方式的应用 258

17.1.2工具包 258

17.2 VR-Forces GUI API体系结构 260

17.3创建插件 262

17.3.1插件入口点 262

17.3.2事件信号器 264

17.3.3载入插件 265

17.3.4维护插件 265

17.4创建独立的GUI应用程序 265

17.5处理符号 266

17.5.1模型数据 266

17.5.2 DtViewDriver 266

17.5.3创建和修改符号 266

17.5.4创建新类型的模型数据和符号 269

17.5.5添加和改变符号更新器 271

17.6事件控制器和事件处理器 274

17.6.1事件控制器 274

17.6.2事件处理器 275

17.6.3创建事件处理器 275

17.6.4注册事件处理器 276

17.6.5获取事件处理器的句柄 276

17.6.6向插件程序添加事件处理器 277

17.7使用DtVrfGuiDefaultFactory工厂添加功能 277

17.8定制GUI 279

17.8.1应用程序窗口初始化 279

17.8.2添加工具栏 281

17.8.3创建和编辑菜单 283

17.8.4在地形图上绘图 290

17.8.5在地形图上直接绘图 291

17.8.6改变对话框 292

17.8.7战术图层 292

17.9转换坐标系统和单位 297

17.9.1 DtTMUnitConverterCollection 297

17.9.2 DtTerrainCoordinateSystemCollection 298

17.10检测通视性交叉 299

17.10.1计算实体交叉 299

17.10.2向文件中保存数据 300

17.11优化GUI性能 303

17.11.1 tick管理 303

17.11.2标记数据进行更新 303

17.11.3优化滤波器镜头的使用 304

17.11.4实体超时 305

第18章 实例——Examples 306

18.1关于vrfSirn的例子 306

18.2关于vrfGUI的例子 307

18.3远程控制VR-Forces 311

18.3.1模拟系统的一般结构 312

18.3.2设计方案 312

18.3.3实现 313

18.4添加新组件 318

18.4.1利用组件代码生成器 320

18.4.2模型组件的类结构 320

18.4.3组件端口的创建 324

18.4.4添加入口 325

18.4.5向实体参数数据库添加入口 325

18.4.6连接组件 326

18.4.7载入plug-ins 326

18.5 VR-Forces GUI开发 327

18.5.1 GUI的类结构 327

18.5.2修改菜单项 328

18.5.3界面开发案例 330

附录A rid.mtl参数 334

附录B vrfSim.mtl参数 342

附录C vrfGui.mtl参数 345

附录D MAK RTI性能 347

参考文献 349

返回顶部