Это связано с темой, ранее размещенной на этом форуме.
Каковы некоторые рекомендуемые среды для манипулирования пространственными данными в C ++?
Вам известна библиотека геометрии, которая предлагает основанную на обобщениях защиту во время компиляции от смешивания координат UCS и GCS? Например, я ищу что-то, что позволило бы мне написать код, подобный этому:
Point2D<GCS> p1( 1.0, 1.0 );
Point2D<UCS> p2( 1.0, 1.0 );
std::cout << (p1 - p2) << std::endl; // compile-time error: mixing types!
Мне не нужна защита от смешивания разных UCS, только смешивание GCS и UCS. Смешивание локальных и глобальных систем координат - это полностью предотвращаемая ошибка, которую можно устранить с помощью надлежащего ведения бухгалтерского учета, которое следует упростить с помощью строгой проверки типов в C ++ и поддержки обобщений. Я бы лучше использовал существующую библиотеку, чем заново изобрел колесо.