Commit 07702f17 authored by Armin Erraji's avatar Armin Erraji

Removed angle culling of propagation trees since it calculated the minimum...

Removed angle culling of propagation trees since it calculated the minimum diffraction angle not correctly.
parent 78b33e95
......@@ -21,10 +21,8 @@ ITAPropagationPathSim::CombinedModel::CPathEngine::CPathEngine()
}
void ITAPropagationPathSim::CombinedModel::CPathEngine::Configure(const bool bFilterNotNeighbouredEdges, const bool bFilterIlluminatedRegionDiffraction,
const bool bFilterEdgeToEdgeIntersectedPaths,
const bool bFilterEmitterToEdgeIntersectedPaths, const bool bFilterSensorToEdgeIntersectedPaths,
const bool bFilterIntersectedPaths,
const int iNumberIterationApexCalculation, const float fIntersectionTestResolution, const float fAccumulatedAngleThreshold)
const bool bFilterEdgeToEdgeIntersectedPaths, const bool bFilterEmitterToEdgeIntersectedPaths, const bool bFilterSensorToEdgeIntersectedPaths,
const bool bFilterIntersectedPaths, const int iNumberIterationApexCalculation, const float fIntersectionTestResolution, const float fAccumulatedAngleThreshold)
{
//Set filter variables
m_pFilterNotNeighbouredEdges = make_unique<const bool>(bFilterNotNeighbouredEdges);
......@@ -93,10 +91,10 @@ void ITAPropagationPathSim::CombinedModel::CPathEngine::ApplyEmitter(shared_ptr<
ImageConstruction::ConstructImageEdges(m_pEmitter, m_vpPropagationTree);
//Calculate accumulated angle and angle culling for tree
if (*m_pAccumulatedAngleThreshold > 0)
{
Diffraction::AccumulatedAngleCulling(*m_pAccumulatedAngleThreshold, m_pEmitter,m_vpPropagationTree, m_vpPropagationTree);
}
//if (*m_pAccumulatedAngleThreshold > 0)
//{
// Diffraction::AccumulatedAngleCulling(*m_pAccumulatedAngleThreshold, m_pEmitter,m_vpPropagationTree, m_vpPropagationTree);
//}
}
void ITAPropagationPathSim::CombinedModel::CPathEngine::ApplySensor(shared_ptr<ITAGeo::CSensor> pSensor)
......
......@@ -84,14 +84,14 @@ int main( int iNumInArgs, char* pcInArgs[] )
const bool bOnlyNeighbouredEdgeDiffraction = false;
const bool bDiffractionOnlyIntoShadowRegion = true;
const bool bFilterNotVisiblePathsBetweenEdges = false; //Intersection test between edges(expensive)
const bool bFilterNotVisiblePointToEdge = true; //Intersection test between emitter/sensor and edges
const bool bFilterNotVisiblePointToEdge = false; //Intersection test between emitter/sensor and edges
const bool bFilterNotVisiblePaths = true; //Intersection test of calculated sub paths
const float fIntersectionTestResolution = 0.001;
const int iNumIterations = 5;//!< Number of iterations for the calculation of the aperture points
const int fMaxAccumulatedDiffractionAngle = -2*ITAConstants::PI_F;
const int iMaxDiffractionOrder = 5;
const int iMaxReflectionOrder = 2;
const int fMaxAccumulatedDiffractionAngle = ITAConstants::PI_F;
const int iMaxDiffractionOrder = 4;
const int iMaxReflectionOrder = 3;
const int iMaxCombinedOrder = 5;
ITAStopWatch sw; sw.start();
......@@ -139,7 +139,7 @@ int main( int iNumInArgs, char* pcInArgs[] )
oGeoModel.AddEmitterVisualization(*pEmitter, "Emitter A");
oGeoModel.AddSensorVisualization(*pSensor, "Sensor A");
cout << "The path with the longest length is " << oPathListVisible.GetMaxLength() << " m."<< endl;
for (auto& oPath : oPathListVisible)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment