From ffadd7db77b538d3d2ab747f4f798b8043ec58ad Mon Sep 17 00:00:00 2001
From: Christoph Pohl <christoph.pohl@kit.edu>
Date: Mon, 10 Jul 2023 11:19:51 +0200
Subject: [PATCH] Autoformatting

---
 .../SingleChainManipulability.cpp             | 340 +++++++++++-------
 VirtualRobot/Obstacle.cpp                     |  93 +++--
 VirtualRobot/Visualization/TriMeshModel.cpp   | 301 ++++++++++------
 3 files changed, 453 insertions(+), 281 deletions(-)

diff --git a/VirtualRobot/Manipulability/SingleChainManipulability.cpp b/VirtualRobot/Manipulability/SingleChainManipulability.cpp
index 4bf7e59c6..7d4edde7e 100644
--- a/VirtualRobot/Manipulability/SingleChainManipulability.cpp
+++ b/VirtualRobot/Manipulability/SingleChainManipulability.cpp
@@ -23,179 +23,249 @@
 */
 #include "SingleChainManipulability.h"
 
-#include <Visualization/VisualizationFactory.h>
-#include <Visualization/VisualizationNode.h>
 #include <Eigen/Dense>
+
+#include <SimoxUtility/math/convert/pos_quat_to_mat4f.h>
+
 #include "../IK/DifferentialIK.h"
-#include "VirtualRobot/RobotNodeSet.h"
 #include "VirtualRobot/Robot.h"
