7 # include <vcl_msvc_warnings.h> 82 assert(!
"vcsl_cubic not yet implemented");
85 assert(!
"vcsl_spline not yet implemented");
88 assert(!
"This is impossible");
101 T(0,0) = 1.0; T(1,1) = 1.0; T(2,2) = 1.0;
102 T(0,3) = -coef*from->xl; T(1,3) = -coef*from->yl; T(2,3) = -coef*from->zl;
103 std::cout <<
"Translation:\n" << T;
105 double co = std::cos(coef*from->omega), so = std::sin(coef*from->omega);
106 double cp = std::cos(coef*from->phi), sp = std::sin(coef*from->phi);
107 double ck = std::cos(coef*from->kappa), sk = std::sin(coef*from->kappa);
109 R(0,0) = cp*ck; R(0,1) = so*sp*ck+co*sk; R(0,2) = -co*sp*ck+so*sk;
110 R(1,0) = -cp*sk; R(1,1) = -so*sp*sk+co*ck; R(1,2) = co*sp*sk+so*ck;
111 R(2,0) = sp; R(2,1) = -so*cp; R(2,2) = co*cp;
112 R(3,0)=R(3,1)=R(3,2)=R(0,3)=R(1,3)=R(2,3)=0;
114 std::cout <<
"Rotation:\n" << R;
121 for (
int i=0;i<3;i++)
122 for (
int j=0;j<3;j++)
vnl_vector< double > execute(const vnl_vector< double > &v, double time) const override
Image of ‘v’ by ‘this’.
vnl_vector< double > inverse(const vnl_vector< double > &v, double time) const override
Image of ‘v’ by the inverse of ‘this’.
bool is_invertible(double time) const override
Is ‘this’ invertible at time ‘time’?.
vnl_matrix< double > param_to_matrix(const vcsl_matrix_param_sptr &from, bool type) const
A coordinate transformation specified by a transformation matrix.
bool is_valid() const override
Is ‘this’ correctly set ?.
list_of_vcsl_matrix_param_sptr matrix_
vnl_matrix< double > matrix_value(double time, bool type) const