File indexing completed on 2024-12-08 03:37:08

0001 /*
0002     SPDX-FileCopyrightText: 2007 Vladimir Kuznetsov <ks.vladimir@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef STEPCORE_VECTOR_H
0008 #define STEPCORE_VECTOR_H
0009 
0010 #include <Eigen/Core>
0011 #include <QMetaType>
0012 
0013 namespace StepCore
0014 {
0015 
0016 /** Two-dimensional vector with double components */
0017 typedef Eigen::Vector2d Vector2d;
0018 /** Three-dimensional vector with double components*/
0019 typedef Eigen::Vector3d Vector3d;
0020 
0021 /** Two-dimensional vector with integer components */
0022 typedef Eigen::Vector2i Vector2i;
0023 /** Three-dimensional vector with integer components */
0024 typedef Eigen::Vector3i Vector3i;
0025 
0026 typedef Eigen::VectorXd VectorXd;
0027 
0028 } // namespace StepCore
0029 
0030 // XXX: move it to types.h
0031 Q_DECLARE_METATYPE(StepCore::Vector2d)
0032 Q_DECLARE_METATYPE(StepCore::Vector3d)
0033 Q_DECLARE_METATYPE(StepCore::Vector2i)
0034 Q_DECLARE_METATYPE(StepCore::Vector3i)
0035 
0036 #endif
0037