-#include <SimoxUtility/math/convert/pos_quat_to_mat4f.h>
+#include "VirtualRobot/RobotNodeSet.h"
+#include <Visualization/VisualizationFactory.h>
+#include <Visualization/VisualizationNode.h>
 
 namespace VirtualRobot
 {
 
-Eigen::MatrixXd AbstractSingleChainManipulability::computeManipulability(const Eigen::MatrixXd &jacobian, AbstractManipulability::Type type) {
-    if (weightMatrix.rows() == 0){
-        int nbJoints = jacobian.cols();
-        weightMatrix.setIdentity(nbJoints, nbJoints); 
-    }
-    Eigen::MatrixXd velocityManipulability = jacobian * weightMatrix * weightMatrix.transpose() * jacobian.transpose();
+    Eigen::MatrixXd
+    AbstractSingleChainManipulability::computeManipulability(const Eigen::MatrixXd& jacobian,
+                                                             AbstractManipulability::Type type)
+    {
+        if (weightMatrix.rows() == 0)
+        {
+            int nbJoints = jacobian.cols();
+            weightMatrix.setIdentity(nbJoints, nbJoints);
+        }
+        Eigen::MatrixXd velocityManipulability =
+            jacobian * weightMatrix * weightMatrix.transpose() * jacobian.transpose();
 
-    switch (type) {
-    case Velocity:
-        return velocityManipulability;
-    case Force:
-        return velocityManipulability.inverse();
-    default:
-        throw std::runtime_error("Unkown manipulability type");
+        switch (type)
+        {
+            case Velocity:
+                return velocityManipulability;
+            case Force:
+                return velocityManipulability.inverse();
+            default:
+                throw std::runtime_error("Unkown manipulability type");
+        }
     }
-}
-
-
-
 
+    SingleRobotNodeSetManipulability::SingleRobotNodeSetManipulability(
+        const RobotNodeSetPtr& rns,
+        Mode mode,
+        Type type,
+        Eigen::MatrixXd weightMatrixInit,
+        bool convertMMtoM) :
+        SingleRobotNodeSetManipulability(rns,
+                                         rns->getTCP(),
+                                         mode,
+                                         type,
+                                         RobotNodePtr(),
+                                         weightMatrixInit,
+                                         convertMMtoM)
+    {
+    }
 
-SingleRobotNodeSetManipulability::SingleRobotNodeSetManipulability(const RobotNodeSetPtr &rns, Mode mode, Type type, Eigen::MatrixXd weightMatrixInit, bool convertMMtoM)
-    : SingleRobotNodeSetManipulability(rns, rns->getTCP(), mode, type, RobotNodePtr(), weightMatrixInit, convertMMtoM)
-{
-}
-
-SingleRobotNodeSetManipulability::SingleRobotNodeSetManipulability(const RobotNodeSetPtr &rns, const RobotNodePtr &node, Mode mode, Type type, const RobotNodePtr &coordSystem, Eigen::MatrixXd weightMatrixInit, bool convertMMtoM)
-    : AbstractSingleChainManipulability(mode, type, weightMatrixInit), rns(rns), node(node), coordSystem(coordSystem)
-{
-    ik.reset(new DifferentialIK(rns, coordSystem, JacobiProvider::eSVDDampedDynamic));
-    ik->convertModelScalingtoM(convertMMtoM);
-}
+    SingleRobotNodeSetManipulability::SingleRobotNodeSetManipulability(
+        const RobotNodeSetPtr& rns,
+        const RobotNodePtr& node,
+        Mode mode,
+        Type type,
+        const RobotNodePtr& coordSystem,
+        Eigen::MatrixXd weightMatrixInit,
+        bool convertMMtoM) :
+        AbstractSingleChainManipulability(mode, type, weightMatrixInit),
+        rns(rns),
+        node(node),
+        coordSystem(coordSystem)
+    {
+        ik.reset(new DifferentialIK(rns, coordSystem, JacobiProvider::eSVDDampedDynamic));
+        ik->convertModelScalingtoM(convertMMtoM);
+    }
 
-RobotNodeSetPtr SingleRobotNodeSetManipulability::getRobotNodeSet() {
-    return rns;
-}
+    RobotNodeSetPtr
+    SingleRobotNodeSetManipulability::getRobotNodeSet()
+    {
+        return rns;
+    }
 
-RobotPtr SingleRobotNodeSetManipulability::getRobot() {
-    return rns->getRobot();
-}
+    RobotPtr
+    SingleRobotNodeSetManipulability::getRobot()
+    {
+        return rns->getRobot();
+    }
 
-void SingleRobotNodeSetManipulability::setConvertMMtoM(bool value) {
-    ik->convertModelScalingtoM(value);
-}
+    void
+    SingleRobotNodeSetManipulability::setConvertMMtoM(bool value)
+    {
+        ik->convertModelScalingtoM(value);
+    }
 
-Eigen::Vector3f SingleRobotNodeSetManipulability::getLocalPosition() {
-    return rns->getTCP()->getPositionInRootFrame();
-}
+    Eigen::Vector3f
+    SingleRobotNodeSetManipulability::getLocalPosition()
+    {
+        return rns->getTCP()->getPositionInRootFrame();
+    }
 
-Eigen::Vector3f SingleRobotNodeSetManipulability::getGlobalPosition() {
-    return rns->getTCP()->getGlobalPosition();
-}
+    Eigen::Vector3f
+    SingleRobotNodeSetManipulability::getGlobalPosition()
+    {
+        return rns->getTCP()->getGlobalPosition();
+    }
 
-Eigen::Matrix4f SingleRobotNodeSetManipulability::getCoordinateSystem() {
-    return coordSystem ? coordSystem->getGlobalPose() : Eigen::Matrix4f::Identity();
-}
+    Eigen::Matrix4f
+    SingleRobotNodeSetManipulability::getCoordinateSystem()
+    {
+        return coordSystem ? coordSystem->getGlobalPose() : Eigen::Matrix4f::Identity();
+    }
 
-std::vector<std::string> SingleRobotNodeSetManipulability::getJointNames() {
-    return rns->getNodeNames();
-}
+    std::vector<std::string>
+    SingleRobotNodeSetManipulability::getJointNames()
+    {
+        return rns->getNodeNames();
+    }
 
-Eigen::VectorXd SingleRobotNodeSetManipulability::getJointAngles() {
-    return rns->getJointValuesEigen().cast<double>();
-}
+    Eigen::VectorXd
+    SingleRobotNodeSetManipulability::getJointAngles()
+    {
+        return rns->getJointValuesEigen().cast<double>();
+    }
 
-Eigen::VectorXd SingleRobotNodeSetManipulability::getJointLimitsHigh() {
-    Eigen::VectorXd jointLimitHi(rns->getSize());
-    for (size_t i = 0; i < rns->getSize(); i++)
+    Eigen::VectorXd
+    SingleRobotNodeSetManipulability::getJointLimitsHigh()
     {
-        RobotNodePtr rn = rns->getNode(i);
-        if (rn->isLimitless())
+        Eigen::VectorXd jointLimitHi(rns->getSize());
+        for (size_t i = 0; i < rns->getSize(); i++)
         {
-            jointLimitHi(i) = 0;
+            RobotNodePtr rn = rns->getNode(i);
+            if (rn->isLimitless())
+            {
+                jointLimitHi(i) = 0;
+            }
+            else
+                jointLimitHi(i) = rn->getJointLimitHi();
         }
-        else
-            jointLimitHi(i) = rn->getJointLimitHi();
-    }
-    return jointLimitHi;
-}
-    
-Eigen::VectorXd SingleRobotNodeSetManipulability::getJointLimitsLow() {
-    Eigen::VectorXd jointLimitLo(rns->getSize());
-    for (size_t i = 0; i < rns->getSize(); i++)
-    {
-        RobotNodePtr rn = rns->getNode(i);
-        if (rn->isLimitless())
+        return jointLimitHi;
+    }
+
+    Eigen::VectorXd
+    SingleRobotNodeSetManipulability::getJointLimitsLow()
+    {
+        Eigen::VectorXd jointLimitLo(rns->getSize());
+        for (size_t i = 0; i < rns->getSize(); i++)
         {
-            jointLimitLo(i) = 0;
+            RobotNodePtr rn = rns->getNode(i);
+            if (rn->isLimitless())
+            {
+                jointLimitLo(i) = 0;
+            }
+            else
+                jointLimitLo(i) = rn->getJointLimitLo();
         }
-        else
-            jointLimitLo(i) = rn->getJointLimitLo();
+        return jointLimitLo;
     }
-    return jointLimitLo;
-}
-
-Eigen::MatrixXd SingleRobotNodeSetManipulability::computeJacobian(IKSolver::CartesianSelection mode) {
-    return ik->getJacobianMatrix(node, mode).cast<double>();
-}
-
-
 
+    Eigen::MatrixXd
+    SingleRobotNodeSetManipulability::computeJacobian(IKSolver::CartesianSelection mode)
+    {
+        return ik->getJacobianMatrix(node, mode).cast<double>();
+    }
 
-SingleChainManipulability::SingleChainManipulability(const Eigen::Matrix<double, 6, Eigen::Dynamic> &jacobian,
-                                                     AbstractManipulability::Mode mode, AbstractManipulability::Type type,
-                                                     const Eigen::Matrix<double, Eigen::Dynamic, 1> &jointAngles, const Eigen::VectorXd &jointLimitsHigh, const Eigen::VectorXd &jointLimitsLow,
-                                                     const std::vector<std::string> &jointNames,
-                                                     const Eigen::Vector3f &globalPosition, const Eigen::Vector3f &localPosition) :
-    AbstractSingleChainManipulability(mode, type),
-    jacobian(jacobian),
-    jointNames(jointNames),
-    globalPosition(globalPosition),
-    localPosition(localPosition),
-    jointAngles(jointAngles),
-    jointLimitsHigh(jointLimitsHigh),
-    jointLimitsLow(jointLimitsLow)
-{
-}
+    SingleChainManipulability::SingleChainManipulability(
+        const Eigen::Matrix<double, 6, Eigen::Dynamic>& jacobian,
+        AbstractManipulability::Mode mode,
+        AbstractManipulability::Type type,
+        const Eigen::Matrix<double, Eigen::Dynamic, 1>& jointAngles,
+        const Eigen::VectorXd& jointLimitsHigh,
+        const Eigen::VectorXd& jointLimitsLow,
+        const std::vector<std::string>& jointNames,
+        const Eigen::Vector3f& globalPosition,
+        const Eigen::Vector3f& localPosition) :
+        AbstractSingleChainManipulability(mode, type),
+        jacobian(jacobian),
+        jointNames(jointNames),
+        globalPosition(globalPosition),
+        localPosition(localPosition),
+        jointAngles(jointAngles),
+        jointLimitsHigh(jointLimitsHigh),
+        jointLimitsLow(jointLimitsLow)
+    {
+    }
 
-Eigen::Vector3f SingleChainManipulability::getLocalPosition() {
-    return localPosition;
-}
+    Eigen::Vector3f
+    SingleChainManipulability::getLocalPosition()
+    {
+        return localPosition;
+    }
 
-Eigen::Vector3f SingleChainManipulability::getGlobalPosition() {
-    return globalPosition;
-}
+    Eigen::Vector3f
+    SingleChainManipulability::getGlobalPosition()
+    {
+        return globalPosition;
+    }
 
-Eigen::Matrix4f SingleChainManipulability::getCoordinateSystem() {
-    return Eigen::Matrix4f::Identity();
-}
+    Eigen::Matrix4f
+    SingleChainManipulability::getCoordinateSystem()
+    {
+        return Eigen::Matrix4f::Identity();
+    }
 
-std::vector<std::string> SingleChainManipulability::getJointNames() {
-    return jointNames;
-}
+    std::vector<std::string>
+    SingleChainManipulability::getJointNames()
+    {
+        return jointNames;
+    }
 
-Eigen::VectorXd SingleChainManipulability::getJointAngles() {
-    return jointAngles;
-}
+    Eigen::VectorXd
+    SingleChainManipulability::getJointAngles()
+    {
+        return jointAngles;
+    }
 
-Eigen::VectorXd SingleChainManipulability::getJointLimitsHigh() {
-    return jointLimitsHigh;
-}
-    
-Eigen::VectorXd SingleChainManipulability::getJointLimitsLow() {
-    return jointLimitsLow;
-}
+    Eigen::VectorXd
+    SingleChainManipulability::getJointLimitsHigh()
+    {
+        return jointLimitsHigh;
+    }
 
-void SingleChainManipulability::setJacobian(const Eigen::Matrix<double, 6, Eigen::Dynamic> &jacobian) {
-    this->jacobian = jacobian;
-}
+    Eigen::VectorXd
+    SingleChainManipulability::getJointLimitsLow()
+    {
+        return jointLimitsLow;
+    }
 
-void SingleChainManipulability::setLocalPosition(const Eigen::Vector3f &localPosition) {
-    this->localPosition = localPosition;
-}
+    void
+    SingleChainManipulability::setJacobian(const Eigen::Matrix<double, 6, Eigen::Dynamic>& jacobian)
+    {
+        this->jacobian = jacobian;
+    }
 
-void SingleChainManipulability::setGlobalPosition(const Eigen::Vector3f &globalPosition) {
-    this->globalPosition = globalPosition;
-}
+    void
+    SingleChainManipulability::setLocalPosition(const Eigen::Vector3f& localPosition)
+    {
+        this->localPosition = localPosition;
+    }
 
-Eigen::MatrixXd SingleChainManipulability::computeJacobian(IKSolver::CartesianSelection mode) {
-    return GetJacobianSubMatrix(jacobian, mode);
-}
+    void
+    SingleChainManipulability::setGlobalPosition(const Eigen::Vector3f& globalPosition)
+    {
+        this->globalPosition = globalPosition;
+    }
 
+    Eigen::MatrixXd
+    SingleChainManipulability::computeJacobian(IKSolver::CartesianSelection mode)
+    {
+        return GetJacobianSubMatrix(jacobian, mode);
+    }
 
 
-}
+} // namespace VirtualRobot
diff --git a/VirtualRobot/Obstacle.cpp b/VirtualRobot/Obstacle.cpp
index acc643f34..b0ff271bf 100644
--- a/VirtualRobot/Obstacle.cpp
+++ b/VirtualRobot/Obstacle.cpp
@@ -1,11 +1,11 @@
 
 #include "Obstacle.h"
