Skip to content

WIP #1

Description

@Lecrapouille
  • [API]

  • [Julia]

    • Missing arc API (remove arc)
    • Missing calling semihoward
  • [GUI] Rethink the whole interface:

    • Caption trop longues: afficher que les 10 char avec une animation (shift de 1 char)
    • [GUI] no more SFML => Petri net displayed purely with DearIMGui.
    • [GUI] when simulating display a green rectangle
    • [GUI] modal windows for display counter/dater equation
    • [GUI] Look and feel, UX, widgets, key pressed event propagation between all widget ...
    • [GUI] Pattern Command to implement undo/redo. quick and dirty code
    • [GUI] Allow arc selection/deletion.
    • [GUI] Curved arrows https://github.com/dragonman225/curved-arrows (made but I disliked)
    • [GUI] Allow different nodes/arcs color
    • [GUI] Ctrl/Shift: selectioner plusieurs noeuds et les deplacer/supprimer.
    • [GUI] Aligner automatiquement les noeuds horizontalement ou verticalement ou angle de 45° quand ils sont crees (pour le moment il y a juste une touche pour pivoter les transitions)
    • [GUI] Mode Emacs avec un interpreteur forth + console ? M-x save M-x export-latex M-x is-event-graph ...
  • [PetriNet] functionalities:

    • [max+] semihoward recuperer les autres resultats.
    • [flowshop] afficher les resultats de la simulation sur une courbe
    • [max+] finir lib sparse matrix.
    • [GRAFCET] Missing init steps
    • [PetriNet] Normalized duration of token animation (Unit of time = x seconds).
    • [PetriNet] mode event graph => voir branch dev-compact-event-graph-disp pour l'affichage compact
    • [PetriNet] Tous les algorithmes ne sont pas optimaux en terme de recherche et iteration => removeNode() + for (auto& a: m_arcs) => devrait etre les arcs in/out mais ils ne sont pas forcement generes. => PetriGUI::update() ne pas iterer sur l'ensembles des transitions mais seulement celles des places ou les tokens sont entres. Voir les TODO dans le code
    • [PetriNet] generateArcsInArcsOut() est appele a chaque debut simulation et generer les arcs pour places n'est pas tout le temps necessaire (uniquement pour generer les sys lin)
    • [PetriNet] Gérer transitions sources
    • [PetriNet] Centrage https://learnsfml.com/how-to-center-text/
  • [Export/Inport] Add more format:

  • [GUI] improvements:

    • [GUI] Compile the project to web assembly / JS / Emscripten to have an online version (it seems not possible).
    • [GUI] Glisser/deposer fichier json pour le charger. Retrouver ce projet c++ qui affiche une fenetre pour chercher un fichier. Semble ne pas etre géré par SFML.
  • [Done]:

    • [PetriNet] Ajoute un pipe comme sur mon jeu d'echecs pour faire un mode debuggueur graphique.
    • [GUI] zoom and world displacement
    • [GUI] m_message_bar: concate several messages and clear them when fading is done.
  • [Julia] Thread the entry_point() and return the Petri net reference to allow acceding to Julia REPL and adding some Julia command. I think this is not possible and currently this is fine.

  • [Export] Genérer le Petri sous dot et sous LaTeX

  • latex: https://latexdraw.com/petri-nets-tikz/

  • dot:

digraph G {
node [shape=circle, color=red]
  P0 [label=P0];
  P1 [label="P1\n2 •", fontsize=20];
node [shape=box, color=blue]
  T0;
  T1;
edge [style=""]
  P0 -> { T0, T1 } [label=2.5];
  T0 -> P1 [label=2];
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions