Skip to content
Snippets Groups Projects
Commit 0018f202 authored by Daniel Filbert's avatar Daniel Filbert
Browse files

slight modifications

parent 5cf4efbe
No related branches found
No related tags found
No related merge requests found
......@@ -80,8 +80,16 @@ namespace ITAPropagationPathSim
* @param[in] hFace: Face handle for identifying the corresponding reflection face
* @param[in] v3ReflectionPoint: Point of specular reflection on the face
*/
//void ReflectRayOnFace(VistaRay& rRay, CITAMesh* pMesh, CITAMesh::FaceHandle hFace, VistaVector3D& v3ReflectionPoint);
void ReflectRayOnFace(VistaRay& rRay, CITAMesh *pMesh, CITAMesh::FaceHandle hFace, VistaVector3D& v3ReflectionPoint);
//! Checks for intersection of a ray with a sphere
/**
* @return: true if an intersection is given
* @param[in] rRay: ray
* @param[in] pDetectionSphereCenter: center of detection sphere
* @param[in] fDetectionSphereRadius: radius of detection sphere
*/
bool RayDetectionSphereIntersectionTest(const VistaRay& rRay, std::shared_ptr< ITAGeo::CPropagationAnchor > pDetectionSphereCenter, float fDetectionSphereRadius, VistaVector3D& v3DetectionPoint);
//! Audibility test for images up to given maximum order with or without culling
/**
......
......@@ -47,7 +47,7 @@ unsigned long int CEngine::GetNumberOfFaces() const
return ( int ) pMesh->n_faces();
}
bool RayDetectionSphereIntersectionTest(VistaRay rRay, std::shared_ptr< ITAGeo::CPropagationAnchor > pDestination, float fDetectionSphereRadius, VistaVector3D& v3DetectionPoint)
bool CEngine::RayDetectionSphereIntersectionTest(const VistaRay& rRay, std::shared_ptr< ITAGeo::CPropagationAnchor > pDestination, float fDetectionSphereRadius, VistaVector3D& v3DetectionPoint)
{
VistaVector3D v3RayOrigin2RcvPos = pDestination->v3InteractionPoint - rRay.GetOrigin();
......@@ -60,7 +60,7 @@ bool RayDetectionSphereIntersectionTest(VistaRay rRay, std::shared_ptr< ITAGeo::
//return (abs(v3RayOrigin2RcvPos.GetLength() * sin(tDeviationAngle)) < fDetectionSphereRadius);
}
void ReflectRayOnFace(VistaRay& rRay, CITAMesh* pMesh, CITAMesh::FaceHandle hFace, VistaVector3D& v3ReflectionPoint)
void CEngine::ReflectRayOnFace(VistaRay& rRay, CITAMesh* pMesh, CITAMesh::FaceHandle hFace, VistaVector3D& v3ReflectionPoint)
{
assert(pMesh->has_face_normals());
......@@ -126,7 +126,7 @@ void CEngine::Run( std::shared_ptr< ITAGeo::CPropagationAnchor > pSource, std::s
if (bFaceIntersectedByRay)
{
// Reflect ray on face
ReflectRayOnFace(rRay, pMesh, hFace, v3ReflectionPoint); //@todo: should this function be a method of class CEngine?
ReflectRayOnFace(rRay, pMesh, hFace, v3ReflectionPoint); //@todo: should this function be a method of this class?
// Update path
auto pReflection = std::make_shared<ITAGeo::CSpecularReflection>(v3ReflectionPoint);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment