![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
レイ More...
#include <Ray.hpp>
Public Member Functions | |
SIV3D_NODISCARD_CXX20 | Ray ()=default |
SIV3D_NODISCARD_CXX20 | Ray (Float3 _origin, Float3 normalizedDirection) noexcept |
template<class X , class Y , class Z > | |
SIV3D_NODISCARD_CXX20 | Ray (X ox, Y oy, Z oz, Float3 normalizedDirection) noexcept |
template<class X , class Y , class Z > | |
SIV3D_NODISCARD_CXX20 | Ray (Float3 _origin, X ndx, Y ndy, Z ndz) noexcept |
Float3 SIV3D_VECTOR_CALL | getOrigin () const noexcept |
レイの始点を返します。 More... | |
Ray &SIV3D_VECTOR_CALL | setOrigin (Float3 _origin) noexcept |
レイの始点を設定します。 More... | |
Float3 SIV3D_VECTOR_CALL | getDirection () const noexcept |
レイの方向(正規化ベクトル)を返します。 More... | |
Ray &SIV3D_VECTOR_CALL | setDirection (Float3 _direction) noexcept |
レイの方向(正規化ベクトル)を設定します。 More... | |
Float3 SIV3D_VECTOR_CALL | point_at (float distance) const noexcept |
始点からの距離を指定して、レイ上の点の座標を計算します。 More... | |
SIV3D_CONCEPT_ARITHMETIC Vec3 SIV3D_VECTOR_CALL | point_at (Arithmetic distance) const noexcept |
始点からの距離を指定して、レイ上の点の座標を計算します。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Triangle3D &triangle) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Sphere &sphere) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Plane &plane) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const InfinitePlane &plane) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Box &aabb) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const OrientedBox &obb) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const ViewFrustum &frustum) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Cylinder &cylinder) const |
レイが交差するかを調べます。 More... | |
Optional< float > SIV3D_VECTOR_CALL | intersects (const Cone &cone) const |
レイが交差するかを調べます。 More... | |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Triangle3D &triangle) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Sphere &sphere) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Plane &plane) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const InfinitePlane &plane) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Box &aabb) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const OrientedBox &obb) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const ViewFrustum &frustum) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Cylinder &cylinder) const |
Optional< Float3 > SIV3D_VECTOR_CALL | intersectsAt (const Cone &cone) const |
Public Attributes | |
SIMD_Float4 | origin |
始点 More... | |
SIMD_Float4 | direction |
方向(正規化ベクトル) More... | |
Friends | |
template<class CharType > | |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &output, const Ray &value) |
template<class CharType > | |
std::basic_istream< CharType > & | operator>> (std::basic_istream< CharType > &input, Ray &value) |
void | Formatter (FormatData &formatData, const Ray &value) |
レイ
|
default |
|
noexcept |
|
noexcept |
|
noexcept |
レイの方向(正規化ベクトル)を返します。
|
noexcept |
レイの始点を返します。
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Box & | aabb | ) | const |
レイが交差するかを調べます。
aabb | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Cone & | cone | ) | const |
レイが交差するかを調べます。
cone | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Cylinder & | cylinder | ) | const |
レイが交差するかを調べます。
cylinder | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const InfinitePlane & | plane | ) | const |
レイが交差するかを調べます。
plane | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const OrientedBox & | obb | ) | const |
レイが交差するかを調べます。
obb | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Plane & | plane | ) | const |
レイが交差するかを調べます。
plane | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Sphere & | sphere | ) | const |
レイが交差するかを調べます。
sphere | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const Triangle3D & | triangle | ) | const |
レイが交差するかを調べます。
triangle | 交差判定する相手の形状 |
Optional<float> SIV3D_VECTOR_CALL s3d::Ray::intersects | ( | const ViewFrustum & | frustum | ) | const |
レイが交差するかを調べます。
frustum | 交差判定する相手の形状 |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Box & | aabb | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Cone & | cone | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Cylinder & | cylinder | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const InfinitePlane & | plane | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const OrientedBox & | obb | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Plane & | plane | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Sphere & | sphere | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const Triangle3D & | triangle | ) | const |
Optional<Float3> SIV3D_VECTOR_CALL s3d::Ray::intersectsAt | ( | const ViewFrustum & | frustum | ) | const |
|
noexcept |
始点からの距離を指定して、レイ上の点の座標を計算します。
distance | 始点からの距離 |
|
noexcept |
始点からの距離を指定して、レイ上の点の座標を計算します。
distance | 始点からの距離 |
|
noexcept |
レイの方向(正規化ベクトル)を設定します。
_direction | 新しいレイの方向(正規化ベクトル) |
|
noexcept |
レイの始点を設定します。
_origin | 新しいレイの始点 |
|
friend |
|
friend |
|
friend |
SIMD_Float4 s3d::Ray::direction |
方向(正規化ベクトル)
SIMD_Float4 s3d::Ray::origin |
始点