# Curve::Rotational class reference [Core module]

## Declaration

`#include <Goptical/Curve/Rotational>namespace Goptical { namespace Curve { class Rotational; };};`

This class is a member of the Curve namespace.

This abstract class contains pure virtuals.

## Description

This class defines rotationally symmetric curve interface and provide default implementation as generic non symmetric curve.

## Members

### Inherited members

• 5 members inherited from Base

### Functions

• virtual double derivative(double r) const
• virtual void derivative(const Math::Vector2 &xy, Math::Vector2 &dxdy) const
• virtual void get_sample(unsigned int index, double &r, double &z) const
• virtual unsigned int get_sample_count() const
• virtual void normal(Math::Vector3 &normal, const Math::Vector3 &point) const
• virtual double sagitta(double r) const = 0;
• virtual double sagitta(const Math::Vector2 &xy) const

## Members detail

### Rotational()

No documentation available

### virtual double derivative(double r) const

Get curve derivative at specified distance from origin.

• r: distance from curve origin (0, 0)

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

This virtual function overrides the `derivative` virtual function defined in the `Base` base abstract class.

Documentation inherited from base class:

Get curve x and y derivative (gradient) at specified point

### virtual void get_sample(unsigned int index, double &r, double &z) const

Get a sample point on curve. (0,0) is not included.

### virtual unsigned int get_sample_count() const

Get number of available sample points. Samples points may be used by curve fitting algorithms and are choosen to avoid using interpolated points. return 0 when not applicable.

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

This virtual function overrides the `normal` virtual function defined in the `Base` base abstract class.

Documentation inherited from base class:

Get normal to curve surface at specified point

### virtual double sagitta(double r) const = 0;

Get curve sagitta at specified distance from origin.

• r: distance from curve origin (0, 0)

### virtual double sagitta(const Math::Vector2 &xy) const

This virtual function implements the `sagitta` pure function declared in the `Base` base abstract class.

Documentation inherited from base class:

Get curve sagitta at specified point

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