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 } |