From cfecb93c8b172f9432349042a7e78167d033ab54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 14 Oct 2013 18:03:31 +0200 Subject: [PATCH] SceneGraph: fire assertions only where it really matters. Should speed things up a bit in debug builds, as the asserts are now not fired in functions which would not trigger them anyway, such as normalizeRotation(), resetTransformation() etc. --- src/SceneGraph/DualComplexTransformation.h | 2 +- src/SceneGraph/DualQuaternionTransformation.h | 6 +++--- src/SceneGraph/RigidMatrixTransformation2D.h | 2 +- src/SceneGraph/RigidMatrixTransformation3D.h | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/SceneGraph/DualComplexTransformation.h b/src/SceneGraph/DualComplexTransformation.h index 971e17a57..199c6ac74 100644 --- a/src/SceneGraph/DualComplexTransformation.h +++ b/src/SceneGraph/DualComplexTransformation.h @@ -162,7 +162,7 @@ template class BasicDualComplexTransformation: public AbstractBasicTran /* No assertions fired, for internal use */ void transformInternal(const Math::DualComplex& transformation, TransformationType type) { - setTransformation(type == TransformationType::Global ? + setTransformationInternal(type == TransformationType::Global ? transformation*_transformation : _transformation*transformation); } diff --git a/src/SceneGraph/DualQuaternionTransformation.h b/src/SceneGraph/DualQuaternionTransformation.h index 1f889f40b..5f00ad2bb 100644 --- a/src/SceneGraph/DualQuaternionTransformation.h +++ b/src/SceneGraph/DualQuaternionTransformation.h @@ -66,7 +66,7 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT /** @copydoc AbstractTranslationRotationScaling3D::resetTransformation() */ Object>& resetTransformation() { - setTransformation({}); + setTransformationInternal({}); return static_cast>&>(*this); } @@ -79,7 +79,7 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT * @see DualQuaternion::normalized() */ Object>& normalizeRotation() { - setTransformation(_transformation.normalized()); + setTransformationInternal(_transformation.normalized()); return static_cast>&>(*this); } @@ -166,7 +166,7 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT /* No assertions fired, for internal use */ void transformInternal(const Math::DualQuaternion& transformation, TransformationType type) { - setTransformation(type == TransformationType::Global ? + setTransformationInternal(type == TransformationType::Global ? transformation*_transformation : _transformation*transformation); } diff --git a/src/SceneGraph/RigidMatrixTransformation2D.h b/src/SceneGraph/RigidMatrixTransformation2D.h index dda3e97f7..c52f04363 100644 --- a/src/SceneGraph/RigidMatrixTransformation2D.h +++ b/src/SceneGraph/RigidMatrixTransformation2D.h @@ -180,7 +180,7 @@ template class BasicRigidMatrixTransformation2D: public AbstractBasicTr /* No assertions fired, for internal use */ void transformInternal(const Math::Matrix3& transformation, TransformationType type) { - setTransformation(type == TransformationType::Global ? + setTransformationInternal(type == TransformationType::Global ? transformation*_transformation : _transformation*transformation); } diff --git a/src/SceneGraph/RigidMatrixTransformation3D.h b/src/SceneGraph/RigidMatrixTransformation3D.h index 23026709b..1ccb08452 100644 --- a/src/SceneGraph/RigidMatrixTransformation3D.h +++ b/src/SceneGraph/RigidMatrixTransformation3D.h @@ -69,7 +69,7 @@ template class BasicRigidMatrixTransformation3D: public AbstractBasicTr /** @copydoc AbstractTranslationRotationScaling3D::resetTransformation() */ Object>& resetTransformation() { - setTransformation({}); + setTransformationInternal({}); return static_cast>&>(*this); } @@ -81,7 +81,7 @@ template class BasicRigidMatrixTransformation3D: public AbstractBasicTr * to prevent rounding errors when rotating the object subsequently. */ Object>& normalizeRotation() { - setTransformation(Math::Matrix4::from( + setTransformationInternal(Math::Matrix4::from( Math::Algorithms::gramSchmidtOrthonormalize(_transformation.rotationScaling()), _transformation.translation())); return static_cast>&>(*this); @@ -225,7 +225,7 @@ template class BasicRigidMatrixTransformation3D: public AbstractBasicTr /* No assertions fired, for internal use */ void transformInternal(const Math::Matrix4& transformation, TransformationType type) { - setTransformation(type == TransformationType::Global ? + setTransformationInternal(type == TransformationType::Global ? transformation*_transformation : _transformation*transformation); }