| public |
Inheritance Graph
graph BT
_Sphere
click _Sphere "classGeometry_1_1__Sphere"
Description
Representation of a sphere in three-dimensional space. The sphere is stored as the three-dimensional position of its center and its radius.
Author: Benjamin Eikel
Date: 2011-10-14
Construction
| _Sphere() Construct a unit sphere centered at the origin. |
|
| _Sphere( vec3_t _center, value_t _radius) Construct a sphere with the given center and radius. |
Information
| const vec3_t & | getCenter() const |
| value_t | getRadius() const |
| bool | isValid() const |
| bool | operator==(const _Sphere < value_t > & other) const |
| value_t | distance(const vec3_t & position) const |
| bool | isOutside(const vec3_t & position) const |
| vec3_t | calcCartesianCoordinate( value_t inclination, value_t azimuth) const |
| vec3_t | calcCartesianCoordinateUnitSphere( value_t inclination, value_t azimuth) |
Modification
| void | setCenter(const vec3_t & _center) |
| void | setRadius( value_t _radius) |
| _Sphere & | include(const vec3_t & position) Change the sphere such that it contains its old volume and additionally the given position. |
| _Sphere & | include(const _Sphere & other) Change the sphere such that it contains its old volume and additionally the given sphere. |
Serialization
Public Types
| typedef T_ | value_t |
| typedef _Vec3 < value_t > | vec3_t |
Documentation
function
Geometry::_Sphere::_Sphere
| public | inline |
| _Sphere( | ) |
Construct a unit sphere centered at the origin.
Defined in Geometry/Sphere.h:42
function
Geometry::_Sphere::_Sphere
| public | inline |
| _Sphere( | vec3_t | _center, |
| value_t | _radius | |
| ) |
Construct a sphere with the given center and radius.
Defined in Geometry/Sphere.h:46
function
Geometry::_Sphere::getCenter
| public | const | inline |
| const vec3_t & getCenter( | ) const |
Defined in Geometry/Sphere.h:52
function
Geometry::_Sphere::getRadius
| public | const | inline |
| value_t getRadius( | ) const |
Defined in Geometry/Sphere.h:55
function
Geometry::_Sphere::isValid
| public | const | inline |
| bool isValid( | ) const |
Defined in Geometry/Sphere.h:58
function
Geometry::_Sphere::operator==
| public | const | inline |
| bool operator==( | const _Sphere < value_t > & | other ) const |
Defined in Geometry/Sphere.h:61
function
Geometry::_Sphere::distance
| public | const | inline |
| value_t distance( | const vec3_t & | position ) const |
Calculate the distance of the given position to the sphere.
Parameters
- position
- Position vector
Parameters
- >0
- The position is outside the sphere.
- 0
- The position is on the surface of the sphere.
- <0
- The position is inside the sphere.
Defined in Geometry/Sphere.h:72
function
Geometry::_Sphere::isOutside
| public | const | inline |
| bool isOutside( | const vec3_t & | position ) const |
Check if the given position is outside the sphere.
Parameters
- position
- Position vector
Parameters
- true
- The position is outside the sphere.
- false
- The position is inside the sphere, or on the surface of the sphere
Defined in Geometry/Sphere.h:82
function
Geometry::_Sphere::calcCartesianCoordinate
| public | const | inline |
| vec3_t calcCartesianCoordinate( | value_t | inclination, |
| value_t | azimuth | |
| ) const |
Convert a position on this sphere given in spherical coordinates into Cartesian coordinates. The functioncalcCartesianCoordinateUnitSphereis called, and center and radius of this sphere are applied to the result.
See also: calcCartesianCoordinateUnitSphere
Defined in Geometry/Sphere.h:93
function
Geometry::_Sphere::calcCartesianCoordinateUnitSphere
| public | static | inline |
| vec3_t calcCartesianCoordinateUnitSphere( | value_t | inclination, |
| value_t | azimuth | |
| ) |
Convert a position on the unit sphere given in spherical coordinates into Cartesian coordinates. The unit sphere is centered at the origin.
Parameters
- inclination
- Inclination angle from [0, PI]
- azimuth
- Azimuth angle from [0, 2 * PI)
Returns
Three-dimensional vector representing a position on the unit sphere
Note: Aninclinationof zero corresponds to the north pole (0, 1, 0), independent of the azimuth.
Note: Aninclinationof PI corresponds to the south pole (0, -1, 0), independent of the azimuth.
Note: Aninclinationof PI/2 andazimuthof zero corresponds to the vector (1, 0, 0).
Note: Aninclinationof PI/2 andazimuthof 1/2 * PI corresponds to the vector (0, 0, 1).
Note: Aninclinationof PI/2 andazimuthof PI corresponds to the vector (-1, 0, 0).
Note: Aninclinationof PI/2 andazimuthof 3/2 * PI corresponds to the vector (0, 0, -1).
Defined in Geometry/Sphere.h:111
function
Geometry::_Sphere::setCenter
| public | inline |
| void setCenter( | const vec3_t & | _center ) |
Defined in Geometry/Sphere.h:120
function
Geometry::_Sphere::setRadius
| public | inline |
| void setRadius( | value_t | _radius ) |
Defined in Geometry/Sphere.h:123
function
Geometry::_Sphere::include
| public | inline |
| _Sphere & include( | const vec3_t & | position ) |
Change the sphere such that it contains its old volume and additionally the given position.
Defined in Geometry/Sphere.h:128
function
Geometry::_Sphere::include
| public | inline |
| _Sphere & include( | const _Sphere & | other ) |
Change the sphere such that it contains its old volume and additionally the given sphere.
Defined in Geometry/Sphere.h:152
typedef
Geometry::_Sphere::value_t
| public |
| typedef T_ value_t |
Defined in Geometry/Sphere.h:31
typedef
Geometry::_Sphere::vec3_t
| public |
| typedef _Vec3 < value_t > vec3_t |
Defined in Geometry/Sphere.h:32