![]() | RayShape Class |
Namespace: DigitalRune.Geometry.Shapes
The RayShape type exposes the following members.
Name | Description | |
---|---|---|
![]() | RayShape |
Initializes a new instance of the RayShape class.
|
![]() | RayShape(Ray) |
Initializes a new instance of the RayShape class from a Ray.
|
![]() | RayShape(Vector3F, Vector3F, Single) |
Initializes a new instance of the Line class with the given origin,
direction and length.
|
Name | Description | |
---|---|---|
![]() | Clone |
Creates a new Shape that is a clone (deep copy) of the current instance.
(Inherited from Shape.) |
![]() | CloneCore |
Makes the instance a clone (deep copy) of the specified Shape.
(Overrides ShapeCloneCore(Shape).) |
![]() | CreateInstanceCore |
When implemented in a derived class, creates a new instance of the Shape
derived class.
(Overrides ShapeCreateInstanceCore.) |
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetAabb |
Computes the axis-aligned bounding box (AABB) for this shape in local space.
(Inherited from Shape.) |
![]() | GetAabb(Pose) |
Computes the axis-aligned bounding box (AABB) for this shape positioned in world space using
the given Pose.
(Inherited from Shape.) |
![]() | GetAabb(Vector3F, Pose) |
Computes the axis-aligned bounding box (AABB) for this shape positioned in world space using
the given scale and Pose.
(Overrides ConvexShapeGetAabb(Vector3F, Pose).) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetMesh |
Gets a mesh that represents this shape.
(Inherited from Shape.) |
![]() | GetSupportPoint(Vector3F) |
Gets a support point for a given direction.
(Overrides ConvexShapeGetSupportPoint(Vector3F).) |
![]() | GetSupportPoint(Vector3F, Vector3F) |
Gets a support point for a given direction and a given non-uniform scaling.
(Inherited from ConvexShape.) |
![]() | GetSupportPointNormalized |
Gets a support point for a given normalized direction vector.
(Overrides ConvexShapeGetSupportPointNormalized(Vector3F).) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetVolume |
Gets the volume of this shape.
(Overrides ShapeGetVolume(Single, Int32).) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | OnChanged |
Raises the Changed event.
(Inherited from Shape.) |
![]() | OnGetMesh |
Called when a mesh should be generated for the shape.
(Overrides ConvexShapeOnGetMesh(Single, Int32).) |
![]() | ToString | (Overrides ObjectToString.) |
Name | Description | |
---|---|---|
![]() | Direction |
Gets or sets the direction of the ray.
|
![]() | InnerPoint |
Gets an inner point.
(Overrides ShapeInnerPoint.) |
![]() | Length |
Gets or sets the finite length.
|
![]() | Origin |
Gets or sets the origin of the ray.
|
![]() | StopsAtFirstHit |
Gets or sets a value indicating whether the ray stops at the first (closest) object that was
hit.
|
This class can be used if an IGeometricObject with a ray shape is needed. Use the Ray structure instead if you need a lightweight representation of a ray (avoids allocating memory on the heap).
In contrast to a real ray, a RayShape object has a finite length! Infinite rays should not be used because finite rays are faster and produce less numerical problems.
Important: Do not put rays into composite shapes (for example CompositeShape). If a composite shape collides with another object, all contacts of this object pair are merged into a single ContactSet. Thus, ray hits of child rays of the composite shape are "merged" with normal contacts of other child shapes; the result is undefined.