10 class RotationTransform: public Transform {
14 RotationTransform(double theta);
17 class XZRotationTransform : public RotationTransform {
20 * | <\ (positive theta)
27 XZRotationTransform(double theta) : RotationTransform(theta) { }
28 Point operator()(Point);
31 class YZRotationTransform : public RotationTransform {
34 * |/ \ (positive theta)
41 YZRotationTransform(double theta) : RotationTransform(theta) { }
42 Point operator()(Point);
45 class TearOpenTransform : public Transform {
49 TearOpenTransform(double amt, double apy=1.3);
50 Point operator()(Point in);
53 class BulgeTransform : public Transform {
58 BulgeTransform(double amt, double stddev, double apy=1.1);
59 Point operator()(Point in);
62 class TwistTransform : public Transform {
66 TwistTransform(double amt, double apy=1.2) { factor=amt; apexy=apy; }
67 Point operator()(Point in);
70 class ShearTransform : public Transform {
75 ShearTransform(Point ec, Point mag, Point dev) {
76 epicentre=ec; magnitude=mag; deviation=dev;
78 Point operator()(Point in);
81 class MagicTransform : public Transform {
82 double xkonstant, xfactor, yoffset, yfactor, zfactor;
84 MagicTransform(double xk, double xf, double zf,
85 double yfudge=0.25, double yo=0.5, double yf=-0.5) {
86 xkonstant=xk; xfactor=xf; yoffset=yo+yfudge; yfactor=yf; zfactor=zf;
88 Point operator()(Point in);