void Various_Processing_Component::Translation (PolyhedronPtr pMesh, double xTranslation, double yTranslation, double zTranslation) { Vector translationVector(xTranslation,yTranslation, zTranslation); Affine_transformation translation(CGAL::TRANSLATION, translationVector); std::transform(pMesh->points_begin(), pMesh->points_end(), pMesh->points_begin(), translation); pMesh->compute_normals(); }
void Transform::Translate(Vector a_Translation, Space a_RelativeTo) { switch (a_RelativeTo) { case Space::World: m_Position += a_Translation; break; case Space::Local: XMVECTOR translationVector(a_Translation.AsXMVECTOR()); XMVECTOR rotationVector(m_Rotation.AsXMVECTOR()); m_Position += Vector(XMVector3Rotate(translationVector, rotationVector)); break; } }