function createTEG(matrix, teg) {
const transitions = {};
const places = {};
for (const [t1, targets] of Object.entries(matrix)) {
for (const [t2, gd] of Object.entries(targets)) {
if (!transitions[t1]) {
transitions[t1] = new Transition(`T${t1}`, { a: 0 });
teg.addTransition(transitions[t1]);
}
if (!transitions[t2]) {
transitions[t2] = new Transition(`T${t2}`, { a: 0 });
teg.addTransition(transitions[t2]);
}
const placeID = `P${t1}-${t2}`;
if (!places[placeID]) {
console.log("gd", gd);
places[placeID] = new Place(placeID, { a: gd.d }, gd.g);
console.log(places[placeID]);
teg.addPlace(places[placeID]);
}
teg.addArc(new Arc(transitions[t1], places[placeID]));
teg.addArc(new Arc(places[placeID], transitions[t2]));
}
}
}