Rhino C++ API  8.14
Public Member Functions | Public Attributes | List of all members
ON_Ellipse Class Reference

#include <opennurbs_ellipse.h>

Public Member Functions

 ON_Ellipse ()
 zeros all fields - plane is invalid More...
 
 ON_Ellipse (const ON_Circle &)
 
 ON_Ellipse (const ON_Plane &, double, double)
 
 ~ON_Ellipse ()
 
const ON_3dPointCenter () const
 
ON_3dPoint ClosestPointTo (const ON_3dPoint &) const
 returns point on ellipse that is closest to given point More...
 
bool ClosestPointTo (const ON_3dPoint &, double *) const
 returns parameters of point on ellipse that is closest to given point More...
 
bool Create (const ON_Circle &)
 
bool Create (const ON_Plane &, double, double)
 
ON_3dVector CurvatureAt (double) const
 returns curvature vector More...
 
ON_3dVector DerivativeAt (int, double) const
 
double EquationAt (const ON_2dPoint &) const
 evaluate ellipse's implicit equation in plane More...
 
double FocalDistance () const
 
bool GetFoci (ON_3dPoint &F1, ON_3dPoint &F2) const
 
int GetNurbForm (ON_NurbsCurve &) const
 parameterization of NURBS curve does not match ellipse's transcendental parameterization More...
 
ON_2dVector GradientAt (const ON_2dPoint &) const
 
bool IsCircle () const
 returns true is ellipse is a circle More...
 
bool IsValid () const
 
const ON_3dVectorNormal () const
 
ON_Ellipseoperator= (const ON_Circle &)
 
const ON_PlanePlane () const
 plane containing ellipse More...
 
ON_3dPoint PointAt (double) const
 
double Radius (int) const
 
bool Rotate (double, const ON_3dVector &)
 
bool Rotate (double, const ON_3dVector &, const ON_3dPoint &)
 
bool Rotate (double, double, const ON_3dVector &)
 rotate ellipse about its center More...
 
bool Rotate (double, double, const ON_3dVector &, const ON_3dPoint &)
 rotate ellipse about a point and axis More...
 
ON_3dVector TangentAt (double) const
 returns unit tangent More...
 
bool Translate (const ON_3dVector &)
 

Public Attributes

ON_Plane plane
 
double radius [2]
 radii for x and y axes (both must be > 0) More...
 

Constructor & Destructor Documentation

◆ ON_Ellipse() [1/3]

ON_Ellipse::ON_Ellipse ( )

zeros all fields - plane is invalid

◆ ON_Ellipse() [2/3]

ON_Ellipse::ON_Ellipse ( const ON_Plane ,
double  ,
double   
)

◆ ON_Ellipse() [3/3]

ON_Ellipse::ON_Ellipse ( const ON_Circle )

◆ ~ON_Ellipse()

ON_Ellipse::~ON_Ellipse ( )

Member Function Documentation

◆ Center()

const ON_3dPoint& ON_Ellipse::Center ( ) const

◆ ClosestPointTo() [1/2]

ON_3dPoint ON_Ellipse::ClosestPointTo ( const ON_3dPoint ) const

returns point on ellipse that is closest to given point

◆ ClosestPointTo() [2/2]

bool ON_Ellipse::ClosestPointTo ( const ON_3dPoint ,
double *   
) const

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

◆ Create() [1/2]

bool ON_Ellipse::Create ( const ON_Circle )

◆ Create() [2/2]

bool ON_Ellipse::Create ( const ON_Plane ,
double  ,
double   
)

◆ CurvatureAt()

ON_3dVector ON_Ellipse::CurvatureAt ( double  ) const

returns curvature vector

◆ DerivativeAt()

ON_3dVector ON_Ellipse::DerivativeAt ( int  ,
double   
) const

◆ EquationAt()

double ON_Ellipse::EquationAt ( const ON_2dPoint ) const

evaluate ellipse's implicit equation in plane

◆ FocalDistance()

double ON_Ellipse::FocalDistance ( ) const

Returns: Distance from the center to a focus, commonly called "c".

◆ GetFoci()

bool ON_Ellipse::GetFoci ( ON_3dPoint F1,
ON_3dPoint F2 
) const

◆ GetNurbForm()

int ON_Ellipse::GetNurbForm ( ON_NurbsCurve ) const

parameterization of NURBS curve does not match ellipse's transcendental parameterization

returns 0=failure, 2=success

◆ GradientAt()

ON_2dVector ON_Ellipse::GradientAt ( const ON_2dPoint ) const

◆ IsCircle()

bool ON_Ellipse::IsCircle ( ) const

returns true is ellipse is a circle

◆ IsValid()

bool ON_Ellipse::IsValid ( ) const

returns true if all fields contain reasonable information and equation jibes with point and Z.

◆ Normal()

const ON_3dVector& ON_Ellipse::Normal ( ) const

◆ operator=()

ON_Ellipse& ON_Ellipse::operator= ( const ON_Circle )

◆ Plane()

const ON_Plane& ON_Ellipse::Plane ( ) const

plane containing ellipse

◆ PointAt()

ON_3dPoint ON_Ellipse::PointAt ( double  ) const

Evaluation uses the trigonometric parameterization t -> plane.origin + cos(t)*radius[0]*plane.xaxis + sin(t)*radius[1]*plane.yaxis evaluate parameters and return point

◆ Radius()

double ON_Ellipse::Radius ( int  ) const

◆ Rotate() [1/4]

bool ON_Ellipse::Rotate ( double  ,
const ON_3dVector  
)

◆ Rotate() [2/4]

bool ON_Ellipse::Rotate ( double  ,
const ON_3dVector ,
const ON_3dPoint  
)

◆ Rotate() [3/4]

bool ON_Ellipse::Rotate ( double  ,
double  ,
const ON_3dVector  
)

rotate ellipse about its center

◆ Rotate() [4/4]

bool ON_Ellipse::Rotate ( double  ,
double  ,
const ON_3dVector ,
const ON_3dPoint  
)

rotate ellipse about a point and axis

◆ TangentAt()

ON_3dVector ON_Ellipse::TangentAt ( double  ) const

returns unit tangent

◆ Translate()

bool ON_Ellipse::Translate ( const ON_3dVector )

Member Data Documentation

◆ plane

ON_Plane ON_Ellipse::plane

< members left public The center of the ellipse is at the plane's origin. The axes of the ellipse are the plane's x and y axes. The equation of the ellipse with respect to the plane is (x/m_r[0])^2 + (y/m_r[1])^2 = 1;

◆ radius

double ON_Ellipse::radius[2]

radii for x and y axes (both must be > 0)