src/utility.h

changeset 206
654661eab7f3
parent 205
1a4342d80de7
child 207
5315358a7d91
--- a/src/utility.h	Wed Jun 08 20:41:21 2022 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- *  LDForge: LDraw parts authoring CAD
- *  Copyright (C) 2013 - 2020 Teemu Piippo
- *
- *  This program is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-#include "basics.h"
-
-// http://stackoverflow.com/a/18204188/3629665
-template<typename T>
-inline T rotl10(T x)
-{
-	return (x << 10) | ((x >> 22) & 0x000000ff);
-}
-
-template<typename T>
-inline T rotl20(T x)
-{
-	return (x << 20) | ((x >> 12) & 0x000000ff);
-}
-
-inline QString format(const QString& format_string)
-{
-	return format_string;
-}
-
-template<typename T, typename... Rest>
-QString format(const QString& format_string, T&& arg, Rest&&... rest)
-{
-	return format(format_string.arg(arg), std::forward<Rest>(rest)...);
-}
-
-inline QString quoted(QString string)
-{
-	if (string.contains("'"))
-	{
-		string.replace("\"", "\\\"");
-		string = "\"" + string + "\"";
-	}
-	else
-	{
-		string = "'" + string + "'";
-	}
-	return string;
-}
-
-/**
- * @brief Converts the specified vertex to a simple string
- * @param vertex vertex to convert
- * @return "x y z"-formatted string
- */
-inline QString vertexToString(const glm::vec3& vertex)
-{
-	return format("%1 %2 %3", vertex.x, vertex.y, vertex.z);
-}
-
-inline QString vertexToStringParens(const glm::vec3& vertex)
-{
-	return format("(%1, %2, %3)", vertex.x, vertex.y, vertex.z);
-}
-
-inline QString transformToString(const glm::mat4& matrix)
-{
-	return format(
-		"%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12",
-		matrix[3][0],
-		matrix[3][1],
-		matrix[3][2],
-		matrix[0][0],
-		matrix[1][0],
-		matrix[2][0],
-		matrix[0][1],
-		matrix[1][1],
-		matrix[2][1],
-		matrix[0][2],
-		matrix[1][2],
-		matrix[2][2]);
-}
-
-template<typename T, glm::qualifier Q>
-constexpr unsigned int qHash(const glm::vec<3, T, Q>& key)
-{
-	return qHash(key.x) ^ rotl10(qHash(key.y)) ^ rotl20(qHash(key.z));
-}

mercurial