#include <Segment.h>
Public Member Functions | |
Segment () | |
コンストラクタ | |
Segment (const Vector3 &origin, const Vector3 &direction) | |
コンストラクタ | |
Segment (float originX, float originY, float originZ, float directionX, float directionY, float directionZ) | |
コンストラクタ | |
Segment (const float *const source) | |
コンストラクタ | |
void | set (const Vector3 &origin, const Vector3 &direction) |
値の設定 | |
void | set (float originX, float originY, float originZ, float directionX, float directionY, float directionZ) |
値の設定 | |
void | set (const float *const source) |
値の設定 | |
void | setOrigin (const Vector3 &origin) |
原点の設定 | |
void | setDirection (const Vector3 &direction) |
方向の設定 | |
void | setPositions (const Vector3 &source, const Vector3 &target) |
位置の設定 | |
const Vector3 & | getOrigin () const |
原点の取得 | |
const Vector3 & | getDirection () const |
方向の取得 | |
const Vector3 & | getSourcePosition () const |
ソース位置の取得 | |
Vector3 | getTargetPosition () const |
ターゲット位置の取得 | |
bool | isZero () const |
ゼロセグメントかどうか | |
Segment | transform (const Matrix33 &matrix) const |
トランスフォーム | |
Segment | transform (const Matrix34 &matrix) const |
トランスフォーム | |
Segment | transform (const Matrix44 &matrix) const |
トランスフォーム | |
float | getDistance (const Vector3 &point) const |
点距離 | |
float | getSquaredDistance (const Vector3 &point) const |
点距離の二乗 | |
float | getDistance (const AxisAlignedBox &axisAlignedBox) const |
軸沿いボックス距離 | |
float | getSquaredDistance (const AxisAlignedBox &axisAlignedBox) const |
軸沿いボックス距離の二乗 | |
float | getDistance (const Capsule &capsule) const |
カプセル距離 | |
float | getSquaredDistance (const Capsule &capsule) const |
カプセル距離の二乗 | |
float | getDistance (const Cone &cone) const |
コーン距離 | |
float | getSquaredDistance (const Cone &cone) const |
コーン距離の二乗 | |
float | getDistance (const Line &line) const |
ライン距離 | |
float | getSquaredDistance (const Line &line) const |
ライン距離の二乗 | |
float | getDistance (const OrientedBox &orientedBox) const |
指向性ボックス距離 | |
float | getSquaredDistance (const OrientedBox &orientedBox) const |
指向性ボックス距離の二乗 | |
float | getDistance (const Plane &plane) const |
平面距離 | |
float | getSquaredDistance (const Plane &plane) const |
平面距離の二乗 | |
float | getDistance (const Ray &ray) const |
レイ距離 | |
float | getSquaredDistance (const Ray &ray) const |
レイ距離の二乗 | |
float | getDistance (const Segment &segment) const |
セグメント距離 | |
float | getSquaredDistance (const Segment &segment) const |
セグメント距離の二乗 | |
float | getDistance (const Sphere &sphere) const |
球距離 | |
float | getSquaredDistance (const Sphere &sphere) const |
球距離の二乗 | |
float | getDistance (const Triangle &triangle) const |
三角距離 | |
float | getSquaredDistance (const Triangle &triangle) const |
三角距離の二乗 | |
bool | intersect (const Vector3 &point, float range=Math::epsilon) const |
点交差 | |
bool | intersect (const AxisAlignedBox &axisAlignedBox) const |
軸沿いボックス交差 | |
bool | intersect (const Capsule &capsule) const |
カプセル交差 | |
bool | intersect (const Cone &cone) const |
コーン交差 | |
bool | intersect (const Line &line, float range=Math::epsilon) const |
ライン交差 | |
bool | intersect (const OrientedBox &orientedBox) const |
指向性ボックス交差 | |
bool | intersect (const Plane &plane) const |
平面交差 | |
bool | intersect (const Ray &ray, float range=Math::epsilon) const |
レイ交差 | |
bool | intersect (const Segment &segment, float range=Math::epsilon) const |
セグメント交差 | |
bool | intersect (const Sphere &sphere) const |
球交差 | |
bool | intersect (const Triangle &triangle) const |
三角交差 | |
bool | operator== (const Segment &target) const |
セグメントが同じかどうか | |
bool | epsilonEquals (const Segment &target, float epsilon) const |
セグメントが同じかどうか | |
bool | operator!= (const Segment &target) const |
セグメントが同じでないかどうか | |
bool | notEpsilonEquals (const Segment &target, float epsilon) const |
セグメントが同じでないかどうか | |
String | toString () const |
文字列化 | |
Static Public Attributes | |
const Segment | zero |
ゼロセグメント |
このクラスは継承しないで下さい。
Definition at line 51 of file Segment.h.
|
コンストラクタ このコンストラクタは初期値の設定を行わないため値は不定です。 Definition at line 67 of file Segment.h. Referenced by transform(). |
|
コンストラクタ
|
|
コンストラクタ
|
|
コンストラクタ
|
|
セグメントが同じかどうか
Definition at line 537 of file Segment.h. References Assert, direction_, Lamp::Vector3::epsilonEquals(), and origin_. |
|
方向の取得
Definition at line 178 of file Segment.h. Referenced by Lamp::PlaneIntersection::intersect(), Lamp::AxisAlignedBoxIntersection::intersect(), Lamp::SegmentDistance::squaredDistance(), Lamp::RayDistance::squaredDistance(), and Lamp::LineDistance::squaredDistance(). |
|
三角距離
Definition at line 413 of file Segment.h. References getSquaredDistance(). |
|
球距離
Definition at line 396 of file Segment.h. References getSquaredDistance(). |
|
セグメント距離
Definition at line 379 of file Segment.h. References getSquaredDistance(). |
|
レイ距離
Definition at line 362 of file Segment.h. References getSquaredDistance(). |
|
平面距離
Definition at line 86 of file Segment.cpp. |
|
指向性ボックス距離
Definition at line 327 of file Segment.h. References getSquaredDistance(). |
|
ライン距離
Definition at line 310 of file Segment.h. References getSquaredDistance(). |
|
コーン距離
Definition at line 293 of file Segment.h. References getSquaredDistance(). |
|
カプセル距離
Definition at line 276 of file Segment.h. References getSquaredDistance(). |
|
軸沿いボックス距離
Definition at line 259 of file Segment.h. References getSquaredDistance(). |
|
点距離
Definition at line 242 of file Segment.h. References getSquaredDistance(). Referenced by getSquaredDistance(). |
|
原点の取得
Definition at line 172 of file Segment.h. Referenced by Lamp::PlaneIntersection::intersect(), Lamp::AxisAlignedBoxIntersection::intersect(), Lamp::SegmentDistance::squaredDistance(), Lamp::RayDistance::squaredDistance(), and Lamp::LineDistance::squaredDistance(). |
|
ソース位置の取得
|
|
三角距離の二乗
Definition at line 106 of file Segment.cpp. |
|
球距離の二乗
Definition at line 101 of file Segment.cpp. |
|
セグメント距離の二乗
Definition at line 96 of file Segment.cpp. |
|
レイ距離の二乗
Definition at line 91 of file Segment.cpp. |
|
平面距離の二乗
Definition at line 351 of file Segment.h. References getDistance(). |
|
指向性ボックス距離の二乗
Definition at line 81 of file Segment.cpp. |
|
ライン距離の二乗
Definition at line 76 of file Segment.cpp. |
|
コーン距離の二乗
Definition at line 71 of file Segment.cpp. |
|
カプセル距離の二乗
Definition at line 66 of file Segment.cpp. |
|
軸沿いボックス距離の二乗
Definition at line 61 of file Segment.cpp. |
|
点距離の二乗
Definition at line 56 of file Segment.cpp. Referenced by getDistance(), and Lamp::SegmentIntersection::intersect(). |
|
ターゲット位置の取得
|
|
三角交差
Definition at line 163 of file Segment.cpp. |
|
球交差
Definition at line 158 of file Segment.cpp. |
|
セグメント交差
Definition at line 153 of file Segment.cpp. |
|
レイ交差
Definition at line 148 of file Segment.cpp. |
|
平面交差
Definition at line 143 of file Segment.cpp. |
|
指向性ボックス交差
Definition at line 138 of file Segment.cpp. |
|
ライン交差
Definition at line 133 of file Segment.cpp. |
|
コーン交差
Definition at line 128 of file Segment.cpp. |
|
カプセル交差
Definition at line 123 of file Segment.cpp. |
|
軸沿いボックス交差
Definition at line 118 of file Segment.cpp. |
|
点交差
Definition at line 113 of file Segment.cpp. |
|
ゼロセグメントかどうか
Definition at line 200 of file Segment.h. References Lamp::Vector3::epsilonEquals(). |
|
セグメントが同じでないかどうか
Definition at line 560 of file Segment.h. References Assert, direction_, Lamp::Vector3::notEpsilonEquals(), and origin_. |
|
セグメントが同じでないかどうか
Definition at line 549 of file Segment.h. References direction_, and origin_. |
|
セグメントが同じかどうか
Definition at line 526 of file Segment.h. References direction_, and origin_. |
|
値の設定
Definition at line 134 of file Segment.h. References Lamp::Vector3::set(). |
|
値の設定
Definition at line 124 of file Segment.h. References Lamp::Vector3::set(). |
|
値の設定
|
|
方向の設定
|
|
原点の設定
|
|
位置の設定
|
|
文字列化
Definition at line 574 of file Segment.h. References Lamp::String::format(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
トランスフォーム
Definition at line 230 of file Segment.h. References Lamp::Matrix44::multiply33(), and Segment(). |
|
トランスフォーム
Definition at line 221 of file Segment.h. References Lamp::Matrix34::multiply33(), and Segment(). |
|
トランスフォーム
Definition at line 212 of file Segment.h. References Segment(). |