Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,50 @@
/**
* @RDE_HEADER@
* Calculate line of sight
* $Id$
* $HeadURL$
* $Author$
* Created by gr, SLSE, 2024-11-03
*/
#include <Core/core.hpp>
#include <LtsCoordinate/lts_coordinate.h>
#include <CentralEffectSimulation/proxy_building.h>
#include <QFlags>
#pragma once
namespace CesExplosions
{
// Options:
enum Option
{
EXECUTE_BLDG_LOS_CALC = 1, // 0000001
EXECUTE_ELEVATION_LOS_CALC = 2, // 0000010
// OptFutureUse1 = 4, // 0000100
// OptFutureUse2 = 8, // 0001000
};
Q_DECLARE_FLAGS(Options, Option)
/// brief calculate line of sight between two points
/// \param exerciseId: id from exercise
/// \param impactLtsCoord_absZ: Explosion Position (z = height == above MSL)
/// \param participantLtsCoord_absZ: Participant Position (z = height == above MSL)
/// \param lineOfSightOptions: Options which Calculation is relevant, building or terrain
/// \param bLosOut: Result of calculation: true = line of sight given; false: line of sight interrupted
/// \return true: no error in calculation
bool lineOfSight_elevationAndBuilding(const int exerciseId,
const LtsCoordTrans::LtsCoordinate &impactLtsCoord_absZ,
const LtsCoordTrans::LtsCoordinate &participantLtsCoord_absZ,
Options lineOfSightOptions,
bool &bLosOut,
std::shared_ptr<CentralEffectSimulation::ProxyBuilding> proxyBuilding);
Q_DECLARE_OPERATORS_FOR_FLAGS(Options)
}