Returns the first intersection of the query ray and the TIN.
[Visual Basic .NET] Public Sub QueryLocate ( _ ByVal pRay As IRay, _ ByVal hint As Integer, _ ByVal pLocation As IPoint _ )
[C#] public void QueryLocate ( IRay pRay, int hint, IPoint pLocation );
[C++]
HRESULT QueryLocate(
IRay* pRay,
long hint,
IPoint* pLocation
);
[C++]Parameters
pRay [in]pRay is a parameter of type IRay
hint [in] hint is a parameter of type long pLocationpLocation is a parameter of type IPoint
Product Availability
Description
Returns the intersection point between a ray and the TIN.
pRay is the input 3D ray the calculation will be based on.
hint is the index of the triangle intersected by the ray. If you don't know the triangle provide a -1 for the hint. If you know which triangle is intersected then provide its index and the method will be faster, it won't need to search for it, and will simply intersect the ray with the plane of the specified triangle.
pLocation is the point of intersection. You must provide an instantiated point object. The method will populate its coordinates. If the ray does not intersect the TIN the point will be set empty. Check for this via IGeometry.IsEmpty.
Notes:
- Consider using this method or ITinSurface3.QueryLocateWithinDistance instead of other Locate methods when inside a loop, for the sake of efficiency, because it reuses the output object each iteration whereas other methods create new ones.