remove the conceptualy broken "NoShear" transformation traits,

and rename NonAfine => Projective, GenericAffine => Affine, NoScaling => Isometry
This commit is contained in:
Gael Guennebaud
2008-09-01 17:14:34 +00:00
parent 6825c8dd6b
commit 49ff9b204c
4 changed files with 26 additions and 62 deletions

View File

@@ -229,14 +229,11 @@ class Hyperplane
}
template<typename XprType>
inline Hyperplane& transform(const MatrixBase<XprType>& mat, TransformTraits traits = GenericAffine)
inline Hyperplane& transform(const MatrixBase<XprType>& mat, TransformTraits traits = Affine)
{
if (traits==GenericAffine)
if (traits==Affine)
normal() = mat.inverse().transpose() * normal();
else if (traits==NoShear)
normal() = (mat.colwise().norm2().cwise().inverse().eval().asDiagonal()
* mat.transpose()).transpose() * normal();
else if (traits==NoScaling)
else if (traits==Isometry)
normal() = mat * normal();
else
{
@@ -246,7 +243,7 @@ class Hyperplane
}
inline Hyperplane& transform(const Transform<Scalar,AmbientDimAtCompileTime>& t,
TransformTraits traits = GenericAffine)
TransformTraits traits = Affine)
{
transform(t.linear(), traits);
offset() -= t.translation().dot(normal());