示例#1
0
	Circle Circle::Transform(Matrix& m) { // transform
		Point p0 = this->pc;
		double scale;
		if(m.GetScale(scale) == false) FAILURE(getMessage(L"Differential Scale not allowed for this method"));
		return Circle(p0.Transform(m), radius * scale);
	}
示例#2
0
 AxisAlignedBoundingBox3D AxisAlignedBoundingBox3D::operator*(const Matrix& rhs) const
 {
   return *this * rhs.GetScale() + rhs.GetTransposeTranslation();
 }
示例#3
0
 Sphere Sphere::operator*(const Matrix& rhs) const
 {
   return Sphere(center + rhs.GetTranslation(), radius * rhs.GetScale().Max());
 }