Salut à toutes et à tous,
Je cherche à créer une classe "Vecteur" qui devra entrer dans un ObservableCollection<Vecteur>.
Il s'agit de l'ensemble des vecteurs formant un polygone.
Mon problème est qu'un vecteur peut être soit une ligne, soit un arc, soit une polyligne.
J'ai cherché à me documenter mais je n'y arrive pas. J'ai besoin de votre aide pour m'éclairer.
Un vecteur a toujours un ID, une LongueurRéelle et une LongueurForcée
Si c'est une droite: elle a un Point1 et un Point2
sa longueur est la distance entre les 2 points (Formule 1)
Si c'est un arc:
elle a un Point1, un Point2 et un PointCentresa longueur est la distance entre les 2 points (Formule 2)
Si c'est une polyligne:
elle a un ObservableCollection<Point>
sa longueur est la somme des distances entre les points (Formule 3)
Je n'ai aucun pbl au niveau des formules ou des classes Droite, Arc et Polyligne, mais là où je coince c'est comment arriver à obtenir un Vecteur utilisable pour un ObservableCollection, donc qui a une signature identique dans les 3 cas ?
J'ai bien pensé à créer un vecteur qui contiendrait ID, LongueurRéelle, LongueurForcée et un Objet qui contiendrait Ligne, Arc ou Polyligne.
Je suis pourtant convaincu que ce n'est pas la meilleure méthode.
À ce que j'ai vu, les interfaces pourraient m'aider, mais je n'arrive pas à comprendre comment.
Les interfaces sont-elle vraiment la solution que je cherche ? Si oui, comment devrais-je faire ? Sinon, quelle serait la méthode que je devrais utiliser ?
Merci de vos z'avis z'avisés,
JM
Partager