IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Graph "Plan de métro" en WPF ?


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut Graph "Plan de métro" en WPF ?
    Bonjour,
    je cherche à développer un composant graphique en wpf qui permettrait de générer un graphique genre plan de métro par dessus un fond de carte géographique. Le tout dynamiquement selon des coordonnées x/y. Le problème reste surtout de relier les points entre eux... Bref si vous avez des pistes je suis preneur, merci.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Citation Envoyé par jacpapac
    Le problème reste surtout de relier les points entre eux...
    En gros tu as déjà les points clés et tu souhaitent et tu souhaites tracer les lignes. C'est ça ?

    Pour tracer une ligne entre deux points, tu peux utiliser un System.Windows.Shapes.Path.

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par binoo Voir le message
    Pour tracer une ligne entre deux points, tu peux utiliser un System.Windows.Shapes.Path.
    Il peut utiliser une Line, tout simplement

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Il peut utiliser une Line, tout simplement
    En effet oui

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Oui en fait j'ai mal formulé mon problème je pense...
    La j'arrive (ouf) à dessiner mes points, pour les lignes entre les points ça doit etre faisable, maintenant peut on dessiner des lignes entre des points et ces lignes éviteraient les points qu'il y a sur leur chemin ?

  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Citation Envoyé par jacpapac Voir le message
    Oui en fait j'ai mal formulé mon problème je pense...
    La j'arrive (ouf) à dessiner mes points, pour les lignes entre les points ça doit etre faisable, maintenant peut on dessiner des lignes entre des points et ces lignes éviteraient les points qu'il y a sur leur chemin ?
    bien sûr, "suffit de" développer l'algo
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    cool

    Je cherche dans quelle direction ?

    (si j'autorisais mon utilisateur à "tirer" les lignes par des points d'ancrages ? ça serait pas plus simple ? Mais comment faire ?)

  8. #8
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    ca dépend, si les infos sont en base, tu fais en sorte que les routes évitent les points, si c'est manuellement (utilisateur) alors faut faire autrement.ca depend des fonctions de ton appli
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bah là j'étudie la question pour l'instant...
    Pour l'instant j'ai mes points et les relations entre eux qui seront stockées en base. Donc le but c'est de pouvoir dessiner ces points et ces routes entre ces points le plus proprement possible. Donc si les routes pouvaient éviter les points ça serait top...

  10. #10
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Avec la classe Geometry, tu dois pouvoir déterminer les intersection : cf. ce post :
    http://www.developpez.net/forums/d66...collision-wpf/

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    Tu peux jetter un oeil à l'article "WPF Diagram designer" sur CodeProject (il y en a en fait 4, fais une recherche). Ca pourra t'aider pour démarrer je pense.
    www.japf.fr mon blog sur WPF et .Net

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    pas mal, merci !
    Sinon une question au passage, je pose mes "shapes" sur mon canvas sans trop de problèmes seulement comment mettre un label sous chaque "point" ? Un point étant un shape ellipse.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bonjour,
    j'ai laissé tomber mon histoire de lignes qui évitent les points sur leur chemin...
    par contre je n'arrive toujours pas à positionner correctement mes textblocks attachées aux points... Je crée mes textblock et je les positionne en fonction du centre de mon point seulement si je zoom (transformgroup) le textblock se met à bouger de place... A 100% par contre il est bien placé.

  14. #14
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Je suis tombé par hasard sur ceci: http://dvuyka.spaces.live.com/blog/c...E19A!171.entry

    peut-être y a t-il du code qui pourrait t'intéresser.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Salut jacpapac

    Ou en es tu de ta map ?

    j'essaye de faire quelque chose qui ressemble a ton projet, pour afficher une forme d'onde. le seul problème c'est que j'ai environ 1000 points à afficher et c'est assez lent (autour de 200 a 300 ms pour déplacer tous les points une fois leurs coordonnées modifiées donc c'est perceptible).
    J'ai essayé d'utiliser un tableau de line ou un path (auquel j'ajoute des linesegment) mais rien a faire ca reste lent.

    Combien de point as tu pour ta carte ?
    et question subsidiaire , souhaites tu créer un outil "main" pour te déplacer parce que dans ce cas ca demande beaucoup de rafraichissement

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo