38 #ifndef FCL_CCD_TAYLOR_VECTOR_INL_H 
   39 #define FCL_CCD_TAYLOR_VECTOR_INL_H 
   77   setTimeInterval(time_interval);
 
  108 template <
typename S>
 
  117 template <
typename S>
 
  120   return TVector3(i_[0] + other.
i_[0], i_[1] + other.
i_[1], i_[2] + other.
i_[2]);
 
  124 template <
typename S>
 
  127   return TVector3(i_[0] - other.
i_[0], i_[1] - other.
i_[1], i_[2] - other.
i_[2]);
 
  131 template <
typename S>
 
  134   return TVector3(-i_[0], -i_[1], -i_[2]);
 
  138 template <
typename S>
 
  141   i_[0] += other.
i_[0];
 
  142   i_[1] += other.
i_[1];
 
  143   i_[2] += other.
i_[2];
 
  148 template <
typename S>
 
  151   i_[0] -= other.
i_[0];
 
  152   i_[1] -= other.
i_[1];
 
  153   i_[2] -= other.
i_[2];
 
  158 template <
typename S>
 
  161   return TVector3(i_[0] + other[0], i_[1] + other[1], i_[2] + other[2]);
 
  165 template <
typename S>
 
  175 template <
typename S>
 
  178   return TVector3(i_[0] - other[0], i_[1] - other[1], i_[2] - other[2]);
 
  182 template <
typename S>
 
  192 template <
typename S>
 
  195   return TVector3(i_[0] * d, i_[1] * d, i_[2] * d);
 
  199 template <
typename S>
 
  209 template <
typename S>
 
  212   return TVector3(i_[0] * d, i_[1] * d, i_[2] * d);
 
  216 template <
typename S>
 
  226 template <
typename S>
 
  233 template <
typename S>
 
  240 template <
typename S>
 
  243   return i_[0] * other.
i_[0] + i_[1] * other.
i_[1] + i_[2] * other.
i_[2];
 
  247 template <
typename S>
 
  251                   i_[2] * other.
i_[0] - i_[0] * other.
i_[2],
 
  252                   i_[0] * other.
i_[1] - i_[1] * other.
i_[0]);
 
  256 template <
typename S>
 
  259   return i_[0] * other[0] + i_[1] * other[1] + i_[2] * other[2];
 
  263 template <
typename S>
 
  266   return TVector3<S>(i_[1] * other[2] - i_[2] * other[1],
 
  267                   i_[2] * other[0] - i_[0] * other[2],
 
  268                   i_[0] * other[1] - i_[1] * other[0]);
 
  272 template <
typename S>
 
  275   return i_[0].getBound().diameter() * i_[1].getBound().diameter() * i_[2].getBound().diameter();
 
  279 template <
typename S>
 
  282   return IVector3<S>(i_[0].getBound(), i_[1].getBound(), i_[2].getBound());
 
  286 template <
typename S>
 
  289   return IVector3<S>(i_[0].getBound(l, 
r), i_[1].getBound(l, 
r), i_[2].getBound(l, 
r));
 
  293 template <
typename S>
 
  296   return IVector3<S>(i_[0].getBound(t), i_[1].getBound(t), i_[2].getBound(t));
 
  300 template <
typename S>
 
  303   return IVector3<S>(i_[0].getTightBound(), i_[1].getTightBound(), i_[2].getTightBound());
 
  307 template <
typename S>
 
  310   return IVector3<S>(i_[0].getTightBound(l, 
r), i_[1].getTightBound(l, 
r), i_[2].getTightBound(l, 
r));
 
  314 template <
typename S>
 
  323 template <
typename S>
 
  326   return i_[0] * i_[0] + i_[1] * i_[1] + i_[2] * i_[2];
 
  330 template <
typename S>
 
  333   i_[0].setTimeInterval(time_interval);
 
  334   i_[1].setTimeInterval(time_interval);
 
  335   i_[2].setTimeInterval(time_interval);
 
  339 template <
typename S>
 
  342   i_[0].setTimeInterval(l, 
r);
 
  343   i_[1].setTimeInterval(l, 
r);
 
  344   i_[2].setTimeInterval(l, 
r);
 
  348 template <
typename S>
 
  351   return i_[0].getTimeInterval();
 
  355 template <
typename S>
 
  364 template <
typename S>
 
  376 template <
typename S>
 
  383 template <
typename S>