70 lines
2.2 KiB
C
70 lines
2.2 KiB
C
#ifndef THREAT_SOURCE_H
|
|
#define THREAT_SOURCE_H
|
|
|
|
#ifdef _WIN32
|
|
#ifdef THREATSOURCE_EXPORTS
|
|
#define THREATSOURCE_API __declspec(dllexport)
|
|
#else
|
|
#define THREATSOURCE_API __declspec(dllimport)
|
|
#endif
|
|
#else
|
|
#define THREATSOURCE_API
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// 错误码定义
|
|
#define THREATSOURCE_SUCCESS 0
|
|
#define THREATSOURCE_ERROR_INVALID_PARAM -1
|
|
#define THREATSOURCE_ERROR_INIT_FAILED -2
|
|
#define THREATSOURCE_ERROR_SIMULATION_FAILED -3
|
|
|
|
// 仿真管理
|
|
THREATSOURCE_API int TS_CreateSimulation();
|
|
THREATSOURCE_API int TS_DestroySimulation();
|
|
|
|
// 导弹相关
|
|
THREATSOURCE_API int TS_CreateMissile(
|
|
const char* id,
|
|
double x, double y, double z, // 初始位置
|
|
double vx, double vy, double vz, // 初始速度
|
|
double max_speed, // 最大速度
|
|
double max_acceleration, // 最大加速度
|
|
double max_flight_time, // 最大飞行时间
|
|
double max_flight_distance, // 最大飞行距离
|
|
double mass // 质量
|
|
);
|
|
|
|
THREATSOURCE_API int TS_ActivateMissile(const char* id);
|
|
THREATSOURCE_API int TS_DeactivateMissile(const char* id);
|
|
THREATSOURCE_API int TS_FireMissile(const char* id);
|
|
THREATSOURCE_API int TS_GetMissilePosition(const char* id, double* x, double* y, double* z);
|
|
THREATSOURCE_API int TS_GetMissileVelocity(const char* id, double* vx, double* vy, double* vz);
|
|
THREATSOURCE_API int TS_IsMissileActive(const char* id, int* active);
|
|
|
|
// 目标相关
|
|
THREATSOURCE_API int TS_CreateTarget(
|
|
const char* id,
|
|
double x, double y, double z, // 位置
|
|
double orientation // 朝向(弧度)
|
|
);
|
|
|
|
THREATSOURCE_API int TS_ActivateTarget(const char* id);
|
|
THREATSOURCE_API int TS_DeactivateTarget(const char* id);
|
|
THREATSOURCE_API int TS_GetTargetPosition(const char* id, double* x, double* y, double* z);
|
|
THREATSOURCE_API int TS_GetTargetOrientation(const char* id, double* orientation);
|
|
|
|
// 仿真控制
|
|
THREATSOURCE_API int TS_UpdateSimulation(double deltaTime);
|
|
THREATSOURCE_API int TS_GetSimulationTime(double* time);
|
|
|
|
// 事件查询
|
|
THREATSOURCE_API int TS_GetLastError(char* buffer, int buffer_size);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // THREAT_SOURCE_H
|