-#include "CollisionDetection/CollisionModel.h"
+
 #include "CollisionDetection/CollisionChecker.h"
+#include "CollisionDetection/CollisionModel.h"
 #include "Nodes/RobotNode.h"
 #include "Visualization/VisualizationFactory.h"
 #include "Visualization/VisualizationNode.h"
-#include <vector>
 
 namespace VirtualRobot
 {
@@ -15,8 +15,12 @@ namespace VirtualRobot
     // obstacle models start with 20000
     int Obstacle::idCounter = 20000;
 
-    Obstacle::Obstacle(const std::string& name, VisualizationNodePtr visualization, CollisionModelPtr collisionModel, const SceneObject::Physics& p, CollisionCheckerPtr colChecker)
-        : GraspableSensorizedObject(name, visualization, collisionModel, p, colChecker)
+    Obstacle::Obstacle(const std::string& name,
+                       VisualizationNodePtr visualization,
+                       CollisionModelPtr collisionModel,
+                       const SceneObject::Physics& p,
+                       CollisionCheckerPtr colChecker) :
+        GraspableSensorizedObject(name, visualization, collisionModel, p, colChecker)
     {
         if (name == "")
         {
@@ -41,25 +45,35 @@ namespace VirtualRobot
         }
     }
 
-    Obstacle::Obstacle(const std::string& name, const TriMeshModelPtr& trimesh, const std::string& filename)
-        : Obstacle(TagTrimeshCtor{}, name, std::make_shared<VisualizationNode>(trimesh))
+    Obstacle::Obstacle(const std::string& name,
+                       const TriMeshModelPtr& trimesh,
+                       const std::string& filename) :
+        Obstacle(TagTrimeshCtor{}, name, std::make_shared<VisualizationNode>(trimesh))
     {
         getVisualization()->setFilename(filename, false);
         getCollisionModel()->getVisualization()->setFilename(filename, false);
     }
 
-    Obstacle::Obstacle(TagTrimeshCtor, const std::string& name, const VisualizationNodePtr& vis)
-        : Obstacle(name, vis, std::make_shared<CollisionModel>(vis))
-    {}
+    Obstacle::Obstacle(TagTrimeshCtor, const std::string& name, const VisualizationNodePtr& vis) :
+        Obstacle(name, vis, std::make_shared<CollisionModel>(vis))
+    {
+    }
 
     Obstacle::~Obstacle() = default;
 
-    int Obstacle::getID()
+    int
+    Obstacle::getID()
     {
         return id;
     }
 
-    VirtualRobot::ObstaclePtr Obstacle::createBox(float width, float height, float depth, VisualizationFactory::Color color, std::string visualizationType, CollisionCheckerPtr colChecker)
+    VirtualRobot::ObstaclePtr
+    Obstacle::createBox(float width,
+                        float height,
+                        float depth,
+                        VisualizationFactory::Color color,
+                        std::string visualizationType,
+                        CollisionCheckerPtr colChecker)
     {
         ObstaclePtr result;
         VisualizationFactoryPtr visualizationFactory;
@@ -90,7 +104,8 @@ namespace VirtualRobot
 
         if (!visu)
         {
-            VR_ERROR << "Could not create box visualization with visu type " << visualizationType << std::endl;
+            VR_ERROR << "Could not create box visualization with visu type " << visualizationType
+                     << std::endl;
             return result;
         }
 
@@ -111,8 +126,11 @@ namespace VirtualRobot
         return result;
     }
 
-
-    VirtualRobot::ObstaclePtr Obstacle::createSphere(float radius, VisualizationFactory::Color color, std::string visualizationType, CollisionCheckerPtr colChecker)
+    VirtualRobot::ObstaclePtr
+    Obstacle::createSphere(float radius,
+                           VisualizationFactory::Color color,
+                           std::string visualizationType,
+                           CollisionCheckerPtr colChecker)
     {
         ObstaclePtr result;
         VisualizationFactoryPtr visualizationFactory;
@@ -141,7 +159,8 @@ namespace VirtualRobot
         */
         if (!visu)
         {
-            VR_ERROR << "Could not create sphere visualization with visu type " << visualizationType << std::endl;
+            VR_ERROR << "Could not create sphere visualization with visu type " << visualizationType
+                     << std::endl;
             return result;
         }
 
@@ -163,8 +182,12 @@ namespace VirtualRobot
         return result;
     }
 
-
-    VirtualRobot::ObstaclePtr Obstacle::createCylinder(float radius, float height, VisualizationFactory::Color color, std::string visualizationType, CollisionCheckerPtr colChecker)
+    VirtualRobot::ObstaclePtr
+    Obstacle::createCylinder(float radius,
+                             float height,
+                             VisualizationFactory::Color color,
+                             std::string visualizationType,
+                             CollisionCheckerPtr colChecker)
     {
         ObstaclePtr result;
         VisualizationFactoryPtr visualizationFactory;
@@ -193,7 +216,8 @@ namespace VirtualRobot
         */
         if (!visu)
         {
-            VR_ERROR << "Could not create cylinder visualization with visu type " << visualizationType << std::endl;
+            VR_ERROR << "Could not create cylinder visualization with visu type "
+                     << visualizationType << std::endl;
             return result;
         }
 
@@ -215,8 +239,10 @@ namespace VirtualRobot
         return result;
     }
 
-
-    VirtualRobot::ObstaclePtr Obstacle::createFromMesh(TriMeshModelPtr mesh, std::string visualizationType, CollisionCheckerPtr colChecker)
+    VirtualRobot::ObstaclePtr
+    Obstacle::createFromMesh(TriMeshModelPtr mesh,
+                             std::string visualizationType,
+                             CollisionCheckerPtr colChecker)
     {
         THROW_VR_EXCEPTION_IF(!mesh, "Null data");
 
@@ -244,7 +270,8 @@ namespace VirtualRobot
 
         if (!visu)
         {
-            VR_ERROR << "Could not create sphere visualization with visu type " << visualizationType << std::endl;
+            VR_ERROR << "Could not create sphere visualization with visu type " << visualizationType
+                     << std::endl;
             return result;
         }
 
@@ -264,7 +291,8 @@ namespace VirtualRobot
         return result;
     }
 
-    void Obstacle::print(bool printDecoration /*= true*/)
+    void
+    Obstacle::print(bool printDecoration /*= true*/)
     {
         if (printDecoration)
         {
@@ -282,7 +310,8 @@ namespace VirtualRobot
         }
     }
 
-    ObstaclePtr Obstacle::clone(const std::string& name, CollisionCheckerPtr colChecker, float scaling) const
+    ObstaclePtr
+    Obstacle::clone(const std::string& name, CollisionCheckerPtr colChecker, float scaling) const
     {
         VisualizationNodePtr clonedVisualizationNode;
 
@@ -298,7 +327,8 @@ namespace VirtualRobot
             clonedCollisionModel = collisionModel->clone(colChecker, scaling);
         }
 
-        ObstaclePtr result(new Obstacle(name, clonedVisualizationNode, clonedCollisionModel, physics, colChecker));
+        ObstaclePtr result(
+            new Obstacle(name, clonedVisualizationNode, clonedCollisionModel, physics, colChecker));
 
         result->setGlobalPose(getGlobalPose());
         result->primitiveApproximation = primitiveApproximation;
@@ -309,7 +339,11 @@ namespace VirtualRobot
         return result;
     }
 
