Table of contents Introduction Tutorial Main classes
Top Previous Up Next

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

AltStyle によって変換されたページ (->オリジナル) /