2010-11-03 18 views
1

This is related to the a thread that was posted earlier in this forum.différences Compute entre Point2D <UCS> et Point2D <GCS>

What are some recommended frameworks for manipulating spatial data in C++?

Connaissez-vous une bibliothèque de géométrie qui offrent des génériques axée sur la protection de la compilation du mélange UCS et coordonnées GCS? Par exemple, je suis à la recherche de quelque chose qui me permet d'écrire du code comme ceci:

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! 

Je ne suis pas besoin de protection contre le mélange de différents de UCS, que le mélange GCS et un SCU. Le mélange de systèmes de coordonnées locaux et globaux est une erreur totalement évitable qui peut être éliminée grâce à une comptabilité adéquate, ce qui devrait être simplifié en utilisant la vérification de type forte de C++ et le support des génériques. Je préfère utiliser une bibliothèque existante que de réinventer la roue.

Répondre

0

Vous pouvez écrire une fonction pour convertir UCS en GCS. Ensuite, vous pouvez exécuter std::cout<<(p1-p2)<<"\n; lorsque les deux sont dans GCS.

Ensuite, il n'y aura pas d'erreur de compilation due aux types de mélange.