-    std::string Obstacle::toXML(const std::string& basePath, int tabs, const std::string& modelPathRelative, bool storeSensors)
+    std::string
+    Obstacle::toXML(const std::string& basePath,
+                    int tabs,
+                    const std::string& modelPathRelative,
+                    bool storeSensors)
     {
         std::stringstream ss;
         std::string t = "\t";
@@ -331,15 +365,16 @@ namespace VirtualRobot
         return ss.str();
     }
 
-
-    std::string Obstacle::getFilename() const
+    std::string
+    Obstacle::getFilename() const
     {
         return filename;
     }
 
-    void Obstacle::setFilename(const std::string& fname)
+    void
+    Obstacle::setFilename(const std::string& fname)
     {
         this->filename = fname;
     }
 
-} //  namespace
+} // namespace VirtualRobot
diff --git a/VirtualRobot/Visualization/TriMeshModel.cpp b/VirtualRobot/Visualization/TriMeshModel.cpp
index d8d15ddc0..4ae51bb6b 100644
--- a/VirtualRobot/Visualization/TriMeshModel.cpp
+++ b/VirtualRobot/Visualization/TriMeshModel.cpp
@@ -5,23 +5,22 @@
 */
 
 #include "TriMeshModel.h"
-#include "../VirtualRobot.h"
-#include "../DataStructures/nanoflann.hpp"
-#include "../DataStructures/KdTreePointCloud.h"
-
-#include "../Import/MeshImport/AssimpReader.h"
-#include "VisualizationFactory.h"
-#include "VisualizationNode.h"
-
-#include<Eigen/Geometry>
 
 #include <algorithm>
-#include <iostream>
+#include <filesystem>
 #include <fstream>
 #include <iomanip>
+#include <iostream>
 #include <set>
-#include <filesystem>
 
+#include <Eigen/Geometry>
+
+#include "../DataStructures/KdTreePointCloud.h"
+#include "../DataStructures/nanoflann.hpp"
+#include "../Import/MeshImport/AssimpReader.h"
+#include "../VirtualRobot.h"
+#include "VisualizationFactory.h"
+#include "VisualizationNode.h"
 
 namespace VirtualRobot
 {
@@ -30,7 +29,8 @@ namespace VirtualRobot
 
     TriMeshModel::TriMeshModel() = default;
 
-    TriMeshModelPtr TriMeshModel::FromFile(const std::string &str)
+    TriMeshModelPtr
+    TriMeshModel::FromFile(const std::string& str)
     {
         const auto tolower = [](std::string s)
         {
@@ -49,7 +49,7 @@ namespace VirtualRobot
         {
             VisualizationFactoryPtr visualizationFactory;
             visualizationFactory = VisualizationFactory::fromName("inventor", nullptr);
-            std::array<char*,1> argv = {nullptr};
+            std::array<char*, 1> argv = {nullptr};
             int argc = 0;
             visualizationFactory->init(argc, argv.data(), "");
             const auto vnode = visualizationFactory->getVisualizationFromFile(str);
@@ -57,8 +57,9 @@ namespace VirtualRobot
         }
         return nullptr;
     }
-    
-    TriMeshModel TriMeshModel::MakeBox(float a, float b, float c)
+
+    TriMeshModel
+    TriMeshModel::MakeBox(float a, float b, float c)
     {
         TriMeshModel m;
         m.addVertex(0, 0, 0);
@@ -84,17 +85,23 @@ namespace VirtualRobot
         addF(4, 5, 1, 0);
         return m;
     }
-    TriMeshModel    TriMeshModel::MakePoint(float x, float y, float z)
+
+    TriMeshModel
+    TriMeshModel::MakePoint(float x, float y, float z)
     {
         std::vector<triangle> tr;
         tr.emplace_back(x, y, z);
         return {tr};
     }
-    TriMeshModelPtr TriMeshModel::MakePointPtr(float x, float y, float z)
+
+    TriMeshModelPtr
+    TriMeshModel::MakePointPtr(float x, float y, float z)
     {
         return std::make_shared<VirtualRobot::TriMeshModel>(MakePoint(x, y, z));
     }
-    TriMeshModelPtr TriMeshModel::MakePointPtr(const Eigen::Vector3f& p)
+
+    TriMeshModelPtr
+    TriMeshModel::MakePointPtr(const Eigen::Vector3f& p)
     {
         return MakePointPtr(p.x(), p.y(), p.z());
     }
@@ -120,8 +127,6 @@ namespace VirtualRobot
         }
     }
 
-
-
     /**
      * This method adds the vertices \p vertex1,
      * \p vertex2 and \p vertex3 to TriMeshModel::vertices and creates a new
@@ -131,15 +136,23 @@ namespace VirtualRobot
      * \param vertex2 second vertex to use in the calculation
      * \param vertex3 third vertex to use in the calculation
      */
-    void TriMeshModel::addTriangleWithFace(const Eigen::Vector3f& vertex1, const Eigen::Vector3f& vertex2, const Eigen::Vector3f& vertex3)
+    void
+    TriMeshModel::addTriangleWithFace(const Eigen::Vector3f& vertex1,
+                                      const Eigen::Vector3f& vertex2,
+                                      const Eigen::Vector3f& vertex3)
     {
         Eigen::Vector3f normal = TriMeshModel::CreateNormal(vertex1, vertex2, vertex3);
         addTriangleWithFace(vertex1, vertex2, vertex3, normal);
     }
 
-    void TriMeshModel::addTriangleWithFace(
-        const Eigen::Vector3f& vertex1, const Eigen::Vector3f& vertex2, const Eigen::Vector3f& vertex3, Eigen::Vector3f normal,
-        const VisualizationFactory::Color& color1, const VisualizationFactory::Color& color2, const VisualizationFactory::Color& color3)
+    void
+    TriMeshModel::addTriangleWithFace(const Eigen::Vector3f& vertex1,
+                                      const Eigen::Vector3f& vertex2,
+                                      const Eigen::Vector3f& vertex3,
+                                      Eigen::Vector3f normal,
+                                      const VisualizationFactory::Color& color1,
+                                      const VisualizationFactory::Color& color2,
+                                      const VisualizationFactory::Color& color3)
     {
         //        VR_INFO << vertex1 << "\n\n" << vertex2 << "\n\n" << vertex3 << "\n\n" << std::endl;
         this->addVertex(vertex1);
@@ -178,26 +191,40 @@ namespace VirtualRobot
         this->addFace(face);
     }
 
-    void TriMeshModel::addTriangleWithFace(const Eigen::Vector3f& vertex1, const Eigen::Vector3f& vertex2, const Eigen::Vector3f& vertex3, const Eigen::Vector4f& vertexColor1, const Eigen::Vector4f& vertexColor2, const Eigen::Vector4f& vertexColor3)
+    void
+    TriMeshModel::addTriangleWithFace(const Eigen::Vector3f& vertex1,
+                                      const Eigen::Vector3f& vertex2,
+                                      const Eigen::Vector3f& vertex3,
+                                      const Eigen::Vector4f& vertexColor1,
+                                      const Eigen::Vector4f& vertexColor2,
+                                      const Eigen::Vector4f& vertexColor3)
     {
         Eigen::Vector3f normal = TriMeshModel::CreateNormal(vertex1, vertex2, vertex3);
-        VisualizationFactory::Color color1(vertexColor1(0), vertexColor1(1), vertexColor1(2), vertexColor1(4));
-        VisualizationFactory::Color color2(vertexColor2(0), vertexColor2(1), vertexColor2(2), vertexColor2(4));
-        VisualizationFactory::Color color3(vertexColor3(0), vertexColor3(1), vertexColor3(2), vertexColor3(4));
+        VisualizationFactory::Color color1(
+            vertexColor1(0), vertexColor1(1), vertexColor1(2), vertexColor1(4));
+        VisualizationFactory::Color color2(
+            vertexColor2(0), vertexColor2(1), vertexColor2(2), vertexColor2(4));
+        VisualizationFactory::Color color3(
+            vertexColor3(0), vertexColor3(1), vertexColor3(2), vertexColor3(4));
         addTriangleWithFace(vertex1, vertex2, vertex3, normal, color1, color2, color3);
     }
 
-    void TriMeshModel::addMesh(const TriMeshModel& mesh)
+    void
+    TriMeshModel::addMesh(const TriMeshModel& mesh)
     {
         for (const auto& face : mesh.faces)
         {
-            addTriangleWithFace(mesh.vertices.at(face.id1), mesh.vertices.at(face.id2), mesh.vertices.at(face.id3),
-                                face.normal, mesh.colors.at(face.idColor1), mesh.colors.at(face.idColor2), mesh.colors.at(face.idColor3));
+            addTriangleWithFace(mesh.vertices.at(face.id1),
+                                mesh.vertices.at(face.id2),
+                                mesh.vertices.at(face.id3),
+                                face.normal,
+                                mesh.colors.at(face.idColor1),
+                                mesh.colors.at(face.idColor2),
+                                mesh.colors.at(face.idColor3));
         }
         //        VR_INFO << " size after : " << vertices.size() << std::endl;
     }
 
-
     /**
      * This method creates the normal belonging to the vertices \p vertex1,
      * \p vertex2 and \p vertex3.
@@ -208,7 +235,10 @@ namespace VirtualRobot
      *
      * \return normal vector
      */
-    Eigen::Vector3f TriMeshModel::CreateNormal(const Eigen::Vector3f& vertex1, const Eigen::Vector3f& vertex2, const Eigen::Vector3f& vertex3)
+    Eigen::Vector3f
+    TriMeshModel::CreateNormal(const Eigen::Vector3f& vertex1,
+                               const Eigen::Vector3f& vertex2,
+                               const Eigen::Vector3f& vertex3)
     {
         static bool warningPrinted = false;
         // calculate normal
@@ -222,7 +252,8 @@ namespace VirtualRobot
         {
             if (!warningPrinted)
             {
-                VR_INFO << ": Warning: tiny normal found in TriMeshModel. This error is printed only once!\n";
+                VR_INFO << ": Warning: tiny normal found in TriMeshModel. This error is printed "
+                           "only once!\n";
                 warningPrinted = true;
             }
         }
@@ -234,16 +265,17 @@ namespace VirtualRobot
         return normal;
     }
 
