Spending a polygon id for reflection and diffraction anchors

parent ec3ba8ad
......@@ -312,11 +312,14 @@ namespace ITAGeo
{
iAnchorType = CPropagationAnchor::SPECULAR_REFLECTION;
v3FaceNormal.SetToZeroVector();
iPolygonID = -1;
};
inline CSpecularReflection(const VistaVector3D& v3SpecularReflectionPoint)
: CPropagationAnchor(v3SpecularReflectionPoint)
{
iAnchorType = CPropagationAnchor::SPECULAR_REFLECTION;
iPolygonID = -1;
};
inline virtual ~CSpecularReflection() {};
......@@ -329,13 +332,14 @@ namespace ITAGeo
void LoadFromJSONString(const std::string& sContent, std::shared_ptr< CResourceManager > pResourceManager = nullptr);
VistaVector3D v3FaceNormal; //!< Face normal of reflection plane
int iPolygonID; //!< Identifier of polygon in mesh
std::shared_ptr< Material::IMaterial > pMaterial; //!< Acoustic material connection, i.e. absorption coefficient
};
//! Geometrical propagation anchor of the detection point inside the receiver's detection volume
/**
* A detection point
* A detection point (used for sphere receivers in ray tracing algorithms)
*/
class ITA_GEO_API CDetectionPoint : public CPropagationAnchor // public CPropagationAnchor
{
......@@ -521,6 +525,8 @@ namespace ITAGeo
VistaVector3D v3VertextEnd;
VistaVector3D v3MainWedgeFaceNormal;
VistaVector3D v3OppositeWedgeFaceNormal;
int iMainWedgeFaceID;
int iOppositeWedgeFaceID;
CITADiffractionWedgeApertureBase();
virtual inline ~CITADiffractionWedgeApertureBase() {};
......
This diff is collapsed.
......@@ -13,6 +13,7 @@ int main( int, char** )
auto pReflection = make_shared< CSpecularReflection >();
pReflection->v3InteractionPoint.SetValues(-0.5f, -1.0f, -2.0f);
pReflection->v3FaceNormal.SetValues(1.f, 0.f, 0.f, 0.f);
pReflection->iPolygonID = 0;
auto pReceiver = make_shared< CSensor >();
pReceiver->v3InteractionPoint.SetValues(-1.0f, -2.0f, -3.0f);
......
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