Я задаю этот вопрос вот так, потому что не знаю, как его лучше сформулировать.
Сейчас я пишу 3D-приложение с использованием библиотеки Eigen. У Eigen есть только класс Vector, но мне нужны разные типы векторных и точечных данных.
Оба могут быть представлены
Eigen::Vector4d(x,y,z,w)
где w равно 1 для точки и 0 для вектора.
Я знаю, что могу определить тип, используя
typedef vec3d Eigen::Vector4d
или
#define point3d Eigen::Vector4d
но есть ли способ определить его таким образом, чтобы w всегда было 0 для вектора и 1 для точки?
typedef vec3d(x,y,z) Eigen::Vector4d(x,y,z,w)
не работает.