"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/Graphics/Types/frame.hpp" between
TeXmacs-1.99.4-src.tar.gz and TeXmacs-1.99.5-src.tar.gz

About: GNU TeXmacs is a what-you-see-is-what-you-get scientific text editor, which was both inspired by TeX and GNU Emacs.

frame.hpp  (TeXmacs-1.99.4-src):frame.hpp  (TeXmacs-1.99.5-src)
skipping to change at line 40 skipping to change at line 40
virtual point jacobian (point p, point v, bool &error) = 0; virtual point jacobian (point p, point v, bool &error) = 0;
virtual point jacobian_of_inverse (point p, point v, bool &error) = 0; virtual point jacobian_of_inverse (point p, point v, bool &error) = 0;
// the Jacobian matrix at p applied to v // the Jacobian matrix at p applied to v
virtual double direct_bound (point p, double eps) = 0; virtual double direct_bound (point p, double eps) = 0;
virtual double inverse_bound (point p, double eps) = 0; virtual double inverse_bound (point p, double eps) = 0;
// direct_bound (p, eps) yields a delta such that for all p' // direct_bound (p, eps) yields a delta such that for all p'
// we have |p' - p| < delta => |f(p') - f(p)| < eps. // we have |p' - p| < delta => |f(p') - f(p)| < eps.
inline double direct_scalar (double x) { inline double direct_scalar (double x) {
return norm (direct_transform (point (x, 0))); } return norm (direct_transform (point (x, 0.0)) -
direct_transform (point (0.0, 0.0))); }
inline double inverse_scalar (double x) { inline double inverse_scalar (double x) {
return norm (inverse_transform (point (x, 0))); } return norm (inverse_transform (point (x, 0.0)) -
inverse_transform (point (0.0, 0.0))); }
// FIXME: used for grids, but error-prone. What is the idea? // FIXME: used for grids, but error-prone. What is the idea?
}; };
class curve; class curve;
class frame { class frame {
ABSTRACT_NULL(frame); ABSTRACT_NULL(frame);
operator tree () { return (tree) *rep; } operator tree () { return (tree) *rep; }
inline point operator () (point p) { return rep->direct_transform (p); } inline point operator () (point p) { return rep->direct_transform (p); }
inline point operator [] (point p) { return rep->inverse_transform (p); } inline point operator [] (point p) { return rep->inverse_transform (p); }
void enclose (double& x1, double& y1, double& x2, double& y2,
point p1, point p2, bool direct);
rectangle enclose (rectangle r, bool direct);
rectangle operator () (rectangle r); rectangle operator () (rectangle r);
rectangle operator [] (rectangle r); rectangle operator [] (rectangle r);
inline bool operator == (frame f) { return rep == f.rep; } inline bool operator == (frame f) { return rep == f.rep; }
inline bool operator != (frame f) { return rep != f.rep; } inline bool operator != (frame f) { return rep != f.rep; }
curve operator () (curve c); curve operator () (curve c);
curve operator [] (curve c); curve operator [] (curve c);
}; };
ABSTRACT_NULL_CODE(frame); ABSTRACT_NULL_CODE(frame);
// Transformations // Transformations
template<typename T> class matrix; template<typename T> class matrix;
frame shift_2D (point d);
frame scaling (double magnify, point shift); frame scaling (double magnify, point shift);
frame scaling (point magnify, point shift); frame scaling (point magnify, point shift);
frame rotation_2D (point center, double angle); frame rotation_2D (point center, double angle);
frame slanting (point center, double slant);
frame linear_2D (matrix<double> m);
frame affine_2D (matrix<double> m); frame affine_2D (matrix<double> m);
// Operations on transformations // Operations on transformations
frame operator * (frame f1, frame f2); frame operator * (frame f1, frame f2);
frame invert (frame f); frame invert (frame f);
#endif // defined FRAME_H #endif // defined FRAME_H
 End of changes. 5 change blocks. 
2 lines changed or deleted 10 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS