20std::shared_ptr<Geometry::MeshObject>
MeshFileIO::rotate(std::shared_ptr<Geometry::MeshObject> environmentMesh,
21 double xRotation,
double yRotation,
double zRotation) {
23 environmentMesh->rotate(rotationMatrix);
24 return environmentMesh;
33std::shared_ptr<Geometry::MeshObject>
MeshFileIO::translate(std::shared_ptr<Geometry::MeshObject> environmentMesh,
34 const std::vector<double> &translationVector) {
35 std::vector<double> checkVector = std::vector<double>(3, 0.0);
36 if (translationVector != checkVector) {
37 if (translationVector.size() != 3) {
38 throw std::invalid_argument(
"Invalid Translation vector, must have exactly 3 dimensions");
43 return environmentMesh;
57 return Kernel::V3D(
double(xVal),
double(yVal),
double(zVal));
Kernel::V3D createScaledV3D(double xVal, double yVal, double zVal)
scales a 3D point according the units defined in the MeshFileIO class
double scaleValue(double val)
std::shared_ptr< Geometry::MeshObject > translate(std::shared_ptr< Geometry::MeshObject > environmentMesh, const std::vector< double > &translationVector)
translates the environment by a provided matrix
std::shared_ptr< Geometry::MeshObject > rotate(std::shared_ptr< Geometry::MeshObject > environmentMesh, double xRotation, double yRotation, double zRotation)
Rotates the environment by a generated matrix.
static Kernel::Matrix< double > generateMatrix(double xRotation, double yRotation, double zRotation)
Generates a rotate Matrix applying the x rotate then y rotate, then z rotate.