#include <Goptical/Curve/Foucault>
namespace Goptical {
namespace Curve {
class Foucault;
};
};
This class is a member of the Curve namespace.
This class allows definition of a rotationally symmetric curve from a set of Foucault test data. Fixed and moving light sources are supported.
Curve fitting can be used to find Foucault test readings from any other rotationally symmetric curve.
Foucault test data are reduced using numerical integration of a differential equation to compute sagitta from slopes.
Foucault data reduction algorithm based on "ATM Mirror Mathematics" http://home.earthlink.net/~burrjaw/atm/atm_math.lwp/atm_math.htm
Couder mask theory and formulas developed by Nils Olof Carlin http://www.atmsite.org/contrib/Carlin/couder/
See also the full member list section for this class.
Create an empty foucault curve with no reading with the given radius of curvature
No documentation available
Clear current zones and add zones readings to locations suited for testing with a couder mask (as described on Nils Olof Carlin page). Zone count may be guessed if zero, provided that radius has been properly set before. Knife edge reading (offset from radius of curvature) is set to 0 for all zones.
The return value is Zone count
Define a new zone at given zone radius and update knife edge reading (offset from radius of curvature)
Clear current zones and add equally spaced zones readings. Knife edge reading (offset from radius of curvature) is set to 0 for all zones.
The return value is New zones count
Clear all readings and zones
This virtual function overrides the derivative virtual function defined in the Rotational base abstract class.
Documentation inherited from base class:
Get curve derivative at specified distance from origin.
Switch to moving source test and update knife edge readings of previously defined zone to fit provided rotationally symmetric curve. This means simulating a foucault test of the given curve using existing zones.
Get surface radius.
Get reading data for a given zone number.
The return value is std::pair with zone radius and knife offset
Get currently defined zones/readings count
This virtual function implements the sagitta pure function declared in the Rotational base abstract class.
Documentation inherited from base class:
Get curve sagitta at specified distance from origin.
Set fixed light source foucault test. This clear all readings and zones.
Set knife edge reading of a previously defined zone
Set moving light source foucault test. This clear all readings and zones.
Set surface integration (ODE) algorithm step size, default is 1mm
Set surface radius. Effective surface radius must be known to let the surface integration algorithm run up to a given limit. Sagitta and gradient values above the define radius won't be accurate.
Radius is adjusted to max zone radius + 10% when adding readings.
Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:23 2012 using MkDoc