コード例 #1
0
ファイル: R3Triangle.C プロジェクト: acplus/peptalk
void R3TriangleVertex::
Transform (const R3Transformation& transformation)
{
  // Transform position and normal
  transformation.Apply(position);
  transformation.ApplyInverseTranspose(normal);
}
コード例 #2
0
ファイル: R3Circle.cpp プロジェクト: DarkoBomer/Matterport
void R3Circle::
Transform (const R3Transformation& transformation)
{
    // Transform circle ???
    center.Transform(transformation);
    plane.Transform(transformation);
    if (!transformation.IsIsotropic()) RNWarning("Circle transformed by anisotropic transformation");
    radius *= transformation.ScaleFactor();
}
コード例 #3
0
ファイル: R3Sphere.C プロジェクト: acplus/peptalk
void R3Sphere::
Transform (const R3Transformation& transformation)
{
    // Transform center 
    center.Transform(transformation);

    // Scale radius 
    if (!transformation.IsIsotropic()) RNWarning("Sphere transformed by anisotropic transformation");
    radius *= transformation.ScaleFactor();
}
コード例 #4
0
ファイル: R3Plane.cpp プロジェクト: DarkoBomer/Matterport
void R3Plane::
InverseTransform (const R3Transformation& transformation)
{
    // Transform plane ???
    R3Point p = Point();
    p.InverseTransform(transformation);
    transformation.ApplyTranspose(v);
    v.Normalize();
    Reposition(p);
}
コード例 #5
0
ファイル: R3Point.cpp プロジェクト: cricklet/Path-Tracer
void R3Point::
InverseTransform(const R3Transformation& transformation)
{
    // Transform vector
    transformation.ApplyInverse(*this);
}
コード例 #6
0
ファイル: R3Point.cpp プロジェクト: cricklet/Path-Tracer
void R3Point::
Transform(const R3Transformation& transformation)
{
    // Transform point
    transformation.Apply(*this);
}