#include <Sphere.h>
Public Member Functions | |
Sphere () | |
コンストラクタ | |
Sphere (const Vector3 ¢er, float radius) | |
コンストラクタ | |
Sphere (float centerX, float centerY, float centerZ, float radius) | |
コンストラクタ | |
Sphere (const float *const source) | |
コンストラクタ | |
void | set (const Vector3 ¢er, float radius) |
値の設定 | |
void | set (float centerX, float centerY, float centerZ, float radius) |
値の設定 | |
void | set (const float *const source) |
値の設定 | |
void | setCenter (float centerX, float centerY, float centerZ) |
中心の設定 | |
void | setCenter (const Vector3 ¢er) |
中心の設定 | |
void | setRadius (float radius) |
半径の設定 | |
const Vector3 & | getCenter () const |
中心の取得 | |
float | getRadius () const |
半径の取得 | |
const Sphere & | merge (const Sphere &target) |
マージ | |
const Sphere & | merge (const Vector3 &target) |
マージ | |
const Sphere & | append (const Vector3 &target) |
追加 | |
bool | isZero () const |
ゼロ球かどうか | |
bool | isUnit () const |
単位球かどうか | |
Sphere | transform (const Matrix33 &matrix) const |
トランスフォーム | |
Sphere | transform (const Matrix34 &matrix) const |
トランスフォーム | |
Sphere | transform (const Matrix44 &matrix) const |
トランスフォーム | |
Sphere | scaledTransform (const Matrix33 &matrix) const |
スケール有りトランスフォーム | |
Sphere | scaledTransform (const Matrix34 &matrix) const |
スケール有りトランスフォーム | |
Sphere | scaledTransform (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) const |
点交差 | |
bool | intersect (const AxisAlignedBox &axisAlignedBox) const |
軸沿いボックス交差 | |
bool | intersect (const Capsule &capsule) const |
カプセル交差 | |
bool | intersect (const Cone &cone) const |
コーン交差 | |
bool | intersect (const Line &line) const |
ライン交差 | |
bool | intersect (const OrientedBox &orientedBox) const |
指向性ボックス交差 | |
bool | intersect (const Plane &plane) const |
平面交差 | |
bool | intersect (const Ray &ray) const |
レイ交差 | |
bool | intersect (const Segment &segment) const |
セグメント交差 | |
bool | intersect (const Sphere &sphere) const |
球交差 | |
bool | intersect (Intersection *intersection, const Sphere &sphere) const |
球交差 | |
bool | intersect (const Triangle &triangle) const |
三角交差 | |
bool | intersect (Intersection *intersection, const Triangle &triangle) const |
三角交差 | |
bool | operator== (const Sphere &target) const |
球が同じかどうか | |
bool | epsilonEquals (const Sphere &target, float epsilon) const |
球が同じかどうか | |
bool | operator!= (const Sphere &target) const |
球が同じでないかどうか | |
bool | notEpsilonEquals (const Sphere &target, float epsilon) const |
球が同じでないかどうか | |
String | toString () const |
文字列化 | |
Static Public Attributes | |
const Sphere | zero |
ゼロ球 | |
const Sphere | unit |
単位球 |
このクラスは継承しないで下さい。
Definition at line 52 of file Sphere.h.
|
コンストラクタ このコンストラクタは初期値の設定を行わないため値は不定です。 Definition at line 71 of file Sphere.h. Referenced by scaledTransform(), and transform(). |
|
コンストラクタ
|
|
コンストラクタ
|
|
コンストラクタ
|
|
追加 中心は動かさない。適切な中心が設定されている状態で使用する。
Definition at line 234 of file Sphere.h. References Lamp::Vector3::getLength(), and Lamp::Vector3::isZero(). Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), and Lamp::CalculateBoundingSphereFilter::filterMesh(). |
|
球が同じかどうか
Definition at line 672 of file Sphere.h. References Assert, center_, Lamp::Vector3::epsilonEquals(), and radius_. |
|
|
三角距離
Definition at line 537 of file Sphere.h. References getSquaredDistance(). |
|
球距離
Definition at line 520 of file Sphere.h. References getSquaredDistance(). |
|
セグメント距離
Definition at line 503 of file Sphere.h. References getSquaredDistance(). |
|
レイ距離
Definition at line 486 of file Sphere.h. References getSquaredDistance(). |
|
平面距離
Definition at line 91 of file Sphere.cpp. |
|
指向性ボックス距離
Definition at line 451 of file Sphere.h. References getSquaredDistance(). |
|
ライン距離
Definition at line 434 of file Sphere.h. References getSquaredDistance(). |
|
コーン距離
Definition at line 417 of file Sphere.h. References getSquaredDistance(). |
|
カプセル距離
Definition at line 400 of file Sphere.h. References getSquaredDistance(). |
|
軸沿いボックス距離
Definition at line 383 of file Sphere.h. References getSquaredDistance(). |
|
点距離
Definition at line 366 of file Sphere.h. References getSquaredDistance(). Referenced by getSquaredDistance(). |
|
|
三角距離の二乗
Definition at line 111 of file Sphere.cpp. |
|
球距離の二乗
Definition at line 106 of file Sphere.cpp. |
|
セグメント距離の二乗
Definition at line 101 of file Sphere.cpp. |
|
レイ距離の二乗
Definition at line 96 of file Sphere.cpp. |
|
平面距離の二乗
Definition at line 475 of file Sphere.h. References getDistance(). |
|
指向性ボックス距離の二乗
Definition at line 86 of file Sphere.cpp. |
|
ライン距離の二乗
Definition at line 81 of file Sphere.cpp. |
|
コーン距離の二乗
Definition at line 76 of file Sphere.cpp. |
|
カプセル距離の二乗
Definition at line 71 of file Sphere.cpp. |
|
軸沿いボックス距離の二乗
Definition at line 66 of file Sphere.cpp. |
|
点距離の二乗
Definition at line 61 of file Sphere.cpp. Referenced by getDistance(). |
|
三角交差
Definition at line 178 of file Sphere.cpp. |
|
三角交差
Definition at line 173 of file Sphere.cpp. |
|
球交差
Definition at line 168 of file Sphere.cpp. |
|
球交差
Definition at line 163 of file Sphere.cpp. |
|
セグメント交差
Definition at line 158 of file Sphere.cpp. |
|
レイ交差
Definition at line 153 of file Sphere.cpp. |
|
平面交差
Definition at line 148 of file Sphere.cpp. |
|
指向性ボックス交差
Definition at line 143 of file Sphere.cpp. |
|
ライン交差
Definition at line 138 of file Sphere.cpp. |
|
コーン交差
Definition at line 128 of file Sphere.cpp. |
|
カプセル交差
Definition at line 133 of file Sphere.cpp. |
|
軸沿いボックス交差
Definition at line 123 of file Sphere.cpp. |
|
点交差
Definition at line 118 of file Sphere.cpp. Referenced by Lamp::Camera::clipping(), Lamp::DeformedMeshGeometry::intersectBounding(), and Lamp::StaticSphereCollision::intersection(). |
|
単位球かどうか
|
|
ゼロ球かどうか
|
|
マージ 中心が動く。 適切な中心とappendを使用した場合と比べて、球が大きくなってしまう。
Definition at line 213 of file Sphere.h. References Lamp::Vector3::getLength(), and Lamp::Vector3::isZero(). |
|
マージ
Definition at line 182 of file Sphere.h. References center_, Lamp::Vector3::getLength(), Lamp::Vector3::isZero(), and radius_. |
|
球が同じでないかどうか
Definition at line 694 of file Sphere.h. References Assert, center_, Lamp::Vector3::notEpsilonEquals(), and radius_. |
|
球が同じでないかどうか
|
|
球が同じかどうか
|
|
スケール有りトランスフォーム 一番スケールの大きな軸にあわせて半径が膨らみます。
Definition at line 343 of file Sphere.h. References Lamp::Matrix44::m, and Sphere(). |
|
スケール有りトランスフォーム 一番スケールの大きな軸にあわせて半径が膨らみます。
Definition at line 321 of file Sphere.h. References Lamp::Matrix34::m, and Sphere(). |
|
スケール有りトランスフォーム 一番スケールの大きな軸にあわせて半径が膨らみます。
Definition at line 299 of file Sphere.h. References Lamp::Matrix33::m, and Sphere(). Referenced by Lamp::Mesh::traverse(), Lamp::StaticSphereCollision::traverseImplement(), and Lamp::StaticDeformedMeshCollision::traverseImplement(). |
|
値の設定
Definition at line 132 of file Sphere.h. References Lamp::Vector3::set(). |
|
値の設定
Definition at line 123 of file Sphere.h. References Lamp::Vector3::set(). |
|
値の設定
Definition at line 111 of file Sphere.h. Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), Lamp::Camera::clippingSetup(), and Lamp::StaticSphereCollision::setSphere(). |
|
中心の設定
|
|
中心の設定
Definition at line 143 of file Sphere.h. References Lamp::Vector3::set(). Referenced by Lamp::TextSceneLoader::readSphere(), Lamp::TextCollisionLoader::readSphere(), and Lamp::StaticSphereCollision::setCenter(). |
|
半径の設定
Definition at line 157 of file Sphere.h. Referenced by Lamp::CalculateBoundingSphereFilter::filterMesh(), Lamp::TextSceneLoader::readSphere(), Lamp::TextCollisionLoader::readSphere(), and Lamp::StaticSphereCollision::setRadius(). |
|
文字列化
Definition at line 708 of file Sphere.h. References Lamp::String::format(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
トランスフォーム
Definition at line 287 of file Sphere.h. References Sphere(). |
|
トランスフォーム
Definition at line 278 of file Sphere.h. References Sphere(). |
|
トランスフォーム
Definition at line 269 of file Sphere.h. References Sphere(). Referenced by Lamp::StaticDeformedMeshCollision::intersection(), Lamp::Mesh::traverse(), Lamp::StaticSphereCollision::traverseImplement(), and Lamp::StaticDeformedMeshCollision::traverseImplement(). |