-
     /**
      * This method adds a face to the internal data structure TriMeshModel::faces.
      */
-    void TriMeshModel::addFace(const MathTools::TriangleFace& face)
+    void
+    TriMeshModel::addFace(const MathTools::TriangleFace& face)
     {
         faces.push_back(face);
     }
 
-    void TriMeshModel::addFace(unsigned int id0, unsigned int id1, unsigned int id2)
+    void
+    TriMeshModel::addFace(unsigned int id0, unsigned int id1, unsigned int id2)
     {
         MathTools::TriangleFace f;
         f.id1 = id0;
@@ -252,11 +284,11 @@ namespace VirtualRobot
         addFace(f);
     }
 
-
     /**
     * This method adds a vertex to the internal data structure TriMeshModel::vertices.
     */
-    int TriMeshModel::addVertex(const Eigen::Vector3f& vertex)
+    int
+    TriMeshModel::addVertex(const Eigen::Vector3f& vertex)
     {
         if (std::isnan(vertex[0]) || std::isnan(vertex[1]) || std::isnan(vertex[2]))
         {
@@ -271,27 +303,28 @@ namespace VirtualRobot
     /**
     * This method adds a normal to the internal data structure TriMeshModel::normals.
     */
-    unsigned int TriMeshModel::addNormal(const Eigen::Vector3f& normal)
+    unsigned int
+    TriMeshModel::addNormal(const Eigen::Vector3f& normal)
     {
         normals.push_back(normal);
         return static_cast<unsigned int>(normals.size() - 1);
-
     }
 
     /**
      * This method adds a color to the internal data structure TriMeshModel::colors
      */
-    unsigned int TriMeshModel::addColor(const VisualizationFactory::Color& color)
+    unsigned int
+    TriMeshModel::addColor(const VisualizationFactory::Color& color)
     {
         colors.push_back(color);
         return static_cast<unsigned int>(colors.size() - 1);
-
     }
 
     /**
      * This method converts and adds a color to the internal data structure TriMeshModel::colors
      */
-    unsigned int TriMeshModel::addColor(const Eigen::Vector4f& color)
+    unsigned int
+    TriMeshModel::addColor(const Eigen::Vector4f& color)
     {
         return addColor(VisualizationFactory::Color(color(0), color(1), color(2), color(3)));
     }
@@ -299,18 +332,19 @@ namespace VirtualRobot
     /**
      * This method converts and adds a color to the internal data structure TriMeshModel::materials
      */
-    unsigned int TriMeshModel::addMaterial(const VisualizationFactory::PhongMaterial& material)
+    unsigned int
+    TriMeshModel::addMaterial(const VisualizationFactory::PhongMaterial& material)
     {
         materials.push_back(material);
         return static_cast<unsigned int>(materials.size() - 1);
     }
 
-
     /**
      * This method clears the internal data structures TriMeshModel::faces and
      * TriMeshModel::vertices.
      */
-    void TriMeshModel::clear()
+    void
+    TriMeshModel::clear()
     {
         vertices.clear();
         colors.clear();
@@ -319,19 +353,23 @@ namespace VirtualRobot
         boundingBox.clear();
     }
 
-    unsigned int TriMeshModel::addMissingNormals()
+    unsigned int
+    TriMeshModel::addMissingNormals()
     {
         int counter = 0;
         for (auto& face : faces)
         {
-            if (face.idNormal1 != UINT_MAX && face.idNormal2 != UINT_MAX && face.idNormal3 != UINT_MAX)
+            if (face.idNormal1 != UINT_MAX && face.idNormal2 != UINT_MAX &&
+                face.idNormal3 != UINT_MAX)
             {
                 continue;
             }
 
-            if (face.normal.norm() < 1e-10f || std::isnan(face.normal[0]) || std::isnan(face.normal[1]) || std::isnan(face.normal[2]))
+            if (face.normal.norm() < 1e-10f || std::isnan(face.normal[0]) ||
+                std::isnan(face.normal[1]) || std::isnan(face.normal[2]))
             {
-                face.normal = CreateNormal(vertices.at(face.id1), vertices.at(face.id2), vertices.at(face.id3));
+                face.normal = CreateNormal(
+                    vertices.at(face.id1), vertices.at(face.id2), vertices.at(face.id3));
             }
             auto normalId = UINT_MAX;
             if (face.idNormal1 == UINT_MAX)
@@ -367,7 +405,8 @@ namespace VirtualRobot
         return static_cast<unsigned int>(counter);
     }
 
-    unsigned int TriMeshModel::addMissingColors(const VisualizationFactory::Color& color)
+    unsigned int
+    TriMeshModel::addMissingColors(const VisualizationFactory::Color& color)
     {
         mergeVertices();
         int counter = 0;
@@ -416,32 +455,32 @@ namespace VirtualRobot
                 face.idColor3 = getAndAddColorId(face.id3);
                 counter++;
             }
-
         }
         return static_cast<unsigned int>(counter);
     }
 
-    void TriMeshModel::smoothNormalSurface()
+    void
+    TriMeshModel::smoothNormalSurface()
     {
         mergeVertices();
         addMissingNormals();
         fattenShrink(0.0f, true);
     }
 
-
     /**
      * This method calls TriangleFace::flipOrientation() on each entry in
      * TriMeshModel::faces.
      */
-    void TriMeshModel::flipVertexOrientations()
+    void
+    TriMeshModel::flipVertexOrientations()
     {
-        std::for_each(faces.begin(), faces.end(), std::mem_fun_ref(&MathTools::TriangleFace::flipOrientation));
+        std::for_each(faces.begin(),
+                      faces.end(),
+                      std::mem_fun_ref(&MathTools::TriangleFace::flipOrientation));
     }
 
-
-
-
-    void TriMeshModel::mergeVertices(float mergeThreshold, bool removeVertices)
+    void
+    TriMeshModel::mergeVertices(float mergeThreshold, bool removeVertices)
     {
         unsigned int size = static_cast<unsigned int>(vertices.size());
         unsigned int faceCount = static_cast<unsigned int>(faces.size());
@@ -458,25 +497,25 @@ namespace VirtualRobot
         cloud.pts.reserve(size);
         for (unsigned int i = 0; i < size; ++i)
         {
-            cloud.pts.emplace_back(PointCloud<float>::Point{vertices.at(i)[0],
-                                   vertices.at(i)[1],
-                                   vertices.at(i)[2]});
+            cloud.pts.emplace_back(
+                PointCloud<float>::Point{vertices.at(i)[0], vertices.at(i)[1], vertices.at(i)[2]});
         }
         using num_t = float;
         // construct a kd-tree index:
-        typedef nanoflann::KDTreeSingleIndexAdaptor <
-        nanoflann::L2_Simple_Adaptor<num_t, PointCloud<num_t> >,
-                  PointCloud<num_t>,
-                  3 /* dim */
-                  > my_kd_tree_t;
-
-        my_kd_tree_t   index(3 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */));
+        typedef nanoflann::KDTreeSingleIndexAdaptor<
+            nanoflann::L2_Simple_Adaptor<num_t, PointCloud<num_t>>,
+            PointCloud<num_t>,
+            3 /* dim */
+            >
+            my_kd_tree_t;
+
+        my_kd_tree_t index(
+            3 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */));
         index.buildIndex();
 
 
