Microsoft DirectX 9.0 SDK Update (October 2004)

Mesh.Intersect Method

Language:

Note: This documentation is preliminary and is subject to change.

Determines whether a ray intersects with a mesh.

Definition

Visual Basic .NET Public Function Intersect( _
    ByVal rayPos As Vector3, _
    ByVal rayDir As Vector3 _
) As Boolean
C# public bool Intersect(
    Vector3 rayPos,
    Vector3 rayDir
);
Managed C++ public: bool Intersect(
    Vector3 rayPos,
    Vector3 rayDir
);
JScript .NET public function Intersect(
    rayPos : Vector3,
    rayDir : Vector3
) : 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.

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
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.
OutOfMemoryException Leave Site Microsoft® Direct3D® could not allocate sufficient memory to complete the call.

See Also


© 2004 Microsoft Corporation. All rights reserved. Terms of use.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center