Torus3
public struct Torus3<Vector> : GeometricType where Vector : Vector3FloatingPoint
extension Torus3: BoundableType
extension Torus3: VolumetricType
extension Torus3: PointProjectableType
extension Torus3: Equatable where Vector: Equatable, Scalar: Equatable
extension Torus3: Hashable where Vector: Hashable, Scalar: Hashable
extension Torus3: SignedDistanceMeasurableType where Vector.Scalar: Real
Represents a three dimensional torus shape as a center point, an axis of rotation around that center point, and two radii describing the radius of a circle, and the radius of the axis of rotation of the circle around the center point of the torus.
-
Convenience for
Vector.Scalar.Declaration
Swift
public typealias Scalar = Vector.Scalar -
The geometric center point of the torus.
Declaration
Swift
public var center: Vector -
The axis of revolution of the circle that composes the tube of the torus. The major radius of the torus expands from
center, perpendicular to this axis bymajorRadius, and sweeps around forming the tube of the torus.Declaration
Swift
@UnitVector public var axis: Vector { get set } -
The radius from the center of the torus to the center of the tube.
Declaration
Swift
public var majorRadius: Scalar -
The radius of the tube of the torus.
Declaration
Swift
public var minorRadius: Scalar -
Gets the minimal bounding box capable of fully containing all the points of this
Torus3.Declaration
Swift
@inlinable public var bounds: AABB<Vector> { get } -
Returns
trueif a given point vector is enclosed within the volume of thisTorus3.Declaration
Swift
public func contains(_ vector: Vector) -> Bool -
Declaration
Swift
public func project(_ vector: Vector) -> Vector
-
Declaration
Swift
public func signedDistance(to point: Vector) -> Vector.Scalar