Core 1.0
SmoothEllipse2 Class Reference

An ellipse with a smooth falloff, resembles a compact scaled Gaussian. More...

#include <smooth.h>

Inheritance diagram for SmoothEllipse2:
Ellipse2

Public Member Functions

 SmoothEllipse2 (const Ellipse2 &)
 Create a smooth ellipse.
 
double Value (const Vector2 &) const
 Compute the intensity.
 
Vector2 Center () const
 Gets the center.
 
Box2 GetBox () const
 Compute the bounding box.
 

Additional Inherited Members

- Protected Member Functions inherited from Ellipse2
Matrix2 MatrixForm () const
 Compute the matrix form of the ellipse.
 
 Ellipse2 ()
 Empty.
 
 Ellipse2 (const Vector2 &, const double &, const double &, const Vector2 &=Vector2::X)
 Create an ellipse.
 
 Ellipse2 (const double &, const double &)
 Create an ellipse.
 
 Ellipse2 (const Matrix2 &A, const Vector2 &center)
 Create an ellipse : (p - center)^T . A . (p - center)
 
 ~Ellipse2 ()
 Empty.
 
Vector2 Center () const
 Gets the center.
 
double C () const
 Return the half distance between the focus points of the ellipse.
 
double P () const
 Return the parameter of the ellipse.
 
Vector2 Axis () const
 Return the major axis.
 
Vector2 Focus (bool) const
 Return the focus points of the ellipse.
 
double A () const
 Return the major axis length.
 
double B () const
 Return the minor axis length.
 
Vector2 Vertex (const double &) const
 Compute a vertex on the ellipse.
 
double Curvature (const double &) const
 Compute the curvature at a vertex on the ellipse.
 
bool Inside (const Vector2 &) const
 Check if a point is inside the ellipse.
 
double R (const Vector2 &) const
 Compute the squared distance between a point and the ellipse.
 
double Signed (const Vector2 &) const
 Compute the signed distance between a point and the ellipse.
 
Ellipse2 Translated (const Vector2 &) const
 Translate an ellipse.
 
Ellipse2 Scaled (const double &) const
 Scales an ellipse.
 
Ellipse2 Scaled (const Vector2 &, bool=true) const
 Scales an ellipse.
 
Ellipse2 Rotated (const double &) const
 Rotates an ellipse.
 
Ellipse2 Rotated (const Matrix2 &) const
 Rotates an ellipse.
 
Ellipse2 Transformed (const Frame2 &) const
 Return a ellipse transformed by a frame.
 
double Eccentricity () const
 Eccentricity.
 
double Focus () const
 Focus of an ellipse.
 
Box2 GetBox () const
 Compute the bounding box.
 
Circle2 GetCircle () const
 Compute the bounding circle.
 
double Area () const
 Area of an ellipse.
 
double Perimeter () const
 Perimeter of an ellipse.
 
Vector2 RandomInside (Random &=Random::R239) const
 Generate a random vector inside the circle.
 
void Draw (QGraphicsScene &, const QPen &=QPen(), const QBrush &=QBrush()) const
 Draw a circle.
 
double Value (const Vector2 &) const
 Compute the field function value of an ellipse.
 
Vector2 Gradient (const Vector2 &) const
 Compute the gradient of the field function.
 
- Static Protected Member Functions inherited from Ellipse2
static Ellipse2 Lerp (const double &, const Ellipse2 &, const Ellipse2 &)
 Linear interpolation between two ellipses.
 
static Ellipse2 FromPoints (const std::vector< Vector2 > &points, double tolerance=0.05)
 Builds a ellipse around a point cloud, using a Minium Volume Ellipsoid algorithm.
 
- Protected Attributes inherited from Ellipse2
Vector2 c = Vector2::Null
 Center of the ellipse.
 
Vector2 u = Vector2::X
 Major axis.
 
double b = 1.0
 Axes lengths.
 

Detailed Description

An ellipse with a smooth falloff, resembles a compact scaled Gaussian.

Constructor & Destructor Documentation

◆ SmoothEllipse2()

SmoothEllipse2::SmoothEllipse2 ( const Ellipse2 & e)
explicit

Create a smooth ellipse.

Parameters
eEllipse.

Member Function Documentation

◆ Value()

double SmoothEllipse2::Value ( const Vector2 & p) const

Compute the intensity.

Parameters
pPoint.