Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    Ray Struct

    Namespace: Stride.Core.Mathematics
    Assembly: Stride.Core.Mathematics.dll

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

    [DataContract]
    public struct Ray : IEquatable<Ray>, IFormattable
    Name Description
    Constructors
    Ray(Vector3, Vector3)

    Initializes a new instance of the Ray struct.

    Fields
    Direction

    The normalized direction in which the ray points.

    Position

    The position in three dimensional space where the ray starts.

    Methods
    Equals(Ray)

    Determines whether the specified Vector4 is equal to this instance.

    Equals(Object)

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

    GetHashCode()

    Returns a hash code for this instance.

    Intersects(ref BoundingBox)

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

    Intersects(ref BoundingBox, out Vector3)

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

    Intersects(ref BoundingBox, out Single)

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

    Intersects(ref BoundingSphere)

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

    Intersects(ref BoundingSphere, out Vector3)

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

    Intersects(ref BoundingSphere, out Single)

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

    Intersects(ref Plane)

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

    Intersects(ref Plane, out Vector3)

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

    Intersects(ref Plane, out Single)

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

    Intersects(ref Ray)

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

    Intersects(ref Ray, out Vector3)

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

    Intersects(ref Vector3)

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

    Intersects(ref Vector3, ref Vector3, ref Vector3)

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

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

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

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

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

    ToString()

    Returns a System.String that represents this instance.

    ToString(IFormatProvider)

    Returns a System.String that represents this instance.

    ToString(String)

    Returns a System.String that represents this instance.

    ToString(String, IFormatProvider)

    Returns a System.String that represents this instance.

    Operators
    Equality(Ray, Ray)

    Tests for equality between two objects.

    Inequality(Ray, Ray)

    Tests for inequality between two objects.

    | Improve this Doc View Source

    Constructors


    Ray(Vector3, Vector3)

    Initializes a new instance of the Ray struct.

    public Ray(Vector3 position, Vector3 direction)
    Parameters
    Type Name Description
    Vector3 position

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

    Vector3 direction

    The normalized direction of the ray.

    | Improve this Doc View Source

    Fields


    Direction

    The normalized direction in which the ray points.

    public Vector3 Direction
    Field Value
    Type Description
    Vector3

    Position

    The position in three dimensional space where the ray starts.

    public Vector3 Position
    Field Value
    Type Description
    Vector3
    | Improve this Doc View Source

    Methods


    Equals(Ray)

    Determines whether the specified Vector4 is equal to this instance.

    public bool Equals(Ray value)
    Parameters
    Type Name Description
    Ray value

    The Vector4 to compare with this instance.

    Returns
    Type Description
    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.

    public override bool Equals(object value)
    Parameters
    Type Name Description
    System.Object value

    The System.Object to compare with this instance.

    Returns
    Type Description
    System.Boolean

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

    Overrides
    System.ValueType.Equals(System.Object)

    GetHashCode()

    Returns a hash code for this instance.

    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

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

    Overrides
    System.ValueType.GetHashCode()

    Intersects(ref BoundingBox)

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

    public bool Intersects(ref BoundingBox box)
    Parameters
    Type Name Description
    BoundingBox box

    The box to test.

    Returns
    Type Description
    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.

    public bool Intersects(ref BoundingBox box, out Vector3 point)
    Parameters
    Type Name Description
    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
    Type Description
    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.

    public bool Intersects(ref BoundingBox box, out float distance)
    Parameters
    Type Name Description
    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
    Type Description
    System.Boolean

    Whether the two objects intersected.


    Intersects(ref BoundingSphere)

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

    public bool Intersects(ref BoundingSphere sphere)
    Parameters
    Type Name Description
    BoundingSphere sphere

    The sphere to test.

    Returns
    Type Description
    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.

    public bool Intersects(ref BoundingSphere sphere, out Vector3 point)
    Parameters
    Type Name Description
    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
    Type Description
    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.

    public bool Intersects(ref BoundingSphere sphere, out float distance)
    Parameters
    Type Name Description
    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
    Type Description
    System.Boolean

    Whether the two objects intersected.


    Intersects(ref Plane)

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

    public bool Intersects(ref Plane plane)
    Parameters
    Type Name Description
    Plane plane

    The plane to test

    Returns
    Type Description
    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.

    public bool Intersects(ref Plane plane, out Vector3 point)
    Parameters
    Type Name Description
    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
    Type Description
    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.

    public bool Intersects(ref Plane plane, out float distance)
    Parameters
    Type Name Description
    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
    Type Description
    System.Boolean

    Whether the two objects intersected.


    Intersects(ref Ray)

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

    public bool Intersects(ref Ray ray)
    Parameters
    Type Name Description
    Ray ray

    The ray to test.

    Returns
    Type Description
    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.

    public bool Intersects(ref Ray ray, out Vector3 point)
    Parameters
    Type Name Description
    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
    Type Description
    System.Boolean

    Whether the two objects intersected.


    Intersects(ref Vector3)

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

    public bool Intersects(ref Vector3 point)
    Parameters
    Type Name Description
    Vector3 point

    The point to test.

    Returns
    Type Description
    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.

    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3)
    Parameters
    Type Name Description
    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
    Type Description
    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.

    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3, out Vector3 point)
    Parameters
    Type Name Description
    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
    Type Description
    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.

    public bool Intersects(ref Vector3 vertex1, ref Vector3 vertex2, ref Vector3 vertex3, out float distance)
    Parameters
    Type Name Description
    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
    Type Description
    System.Boolean

    Whether the two objects intersected.


    ToString()

    Returns a System.String that represents this instance.

    public override string ToString()
    Returns
    Type Description
    System.String

    A System.String that represents this instance.

    Overrides
    System.ValueType.ToString()

    ToString(IFormatProvider)

    Returns a System.String that represents this instance.

    public string ToString(IFormatProvider formatProvider)
    Parameters
    Type Name Description
    System.IFormatProvider formatProvider

    The format provider.

    Returns
    Type Description
    System.String

    A System.String that represents this instance.


    ToString(String)

    Returns a System.String that represents this instance.

    public string ToString(string format)
    Parameters
    Type Name Description
    System.String format

    The format.

    Returns
    Type Description
    System.String

    A System.String that represents this instance.


    ToString(String, IFormatProvider)

    Returns a System.String that represents this instance.

    public string ToString(string format, IFormatProvider formatProvider)
    Parameters
    Type Name Description
    System.String format

    The format.

    System.IFormatProvider formatProvider

    The format provider.

    Returns
    Type Description
    System.String

    A System.String that represents this instance.

    | Improve this Doc View Source

    Operators


    Equality(Ray, Ray)

    Tests for equality between two objects.

    public static bool operator ==(Ray left, Ray right)
    Parameters
    Type Name Description
    Ray left

    The first value to compare.

    Ray right

    The second value to compare.

    Returns
    Type Description
    System.Boolean

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


    Inequality(Ray, Ray)

    Tests for inequality between two objects.

    public static bool operator !=(Ray left, Ray right)
    Parameters
    Type Name Description
    Ray left

    The first value to compare.

    Ray right

    The second value to compare.

    Returns
    Type Description
    System.Boolean

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


    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation