Curve::Base class reference
[Core module]
Declaration
#include <Goptical/Curve/Base>
namespace Goptical {
namespace Curve {
class Base;
};
};
This class is a member of the Curve namespace.
This abstract class contains pure virtuals.
Inheritance
Description
This class defines an interface for surface curvature implementations. Curvature is defined as a surface curve in three dimensional space. It is mainly used by the Sys::Surface class to describe optical surface curvature.
It provides access to sagitta (z) and gradient data on any curved surface point (x, y). Ability to find point of intersection between a given 3d ray and the curve is also provided.
See also A custom surface curve model section.
Members
See also the full member list section for this class.
Functions
- virtual ~Base()
- virtual void derivative(const Math::Vector2 &xy, Math::Vector2 &dxdy) const
- virtual bool intersect(Math::Vector3 &point, const Math::VectorPair3 &ray) const
- virtual void normal(Math::Vector3 &normal, const Math::Vector3 &point) const
- virtual double sagitta(const Math::Vector2 &xy) const = 0;
Members detail
No documentation available
Get curve x and y derivative (gradient) at specified point
virtual bool intersect(Math::Vector3 &point, const Math::VectorPair3 &ray) const
Get intersection point between curve and 3d ray. Return false if no intersection occurred
Get normal to curve surface at specified point
virtual double sagitta(const Math::Vector2 &xy) const = 0;
Get curve sagitta at specified point