-
         const num_t search_radius = static_cast<num_t>(mergeThreshold);
-        std::vector<std::pair<size_t, num_t> >   ret_matches;
+        std::vector<std::pair<size_t, num_t>> ret_matches;
 
         nanoflann::SearchParams params;
         num_t query_pt[3];
@@ -487,7 +526,8 @@ namespace VirtualRobot
             query_pt[0] = p1[0];
             query_pt[1] = p1[1];
             query_pt[2] = p1[2];
-            const size_t nMatches = index.radiusSearch(&query_pt[0], search_radius, ret_matches, params);
+            const size_t nMatches =
+                index.radiusSearch(&query_pt[0], search_radius, ret_matches, params);
             for (size_t k = 0; k < nMatches; ++k)
             {
                 unsigned int foundIndex = static_cast<unsigned int>(ret_matches.at(k).first);
@@ -567,7 +607,8 @@ namespace VirtualRobot
         }
     }
 
-    size_t TriMeshModel::removeUnusedVertices()
+    size_t
+    TriMeshModel::removeUnusedVertices()
     {
         auto size = vertices.size();
         auto faceCount = faces.size();
@@ -609,29 +650,33 @@ namespace VirtualRobot
         return removed;
     }
 
-    std::vector<float> TriMeshModel::getFaceAreas() const
+    std::vector<float>
+    TriMeshModel::getFaceAreas() const
     {
         std::vector<float> areas;
         for (const auto& face : faces)
         {
             float area = MathTools::getTriangleArea(
-                             vertices.at(face.id1), vertices.at(face.id2), vertices.at(face.id3));
+                vertices.at(face.id1), vertices.at(face.id2), vertices.at(face.id3));
             areas.push_back(area);
         }
         return areas;
     }
 
-    float TriMeshModel::getVolume() const
+    float
+    TriMeshModel::getVolume() const
     {
         float volume = 0.0f;
         for (const auto& face : faces)
         {
-            volume += std::abs(vertices.at(face.id1).dot(vertices.at(face.id2).cross(vertices.at(face.id3))));
+            volume += std::abs(
+                vertices.at(face.id1).dot(vertices.at(face.id2).cross(vertices.at(face.id3))));
         }
         return volume;
     }
 
-    void TriMeshModel::rotate(const Eigen::Matrix3f& mx)
+    void
+    TriMeshModel::rotate(const Eigen::Matrix3f& mx)
     {
         for (auto& vec3f : normals)
         {
@@ -645,7 +690,8 @@ namespace VirtualRobot
         }
     }
 
-    void TriMeshModel::fattenShrink(float offset, bool updateNormals)
+    void
+    TriMeshModel::fattenShrink(float offset, bool updateNormals)
     {
         size_t i;
         size_t size = this->faces.size();
@@ -656,10 +702,14 @@ namespace VirtualRobot
             auto& p1 = vertices.at(face.id1);
             auto& p2 = vertices.at(face.id2);
             auto& p3 = vertices.at(face.id3);
-            auto normal1 = face.idNormal1 < normals.size() ? normals.at(face.idNormal1) : face.normal;
-            auto normal2 = face.idNormal2 < normals.size() ? normals.at(face.idNormal2) : face.normal;
-            auto normal3 = face.idNormal3 < normals.size() ? normals.at(face.idNormal3) : face.normal;
-            if (std::isnan(face.normal[0]) || std::isnan(face.normal[1]) || std::isnan(face.normal[2]))
+            auto normal1 =
+                face.idNormal1 < normals.size() ? normals.at(face.idNormal1) : face.normal;
+            auto normal2 =
+                face.idNormal2 < normals.size() ? normals.at(face.idNormal2) : face.normal;
+            auto normal3 =
+                face.idNormal3 < normals.size() ? normals.at(face.idNormal3) : face.normal;
+            if (std::isnan(face.normal[0]) || std::isnan(face.normal[1]) ||
+                std::isnan(face.normal[2]))
             {
                 std::cout << "NAN in face " << i << " : " << face.normal << std::endl;
             }
@@ -715,7 +765,7 @@ namespace VirtualRobot
             {
                 if (std::isnan(normal[0]) || std::isnan(normal[1]) || std::isnan(normal[2]))
                 {
-                    std::cout << "NAN in " << i << " : " << normal  << std::endl;
+                    std::cout << "NAN in " << i << " : " << normal << std::endl;
                 }
                 p += normal * offset;
             }
@@ -733,11 +783,10 @@ namespace VirtualRobot
                 face.idNormal3 = addNormal(averageNormals.at(face.id3));
             }
         }
-
-
     }
 
-    void TriMeshModel::setColor(VisualizationFactory::Color color)
+    void
+    TriMeshModel::setColor(VisualizationFactory::Color color)
     {
         colors.clear();
         for (size_t i = 0; i < vertices.size(); i++)
@@ -746,12 +795,12 @@ namespace VirtualRobot
         }
     }
 
-
     /**
      * This method calculates the center of mass by accumulating all vertices and
      * dividing the sum by the number of vertices.
      */
-    Eigen::Vector3f TriMeshModel::getCOM()
+    Eigen::Vector3f
+    TriMeshModel::getCOM()
     {
         Eigen::Vector3f centerOfMass = Eigen::Vector3f::Zero();
 
@@ -770,7 +819,8 @@ namespace VirtualRobot
         return centerOfMass;
     }
 
