Curve::Conic class reference
[Core module]
Declaration
#include <Goptical/Curve/Conic>
namespace Goptical {
namespace Curve {
class Conic;
};
};
This class is a member of the Curve namespace.
Inheritance
Description
This class models a rotationally symmetric conic curves with given radius of curvature and deformation coefficient. The later can be provided either as Schwarzschild constant or Eccentricity value.
Fitting can be used to find best fit conic of an other rotationally symmetric curve either with fixed or free deformation parameter.
Sphere and Parabola offer optimized implementations for common special cases.
Members
See also the full member list section for this class.
Inherited members
- 13 members inherited from ConicBase
Functions
- Conic(double roc, double sc)
- virtual double derivative(double r) const
- double fit(const Rotational &curve, double radius, unsigned int count)
- virtual bool intersect(Math::Vector3 &point, const Math::VectorPair3 &ray) const
- virtual double sagitta(double r) const
- void set_eccentricity(double e)
- void set_schwarzschild(double sc)
Members detail
Creates a conic curve with given radius of curvature and Schwarzschild constant
This virtual function implements the derivative
pure function declared in the ConicBase
base abstract class.
Documentation inherited from base class:
Get curve derivative at specified distance from origin.
- r: distance from curve origin (0, 0)
double fit(const Rotational &curve, double radius, unsigned int count)
Adjust radius of curvature _and_ deformation to best fit given curve
Parameters list:
- curve: Curve to fit
- radius: Maximum radius used to get sample points
- count: Number of sample points to use
virtual bool intersect(Math::Vector3 &point, const Math::VectorPair3 &ray) const
This virtual function implements the intersect
pure function declared in the ConicBase
base abstract class.
Documentation inherited from base class:
Get intersection point between curve and 3d ray. Return false if no intersection occurred
This virtual function implements the sagitta
pure function declared in the ConicBase
base abstract class.
Documentation inherited from base class:
Get curve sagitta at specified distance from origin.
- r: distance from curve origin (0, 0)
Set eccentricity
Set Schwarzschild constant