Math-ThinPlateSpline
view release on metacpan or search on metacpan
src/linalg3d.cc view on Meta::CPAN
inline Vec TPS::operator* ( const float src, const Vec& v ) { Vec tmp(v); return (tmp *= src); }
// Dot product
inline float TPS::dot(const Vec& a, const Vec& b) { return a.x*b.x + a.y*b.y + a.z*b.z; }
// Cross product
inline Vec TPS::cross(const Vec &a, const Vec &b) {
return Vec( a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x );
}
// streaming
std::ostream&
TPS::operator<<(std::ostream& stream, Vec const& obj)
{
obj.WriteTo(stream);
return stream;
}
std::istream&
TPS::operator>>(std::istream& stream, Vec& obj)
{
( run in 0.270 second using v1.01-cache-2.11-cpan-4d50c553e7e )