-    bool TriMeshModel::getSize(Eigen::Vector3f& storeMinSize, Eigen::Vector3f& storeMaxSize)
+    bool
+    TriMeshModel::getSize(Eigen::Vector3f& storeMinSize, Eigen::Vector3f& storeMaxSize)
     {
         if (vertices.size() == 0)
         {
@@ -809,7 +859,10 @@ namespace VirtualRobot
      *
      * \return true if both faces share the same edge and false if not
      */
-    bool TriMeshModel::checkFacesHaveSameEdge(const MathTools::TriangleFace& face1, const MathTools::TriangleFace& face2, std::vector<std::pair<int, int> >& commonVertexIds) const
+    bool
+    TriMeshModel::checkFacesHaveSameEdge(const MathTools::TriangleFace& face1,
+                                         const MathTools::TriangleFace& face2,
+                                         std::vector<std::pair<int, int>>& commonVertexIds) const
     {
         commonVertexIds.clear();
         Eigen::Vector2i vertexIds;
@@ -876,16 +929,16 @@ namespace VirtualRobot
         return (2 == commonVertexIds.size());
     }
 
-
     /**
      * This method checks if all normals of the model point inwards or outwards and
      * flippes the faces which have a wrong orientation.
      * \param inverted inverts the check if set to true
      * \return the number of flipped faces
      */
-    unsigned int TriMeshModel::checkAndCorrectNormals(bool inverted)
+    unsigned int
+    TriMeshModel::checkAndCorrectNormals(bool inverted)
     {
-        MathTools::TriangleFace* f1, *f2;
+        MathTools::TriangleFace *f1, *f2;
         int a1, a2, b1, b2;
         int flippedFacesCount = 0;
 
@@ -903,7 +956,7 @@ namespace VirtualRobot
                 }
 
                 f2 = &(faces[j]);
-                std::vector<std::pair<int, int> > commonVertexIds;
+                std::vector<std::pair<int, int>> commonVertexIds;
 
                 if (checkFacesHaveSameEdge(*f1, *f2, commonVertexIds))
                 {
@@ -911,8 +964,10 @@ namespace VirtualRobot
                     a2 = commonVertexIds[1].first; // second common vertex id face1
                     b1 = commonVertexIds[0].second; // first common vertex id face
                     b2 = commonVertexIds[1].second; // second common vertex id face2
-                    bool bAok = ((a1 == 1 && a2 == 2) || (a1 == 2 && a2 == 3) || (a1 == 3 && a2 == 1));
-                    bool bBok = ((b1 == 1 && b2 == 3) || (b1 == 3 && b2 == 2) || (b1 == 2 && b2 == 1));
+                    bool bAok =
+                        ((a1 == 1 && a2 == 2) || (a1 == 2 && a2 == 3) || (a1 == 3 && a2 == 1));
+                    bool bBok =
+                        ((b1 == 1 && b2 == 3) || (b1 == 3 && b2 == 2) || (b1 == 2 && b2 == 1));
 
                     if (inverted)
                     {
@@ -925,7 +980,7 @@ namespace VirtualRobot
                         flippedFacesCount++;
                         f2->flipOrientation();
                     }
-                    else if (!bAok &&  bBok)
+                    else if (!bAok && bBok)
                     {
                         flippedFacesCount++;
                         f2->flipOrientation();
@@ -937,36 +992,42 @@ namespace VirtualRobot
         return static_cast<unsigned int>(flippedFacesCount);
     }
 
-    Eigen::Vector3f TriMeshModel::getNormalOfFace(std::size_t faceId) const
+    Eigen::Vector3f
+    TriMeshModel::getNormalOfFace(std::size_t faceId) const
     {
         const auto& face = faces.at(faceId);
-        if (face.idNormal1 == UINT_MAX || face.idNormal2 == UINT_MAX  || face.idNormal3 == UINT_MAX)
+        if (face.idNormal1 == UINT_MAX || face.idNormal2 == UINT_MAX || face.idNormal3 == UINT_MAX)
         {
-            return (normals.at(face.idNormal1) + normals.at(face.idNormal2) + normals.at(face.idNormal3)).normalized();
+            return (normals.at(face.idNormal1) + normals.at(face.idNormal2) +
+                    normals.at(face.idNormal3))
+                .normalized();
         }
         return face.normal;
     }
 
-
-    void TriMeshModel::print()
+    void
+    TriMeshModel::print()
     {
-        std::cout << "TriMeshModel\nNr of Faces:" << faces.size() << "\nNr of vertices:" << vertices.size() << std::endl;
+        std::cout << "TriMeshModel\nNr of Faces:" << faces.size()
+                  << "\nNr of vertices:" << vertices.size() << std::endl;
         boundingBox.print();
     }
 
-
-    void TriMeshModel::printNormals()
+    void
+    TriMeshModel::printNormals()
     {
         std::cout << "TriMeshModel Normals:" << std::endl;
         std::streamsize pr = cout.precision(2);
         for (auto& face : faces)
         {
-            std::cout << "<" << face.normal(0) << "," << face.normal(1) << "," << face.normal(2) << ">,";
+            std::cout << "<" << face.normal(0) << "," << face.normal(1) << "," << face.normal(2)
+                      << ">,";
         }
         cout.precision(pr);
     }
 
-    void TriMeshModel::printVertices()
+    void
+    TriMeshModel::printVertices()
     {
         std::cout << "TriMeshModel Vertices:" << std::endl;
         std::streamsize pr = cout.precision(2);
@@ -977,7 +1038,8 @@ namespace VirtualRobot
         cout.precision(pr);
     }
 
-    void TriMeshModel::printFaces()
+    void
+    TriMeshModel::printFaces()
     {
         std::cout << "TriMeshModel Faces (vertex indices):" << std::endl;
         std::streamsize pr = cout.precision(2);
@@ -988,8 +1050,8 @@ namespace VirtualRobot
         cout.precision(pr);
     }
 
-
-    void TriMeshModel::scale(const Eigen::Vector3f& scaleFactor)
+    void
+    TriMeshModel::scale(const Eigen::Vector3f& scaleFactor)
     {
         if (scaleFactor(0) == 1.0f && scaleFactor(1) == 1.0f && scaleFactor(2) == 1.0f)
         {
@@ -1007,19 +1069,22 @@ namespace VirtualRobot
         boundingBox.scale(scaleFactor);
     }
 
-    void TriMeshModel::scale(float scaleFactor)
+    void
+    TriMeshModel::scale(float scaleFactor)
     {
         scale(Eigen::Vector3f{scaleFactor, scaleFactor, scaleFactor});
     }
 
-    TriMeshModelPtr TriMeshModel::clone() const
+    TriMeshModelPtr
+    TriMeshModel::clone() const
     {
         Eigen::Vector3f scaleFactor;
         scaleFactor << 1.0f, 1.0f, 1.0f;
         return clone(scaleFactor);
     }
 
-    TriMeshModelPtr TriMeshModel::clone(const Eigen::Vector3f& scaleFactor) const
+    TriMeshModelPtr
+    TriMeshModel::clone(const Eigen::Vector3f& scaleFactor) const
     {
         TriMeshModelPtr r(new TriMeshModel());
         r->vertices = vertices;
@@ -1031,7 +1096,9 @@ namespace VirtualRobot
         r->scale(scaleFactor);
         return r;
     }
-    TriMeshModelPtr TriMeshModel::clone(float x, float y, float z) const
+
+    TriMeshModelPtr
+    TriMeshModel::clone(float x, float y, float z) const
     {
         return clone(Eigen::Vector3f{x, y, z});
     }
-- 
GitLab