Search Results for

    Show / Hide Table of Contents

    Class Ray

    Represents a three dimensional line based on a point in space and a direction.

    Inheritance
    System.Object
    Ray
    Implements
    System.IEquatable<Ray>
    System.IFormattable
    Namespace: FlaxEngine
    Assembly: FlaxEngine.CSharp.dll
    Syntax
    [Unmanaged]
    public sealed class Ray : ValueType, IEquatable<Ray>, IFormattable

    Constructors

    Ray(Vector3, Vector3)

    Initializes a new instance of the Ray struct.

    Declaration
    public Ray(Vector3 position, Vector3 direction)
    Parameters
    Vector3 position

    The position in three dimensional space of the origin of the ray.

    Vector3 direction

    The normalized direction of the ray.

    Fields

    Direction

    The normalized direction in which the ray points.

    Declaration
    public Vector3 Direction
    Field Value
    Vector3

    Identity

    Identity ray (at zero origin pointing forwards).

    Declaration
    public static readonly Ray Identity
    Field Value
    Ray

    Position

    The position in three dimensional space where the ray starts.

    Declaration
    public Vector3 Position
    Field Value
    Vector3

    Properties

    Default

    The default Ray.

    Declaration
    public static Ray Default { get; }
    Property Value
    Ray

    Methods

    Equals(Ray)

    Determines whether the specified Vector4 is equal to this instance.

    Declaration
    public bool Equals(Ray value)
    Parameters
    Ray value

    The Vector4 to compare with this instance.

    Returns
    System.Boolean

    true if the specified Vector4 is equal to this instance; otherwise, false.

    Equals(ref Ray)

    Determines whether the specified Vector4 is equal to this instance.

    Declaration
    public bool Equals(ref Ray value)
    Parameters
    Ray value

    The Vector4 to compare with this instance.

    Returns
    System.Boolean

    true if the specified Vector4 is equal to this instance; otherwise, false.

    Equals(Object)

    Determines whether the specified System.Object is equal to this instance.

    Declaration
    public override bool Equals(object value)
    Parameters
    System.Object value

    The System.Object to compare with this instance.

    Returns
    System.Boolean

    true if the specified System.Object is equal to this instance; otherwise, false.

    GetHashCode()

    Returns a hash code for this instance.

    Declaration
    public override int GetHashCode()
    Returns
    System.Int32

    A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

    GetPickRay(Single, Single, ref Viewport, ref Matrix)

    Calculates a world space ray from 2d screen coordinates.

    Declaration
    public static Ray GetPickRay(float x, float y, ref Viewport viewport, ref Matrix vp)
    Parameters
    System.Single x

    The X coordinate on 2d screen.

    System.Single y

    The Y coordinate on 2d screen.

    Viewport viewport

    The screen viewport.

    Matrix vp

    The View*Projection matrix.

    Returns
    Ray

    The resulting ray.

    GetPoint(Single)

    Gets a point at distance long ray.

    Declaration
    public Vector3 GetPoint(float distance)
    Parameters
    System.Single distance

    The distance from ray origin.

    Returns
    Vector3

    The calculated point.

    Intersects(BoundingBox)

    Determines if there is an intersection between the current object and a BoundingBox.

    Declaration
    public bool Intersects(BoundingBox box)
    Parameters
    BoundingBox box

    The box to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingBox)

    Determines if there is an intersection between the current object and a BoundingBox.

    Declaration
    public bool Intersects(ref BoundingBox box)
    Parameters
    BoundingBox box

    The box to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingBox, out Vector3)

    Determines if there is an intersection between the current object and a BoundingBox.

    Declaration
    public bool Intersects(ref BoundingBox box, out Vector3 point)
    Parameters
    BoundingBox box

    The box to test.

    Vector3 point

    When the method completes, contains the point of intersection, or Zero if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingBox, out Single)

    Determines if there is an intersection between the current object and a BoundingBox.

    Declaration
    public bool Intersects(ref BoundingBox box, out float distance)
    Parameters
    BoundingBox box

    The box to test.

    System.Single distance

    When the method completes, contains the distance of the intersection, or 0 if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(BoundingSphere)

    Determines if there is an intersection between the current object and a BoundingSphere.

    Declaration
    public bool Intersects(BoundingSphere sphere)
    Parameters
    BoundingSphere sphere

    The sphere to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingSphere)

    Determines if there is an intersection between the current object and a BoundingSphere.

    Declaration
    public bool Intersects(ref BoundingSphere sphere)
    Parameters
    BoundingSphere sphere

    The sphere to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingSphere, out Vector3)

    Determines if there is an intersection between the current object and a BoundingSphere.

    Declaration
    public bool Intersects(ref BoundingSphere sphere, out Vector3 point)
    Parameters
    BoundingSphere sphere

    The sphere to test.

    Vector3 point

    When the method completes, contains the point of intersection, or Zero if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref BoundingSphere, out Single)

    Determines if there is an intersection between the current object and a BoundingSphere.

    Declaration
    public bool Intersects(ref BoundingSphere sphere, out float distance)
    Parameters
    BoundingSphere sphere

    The sphere to test.

    System.Single distance

    When the method completes, contains the distance of the intersection, or 0 if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Plane)

    Determines if there is an intersection between the current object and a Plane.

    Declaration
    public bool Intersects(ref Plane plane)
    Parameters
    Plane plane

    The plane to test

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Plane, out Vector3)

    Determines if there is an intersection between the current object and a Plane.

    Declaration
    public bool Intersects(ref Plane plane, out Vector3 point)
    Parameters
    Plane plane

    The plane to test.

    Vector3 point

    When the method completes, contains the point of intersection, or Zero if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Plane, out Single)

    Determines if there is an intersection between the current object and a Plane.

    Declaration
    public bool Intersects(ref Plane plane, out float distance)
    Parameters
    Plane plane

    The plane to test.

    System.Single distance

    When the method completes, contains the distance of the intersection, or 0 if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Ray)

    Determines if there is an intersection between the current object and a Ray.

    Declaration
    public bool Intersects(ref Ray ray)
    Parameters
    Ray ray

    The ray to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Ray, out Vector3)

    Determines if there is an intersection between the current object and a Ray.

    Declaration
    public bool Intersects(ref Ray ray, out Vector3 point)
    Parameters
    Ray ray

    The ray to test.

    Vector3 point

    When the method completes, contains the point of intersection, or Zero if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Vector3)

    Determines if there is an intersection between the current object and a point.

    Declaration
    public bool Intersects(ref Vector3 point)
    Parameters
    Vector3 point

    The point to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Vector3, ref Vector3, ref Vector3)

    Determines if there is an intersection between the current object and a triangle.

    Declaration
    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3)
    Parameters
    Vector3 vertex1

    The first vertex of the triangle to test.

    Vector3 vertex2

    The second vertex of the triangle to test.

    Vector3 vertex3

    The third vertex of the triangle to test.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Vector3, ref Vector3, ref Vector3, out Vector3)

    Determines if there is an intersection between the current object and a triangle.

    Declaration
    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3, out Vector3 point)
    Parameters
    Vector3 vertex1

    The first vertex of the triangle to test.

    Vector3 vertex2

    The second vertex of the triangle to test.

    Vector3 vertex3

    The third vertex of the triangle to test.

    Vector3 point

    When the method completes, contains the point of intersection, or Zero if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    Intersects(ref Vector3, ref Vector3, ref Vector3, out Single)

    Determines if there is an intersection between the current object and a triangle.

    Declaration
    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3, out float distance)
    Parameters
    Vector3 vertex1

    The first vertex of the triangle to test.

    Vector3 vertex2

    The second vertex of the triangle to test.

    Vector3 vertex3

    The third vertex of the triangle to test.

    System.Single distance

    When the method completes, contains the distance of the intersection, or 0 if there was no intersection.

    Returns
    System.Boolean

    Whether the two objects intersected.

    ToString()

    Returns a System.String that represents this instance.

    Declaration
    public override string ToString()
    Returns
    System.String

    A System.String that represents this instance.

    ToString(IFormatProvider)

    Returns a System.String that represents this instance.

    Declaration
    public string ToString(IFormatProvider formatProvider)
    Parameters
    System.IFormatProvider formatProvider

    The format provider.

    Returns
    System.String

    A System.String that represents this instance.

    ToString(String)

    Returns a System.String that represents this instance.

    Declaration
    public string ToString(string format)
    Parameters
    System.String format

    The format.

    Returns
    System.String

    A System.String that represents this instance.

    ToString(String, IFormatProvider)

    Returns a System.String that represents this instance.

    Declaration
    public string ToString(string format, IFormatProvider formatProvider)
    Parameters
    System.String format

    The format.

    System.IFormatProvider formatProvider

    The format provider.

    Returns
    System.String

    A System.String that represents this instance.

    Operators

    Equality(Ray, Ray)

    Tests for equality between two objects.

    Declaration
    public static bool operator ==(Ray left, Ray right)
    Parameters
    Ray left

    The first value to compare.

    Ray right

    The second value to compare.

    Returns
    System.Boolean

    true if left has the same value as right; otherwise,false.

    Inequality(Ray, Ray)

    Tests for inequality between two objects.

    Declaration
    public static bool operator !=(Ray left, Ray right)
    Parameters
    Ray left

    The first value to compare.

    Ray right

    The second value to compare.

    Returns
    System.Boolean

    true if left has a different value than right; otherwise, false.

    Extension Methods

    Extensions.ReflectiveCompare<T>(T, T)
    Extensions.RawClone<T>(T)
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat