src/basics.h

changeset 81
62373840e33a
parent 70
f21b800b02a4
child 92
c438a7db7c52
equal deleted inserted replaced
80:764381756899 81:62373840e33a
127 auto toDouble(T x) -> std::enable_if_t<std::is_floating_point_v<T>, double> 127 auto toDouble(T x) -> std::enable_if_t<std::is_floating_point_v<T>, double>
128 { 128 {
129 return static_cast<double>(x); 129 return static_cast<double>(x);
130 } 130 }
131 131
132 /**
133 * @brief casts floating point values to qreal, converting non-floating point values causes an error
134 * @param[in] x floating point value to cast
135 * @returns qreal
136 */
137 template<typename T>
138 auto toQreal(T x) -> std::enable_if_t<std::is_floating_point_v<T>, qreal>
139 {
140 return static_cast<qreal>(x);
141 }
142
132 template<int N, typename T, glm::qualifier Q> 143 template<int N, typename T, glm::qualifier Q>
133 inline QPoint toQPoint(const glm::vec<N, T, Q>& vec) 144 inline QPoint toQPoint(const glm::vec<N, T, Q>& vec)
134 { 145 {
135 return {static_cast<int>(vec.x), static_cast<int>(vec.y)}; 146 return {static_cast<int>(vec.x), static_cast<int>(vec.y)};
136 } 147 }

mercurial