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  

virtual ~Base()  

No documentation available

virtual void derivative(const Math::Vector2 &xy, Math::Vector2 &dxdy) const  

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

virtual void normal(Math::Vector3 &normal, const Math::Vector3 &point) const  

Get normal to curve surface at specified point

virtual double sagitta(const Math::Vector2 &xy) const = 0;  

Get curve sagitta at specified point

Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:23 2012 using MkDoc