Mesh.Intersect(Vector3,Vector3,IntersectInformation,IntersectInformation) Method (Microsoft.DirectX.Direct3D)
Determines whether a ray intersects with a mesh.
Definition
Visual Basic Public Function Intersect( _
ByVal rayPos As Vector3, _
ByVal rayDir As Vector3, _
ByRef closestHit As IntersectInformation, _
ByRef allHits As IntersectInformation _
) As BooleanC# public bool Intersect(
Vector3 rayPos,
Vector3 rayDir,
out IntersectInformation closestHit,
out IntersectInformation allHits
);C++ public:
bool Intersect(
Vector3 rayPos,
Vector3 rayDir,
[Out] IntersectInformation% closestHit,
[Out] IntersectInformation% allHits
);JScript public function Intersect(
rayPos : Vector3,
rayDir : Vector3,
closestHit : IntersectInformation,
allHits : IntersectInformation
) : boolean;
Parameters
rayPos Microsoft.DirectX.Vector3
A Vector3 structure that specifies the origin coordinate of the ray.rayDir Microsoft.DirectX.Vector3
A Vector3 structure that specifies the direction of the ray.closestHit Microsoft.DirectX.Direct3D.IntersectInformation
An IntersectInformation object that describes the closest intersection between the array and the mesh.allHits Microsoft.DirectX.Direct3D.IntersectInformation[]
Array of IntersectInformation structures that describe all intersections of the ray and the mesh.
Return Value
System.Boolean
Value that is true if the ray intersects a triangular face on the mesh; otherwise, the value is false.
Remarks
The Intersect method provides a way to understand points in and around a triangle, independent of where the triangle is actually located. This method returns the resulting point by using the following equation:
V1 + U(V2-V1) + V(V3-V1)
Any point in the plane V1V2V3 can be represented by the barycentric coordinate (U,V). The U parameter controls how much V2 gets weighted into the result, and the V parameter controls how much V3 gets weighted into the result. Lastly, 1-U-V controls how much V1 gets weighted into the result.
Barycentric coordinates are a form of general coordinates. In this context, using them represents a change in coordinate systems. What holds true for Cartesian coordinates also holds true for barycentric coordinates.
Exceptions
The method call is invalid. For example, a method's parameter might contain an invalid value.
Microsoft Direct3D could not allocate sufficient memory to complete the call.
See Also