#include <opennurbs_sphere.h>

Public Member Functions

 ON_Sphere ()
 
 ON_Sphere (const ON_3dPoint &center, double radius)
 
 ~ON_Sphere ()
 
ON_BoundingBox BoundingBox () const
 
ON_3dPoint Center () const
 
bool ClosestPointTo (ON_3dPoint test_point, double *longitude_radians, double *latitude_radians) const
 returns parameters of point on sphere that is closest to given point More...
 
ON_3dPoint ClosestPointTo (ON_3dPoint test_point) const
 returns point on sphere that is closest to given point More...
 
bool Create (const ON_3dPoint &center, double radius)
 
double Diameter () const
 
int GetNurbForm (ON_NurbsSurface &) const
 parameterization of NURBS surface does not match sphere's transcendental paramaterization More...
 
bool IsValid () const
 
ON_Circle LatitudeDegrees (double latitude_degrees) const
 
ON_Circle LatitudeRadians (double latitude_radians) const
 
ON_Circle LongitudeDegrees (double longitude_degrees) const
 
ON_Circle LongitudeRadians (double longitude_radians) const
 
ON_3dVector NormalAt (double longitude_radians, double latitude_radians) const
 
ON_3dPoint NorthPole () const
 
ON_3dPoint PointAt (double longitude_radians, double latitude_radians) const
 
double Radius () const
 
ON_RevSurfaceRevSurfaceForm (bool bArcLengthParameterization, ON_RevSurface *srf=nullptr) const
 Creates a surface of revolution definition of the sphere. More...
 
ON_RevSurfaceRevSurfaceForm (ON_RevSurface *srf=nullptr) const
 
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis_of_rotation)
 For intersections see ON_Intersect();. More...
 
bool Rotate (double angle_radians, const ON_3dVector &axis_of_rotation)
 
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis_of_rotation, const ON_3dPoint &center_of_rotation)
 rotate sphere about a point and axis More...
 
bool Rotate (double angle_radians, const ON_3dVector &axis_of_rotation, const ON_3dPoint &center_of_rotation)
 
ON_3dPoint SouthPole () const
 
bool Transform (const ON_Xform &)
 
bool Translate (const ON_3dVector &)
 

Public Attributes

ON_Plane plane
 
double radius
 

Constructor & Destructor Documentation

◆ ON_Sphere() [1/2]

ON_Sphere::ON_Sphere ( )

◆ ON_Sphere() [2/2]

ON_Sphere::ON_Sphere ( const ON_3dPoint center,
double  radius 
)

◆ ~ON_Sphere()

ON_Sphere::~ON_Sphere ( )

Member Function Documentation

◆ BoundingBox()

ON_BoundingBox ON_Sphere::BoundingBox ( ) const

◆ Center()

ON_3dPoint ON_Sphere::Center ( ) const

◆ ClosestPointTo() [1/2]

bool ON_Sphere::ClosestPointTo ( ON_3dPoint  test_point,
double *  longitude_radians,
double *  latitude_radians 
) const

returns parameters of point on sphere that is closest to given point

◆ ClosestPointTo() [2/2]

ON_3dPoint ON_Sphere::ClosestPointTo ( ON_3dPoint  test_point) const

returns point on sphere that is closest to given point

◆ Create()

bool ON_Sphere::Create ( const ON_3dPoint center,
double  radius 
)

◆ Diameter()

double ON_Sphere::Diameter ( ) const

◆ GetNurbForm()

int ON_Sphere::GetNurbForm ( ON_NurbsSurface ) const

parameterization of NURBS surface does not match sphere's transcendental paramaterization

◆ IsValid()

bool ON_Sphere::IsValid ( ) const

◆ LatitudeDegrees()

ON_Circle ON_Sphere::LatitudeDegrees ( double  latitude_degrees) const

◆ LatitudeRadians()

ON_Circle ON_Sphere::LatitudeRadians ( double  latitude_radians) const

◆ LongitudeDegrees()

ON_Circle ON_Sphere::LongitudeDegrees ( double  longitude_degrees) const

◆ LongitudeRadians()

ON_Circle ON_Sphere::LongitudeRadians ( double  longitude_radians) const

◆ NormalAt()

ON_3dVector ON_Sphere::NormalAt ( double  longitude_radians,
double  latitude_radians 
) const

◆ NorthPole()

ON_3dPoint ON_Sphere::NorthPole ( ) const

◆ PointAt()

ON_3dPoint ON_Sphere::PointAt ( double  longitude_radians,
double  latitude_radians 
) const

◆ Radius()

double ON_Sphere::Radius ( ) const

◆ RevSurfaceForm() [1/2]

ON_RevSurface* ON_Sphere::RevSurfaceForm ( bool  bArcLengthParameterization,
ON_RevSurface srf = nullptr 
) const

Creates a surface of revolution definition of the sphere.

Parameters
bArcLengthParameterization[in] true: The domain will be set to (0,radius*2*pi)x(-radius*pi/2,radius*pi/2) false: The domain will be set to (0,2*pi)x(-pi/2,pi/2)
srf[in] if not nullptr, then this srf is used. Result: A surface of revolution or nullptr if the sphere is not valid.

◆ RevSurfaceForm() [2/2]

ON_RevSurface* ON_Sphere::RevSurfaceForm ( ON_RevSurface srf = nullptr) const

◆ Rotate() [1/4]

bool ON_Sphere::Rotate ( double  sin_angle,
double  cos_angle,
const ON_3dVector axis_of_rotation 
)

For intersections see ON_Intersect();.

rotate sphere about its origin

◆ Rotate() [2/4]

bool ON_Sphere::Rotate ( double  angle_radians,
const ON_3dVector axis_of_rotation 
)

◆ Rotate() [3/4]

bool ON_Sphere::Rotate ( double  sin_angle,
double  cos_angle,
const ON_3dVector axis_of_rotation,
const ON_3dPoint center_of_rotation 
)

rotate sphere about a point and axis

◆ Rotate() [4/4]

bool ON_Sphere::Rotate ( double  angle_radians,
const ON_3dVector axis_of_rotation,
const ON_3dPoint center_of_rotation 
)

◆ SouthPole()

ON_3dPoint ON_Sphere::SouthPole ( ) const

◆ Transform()

bool ON_Sphere::Transform ( const ON_Xform )

◆ Translate()

bool ON_Sphere::Translate ( const ON_3dVector )

Member Data Documentation

◆ plane

ON_Plane ON_Sphere::plane

◆ radius

double ON_Sphere::radius