diff --git a/VirtualRobot/Visualization/TriMeshModel.cpp b/VirtualRobot/Visualization/TriMeshModel.cpp
index 18e7f896170c2cd88a729945619a653eb97faaf9..d9f3b6c92dd42d1f56d704c1d9e49008fd52d799 100644
--- a/VirtualRobot/Visualization/TriMeshModel.cpp
+++ b/VirtualRobot/Visualization/TriMeshModel.cpp
@@ -59,7 +59,11 @@ namespace VirtualRobot
     }
     TriMeshModelPtr TriMeshModel::MakePointPtr(float x, float y, float z)
     {
-        return std::make_shared<VirtualRobot::TriMeshModel>(MakePoint(y, y, z));
+        return std::make_shared<VirtualRobot::TriMeshModel>(MakePoint(x, y, z));
+    }
+    TriMeshModelPtr TriMeshModel::MakePointPtr(const Eigen::Vector3f& p)
+    {
+        return MakePointPtr(p.x(), p.y(), p.z());
     }
 
     TriMeshModel::TriMeshModel(const std::vector<triangle>& triangles)
diff --git a/VirtualRobot/Visualization/TriMeshModel.h b/VirtualRobot/Visualization/TriMeshModel.h
index 7feb8b81b4ddb3b02d2f101e5769d1efe73d0f4f..83493e990095dc7ee7575fe66fc45a29bbc820ba 100644
--- a/VirtualRobot/Visualization/TriMeshModel.h
+++ b/VirtualRobot/Visualization/TriMeshModel.h
@@ -41,6 +41,7 @@ namespace VirtualRobot
         static TriMeshModel MakeBox(float a, float b, float c);
         static TriMeshModel MakePoint(float x, float y, float z);
         static TriMeshModelPtr MakePointPtr(float x, float y, float z);
+        static TriMeshModelPtr MakePointPtr(const Eigen::Vector3f& p);
 
         /// Constructor.
         TriMeshModel();