11 #pragma implementation
27 if (
std::abs(x) <= 1.0)
return std::acos(x);
32 its_d(proper(ddelta)), its_s(std::sin(ddelta)), its_c(std::cos(ddelta))
51 return std::fabs(
its_d );
75 return (
yx() == 0.0 &&
xx() == 0.0) ? 0.0 : std::atan2(
yx(),
xx());
80 return (
yy() == 0.0 &&
xy() == 0.0) ? 0.0 : std::atan2(
yy(),
xy());
85 return (
yz() == 0.0 &&
xz() == 0.0) ? 0.0 : std::atan2(
yz(),
xz());
110 rotation = axisAngle();
116 rotation = axisAngle();
133 return (answer >= 0) ? answer : 0;
137 double sum = r.
xx() +
140 double answer = 3.0 -
sum;
141 return (answer >= 0 ) ? answer : 0;
148 double bet = b.
beta();
149 double bet2 = bet*bet;
171 return (
distance2(r) <= epsilon*epsilon);
174 return (
distance2(r) <= epsilon*epsilon);
177 return (
distance2(lt) <= epsilon*epsilon);
182 return (
distance2(lt) <= epsilon*epsilon);
186 return 2.0 - 2.0 *
its_c;
190 os <<
"\nRotation about X (" <<
its_d <<
191 ") [cos d = " <<
its_c <<
" sin d = " <<
its_s <<
"]\n";