예제 #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());
 }