35 #ifndef CORE_GEOMETRY_TRANSFORM_H
36 #define CORE_GEOMETRY_TRANSFORM_H 1
43 class TypeDescription;
57 mutable double imat[4][4];
58 mutable bool inverse_valid;
60 void install_mat(
double[4][4]);
61 void build_permute(
double m[4][4],
int,
int,
int,
int pre);
62 void build_rotate(
double m[4][4],
double,
const Vector&);
63 void build_shear(
double mat[4][4],
const Vector&,
const Plane&);
64 void build_scale(
double m[4][4],
const Vector&);
65 void build_translate(
double m[4][4],
const Vector&);
66 void pre_mulmat(
const double[4][4]);
67 void post_mulmat(
const double[4][4]);
68 void invmat(
double[4][4]);
69 void switch_rows(
double m[4][4],
int row1,
int row2)
const;
70 void sub_rows(
double m[4][4],
int row1,
int row2,
double mul)
const;
71 void load_identity(
double[4][4]);
72 void load_zero(
double[4][4]);
85 void set_mat_val(
int i,
int j,
double val) { mat[i][j] = val; }
97 void pre_permute(
int xmap,
int ymap,
int zmap);
98 void post_permute(
int xmap,
int ymap,
int zmap);
99 void pre_scale(
const Vector&);
100 void post_scale(
const Vector&);
102 void load_identity();
105 void pre_translate(
const Vector&);
106 void post_translate(
const Vector&);
108 void compute_imat()
const;
114 void unproject(
const Point& p,
Point& res)
const;
115 void unproject_inplace(
Point& p)
const;
118 void unproject_inplace(
Vector&
v)
const;
120 void project(
const Point& p,
Point& res)
const;
121 void project_inplace(
Point& p)
const;
124 void project_inplace(
Vector& p)
const;
127 void project_normal_inplace(
Vector&)
const;
132 void pre_rotate(
double,
const Vector& axis);
133 void post_rotate(
double,
const Vector& axis);
135 void get(
double*)
const;
136 void get_trans(
double*)
const;
138 void set_trans(
double*);
140 void perspective(
const Point& eyep,
const Point& lookat,
141 const Vector& up,
double fov,
142 double znear,
double zfar,
SCISHARE const TypeDescription * get_type_description(Tensor *)
Definition: Tensor.cc:405
Definition: Persistent.h:89
Definition: Persistent.h:187
Definition: TypeDescription.h:45
#define SCISHARE
Definition: share.h:39
Base class for persistent objects...
v
Definition: readAllFields.py:42
SCISHARE void Pio_old(Piostream &, Transform &)
Definition: Transform.cc:940
Definition: Persistent.h:64
Point operator*(double d, const Point &p)
Definition: Point.h:182
SCISHARE void Pio(Piostream &, BBox &)
Definition: BBox.cc:134