Adding more polygon indices for edge classes

parent e73f2d72
......@@ -141,6 +141,8 @@ namespace ITAPropagationPathSim
VistaVector3D v3MainFaceNormal;
VistaVector3D v3OppositeFaceNormal;
int iMainWedgeFaceID, iOppositeWedgeFaceID;
//Length of edge
float fLength;
......
......@@ -143,6 +143,8 @@ namespace ITAPropagationPathSim
VistaVector3D v3MainFaceNormal;
VistaVector3D v3OppositeFaceNormal;
int iMainWedgeFaceID =-1, iOppositeWedgeFaceID=-1;
//Length of edge
float fLength;
......
......@@ -225,7 +225,9 @@ bool CDiffractionPath::CalculateDiffractionPath(vector<shared_ptr<DiffractionEdg
pAperturePoint->v3VertextStart = vpDiffractionPathEdges[i]->v3StartPoint;
pAperturePoint->v3VertextEnd = vpDiffractionPathEdges[i]->v3EndPoint;
pAperturePoint->v3MainWedgeFaceNormal = vpDiffractionPathEdges[i]->v3MainFaceNormal;
pAperturePoint->v3OppositeWedgeFaceNormal = vpDiffractionPathEdges[i]->v3OppositeFaceNormal;
pAperturePoint->v3OppositeWedgeFaceNormal = vpDiffractionPathEdges[ i ]->v3OppositeFaceNormal;
pAperturePoint->iMainWedgeFaceID = vpDiffractionPathEdges[ i ]->iMainWedgeFaceID;
pAperturePoint->iOppositeWedgeFaceID = vpDiffractionPathEdges[ i ]->iOppositeWedgeFaceID;
pPath->push_back(pAperturePoint);
}
......@@ -294,6 +296,8 @@ void CDiffractionPath::ConstructDiffractionMatrix()
pDiffractionEdge->v3OppositeFaceNormal = v3OppositeFaceNormal;
pDiffractionEdge->v3Direction = v3Direction / fLength;
pDiffractionEdge->fLength = fLength;
pDiffractionEdge->iMainWedgeFaceID = hMainFace.idx();
pDiffractionEdge->iOppositeWedgeFaceID = hOppositeFace.idx();
//Add diffraction edge to vector
vpDiffractionEdges.push_back(pDiffractionEdge);
......
......@@ -173,6 +173,7 @@ void CSource::ConstructReflectionsPath(CImageNode* pNode, std::shared_ptr< const
std::shared_ptr< ITAGeo::CSpecularReflection > pReflectionAnchor = std::make_shared < ITAGeo::CSpecularReflection >();
pReflectionAnchor->v3InteractionPoint = v3IntersectionPoint;
pReflectionAnchor->v3FaceNormal = pNode->pImage->v3MirrorNormal;
pReflectionAnchor->iPolygonID = pNode->pImage->iPolygonIndex;
//Add reflection to path
oPath[pNode->pImage->iOrder] = pReflectionAnchor;
......
......@@ -445,6 +445,7 @@ void ITAPropagationPathSim::CombinedModel::CPathEngine::ConvertShapeListsToPropa
shared_ptr<CSpecularReflection> pReflectionAnchor = make_shared<CSpecularReflection>();
pReflectionAnchor->v3InteractionPoint = *pFace->v3InteractionPoint;
pReflectionAnchor->v3FaceNormal = pFace->pPlane->GetNormVector();
pReflectionAnchor->iPolygonID = (int) pFace->GetIdentifier();
oPath.push_back(pReflectionAnchor);
break;
......@@ -460,6 +461,8 @@ void ITAPropagationPathSim::CombinedModel::CPathEngine::ConvertShapeListsToPropa
pDiffractionAnchor->v3OppositeWedgeFaceNormal = *pEdge->v3OppositeFaceNormal;
pDiffractionAnchor->v3VertextStart = *pEdge->v3StartVertex;
pDiffractionAnchor->v3VertextEnd = *pEdge->v3EndVertex;
pDiffractionAnchor->iMainWedgeFaceID = pEdge->hMainFace.idx();
pDiffractionAnchor->iOppositeWedgeFaceID = pEdge->hOppositeFace.idx();
oPath.push_back(pDiffractionAnchor);
......
......@@ -237,8 +237,10 @@ bool CDiffractionPath::CalculateDiffractionPath(vector<shared_ptr<DiffractionEdg
pAperturePoint ->v3AperturePoint = v3CurrentStartPoint + vfApertureModifierOld[i] * v3CurrentEdgeDir;
pAperturePoint->v3VertextStart = vpDiffractionPathEdges[i]->v3StartPoint;
pAperturePoint->v3VertextEnd = vpDiffractionPathEdges[i]->v3EndPoint;
pAperturePoint->v3MainWedgeFaceNormal = vpDiffractionPathEdges[i]->v3MainFaceNormal;
pAperturePoint->v3OppositeWedgeFaceNormal = vpDiffractionPathEdges[i]->v3OppositeFaceNormal;
pAperturePoint->v3MainWedgeFaceNormal = vpDiffractionPathEdges[ i ]->v3MainFaceNormal;
pAperturePoint->v3OppositeWedgeFaceNormal = vpDiffractionPathEdges[ i ]->v3OppositeFaceNormal;
pAperturePoint->iMainWedgeFaceID = vpDiffractionPathEdges[ i ]->iMainWedgeFaceID;
pAperturePoint->iOppositeWedgeFaceID = vpDiffractionPathEdges[ i ]->iOppositeWedgeFaceID;
pPath->push_back(pAperturePoint);
}
......@@ -304,6 +306,8 @@ void CDiffractionPath::ConstructDiffractionMatrix()
pDiffractionEdge->v3StartPoint = v3FromPoint;
pDiffractionEdge->v3EndPoint = v3ToPoint;
pDiffractionEdge->v3MainFaceNormal = v3MainFaceNormal;
pDiffractionEdge->iMainWedgeFaceID = hMainFace.idx();
pDiffractionEdge->iOppositeWedgeFaceID = hOppositeFace.idx();
pDiffractionEdge->v3OppositeFaceNormal = v3OppositeFaceNormal;
pDiffractionEdge->v3Direction = v3Direction / fLength;
pDiffractionEdge->fLength = fLength;
......
......@@ -191,6 +191,7 @@ void CSource::ConstructReflectionsPath(CImageNode* pNode, std::shared_ptr< const
std::shared_ptr< ITAGeo::CSpecularReflection > pReflectionAnchor = std::make_shared < ITAGeo::CSpecularReflection >();
pReflectionAnchor->v3InteractionPoint = v3IntersectionPoint;
pReflectionAnchor->v3FaceNormal = pNode->pImage->v3MirrorNormal;
pReflectionAnchor->iPolygonID = pNode->pImage->iPolygonIndex;
//Add reflection to path
oPath[pNode->pImage->iOrder] = pReflectionAnchor;
......
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