Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: [cid:image001.png@01CF4D0E.67BF1290] All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example: -=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-=
It gives:
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-=
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don’t get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Vincent, does this LayerBuilder solves your question?
Alexandre
On Apr 7, 2014, at 12:50 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example:
| b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-=
It gives: <Screen Shot 2014-04-07 at 12.16.31 PM.png>
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-= <Screen Shot 2014-04-07 at 12.16.44 PM.png>
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don’t get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Thanks a lot, It is a first step of what I want.
But, with this builder, it seems you need to have twice the element on different layers to have a link between them. And I would like to define my own edges between two layers like in a tree graph, could you add it, please ?
By the way, how can I move the camera in the view ?
Thanks,
Vincent
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 16:16 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Vincent, does this LayerBuilder solves your question?
Alexandre
On Apr 7, 2014, at 12:50 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example:
| b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open
-=-=-=-=-=-=-=-=-=-=-=-=
It gives: <Screen Shot 2014-04-07 at 12.16.31 PM.png>
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-= <Screen Shot 2014-04-07 at 12.16.44 PM.png>
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Thanks a lot, It is a first step of what I want.
Excellent!
But, with this builder, it seems you need to have twice the element on different layers to have a link between them. And I would like to define my own edges between two layers like in a tree graph, could you add it, please ?
I could add it, but well… my time is limited. The RTLayerBuilder is just a simple example on how to define a builder. RTLayerBuilder is extremely simple. Actually, there is just one important method (ie. longer than 2 lines of code): -=-=-=-=-=-=-=-=-=-=-=-= RTLayerBuilder >> renderIn: aView | elementsLayer topLayer currentLayer | "We draw the nodes" elementsLayer := objectLayers collect: [ :objects | self elementsWithInteractionOn: objects ]. elementsLayer do: [ :l | RTHorizontalLineLayout new horizontalGap: horizontalGap; on: l. aView addAll: l ]. RTVerticalLineLayout new verticalGap: verticalGap; alignCenter; on: elementsLayer.
"We draw the edges from one layer to the layer above" 2 to: elementsLayer size do: [ :i | topLayer := elementsLayer at: (i - 1). currentLayer := elementsLayer at: i. currentLayer do: [ :currentElement | | aboveElements | aboveElements := topLayer select: [ :el | el model = currentElement model ]. view addAll: (RTLine edgesFrom: currentElement toAll: aboveElements) ] ] -=-=-=-=-=-=-=-=-=-=-=-=
I wrote this in 5 mn, and indeed, it can be improved. I recommend you to try to write you own builder to make it fit with you needs.
By the way, how can I move the camera in the view ?
Have you tried RTCamera>>#translateBy: Try this: -=-=-=-=-=-=-=-=-=-=-=-= | v menu | v := RTView new. v add: (RTEllipse new size: 50) element.
menu := RTMenuBuilder new view: v. menu menu: '<-' callback: [ v canvas camera translateBy: -10 @ 0. v signalUpdate ]. menu menu: '->' callback: [ v canvas camera translateBy: 10 @ 0. v signalUpdate ]. menu menu: 'V' callback: [ v canvas camera translateBy: 0 @ 10. v signalUpdate ]. menu menu: '^' callback: [ v canvas camera translateBy: 0 @ -10. v signalUpdate ].
v -=-=-=-=-=-=-=-=-=-=-=-=
Cheers, Alexandre
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 16:16 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Vincent, does this LayerBuilder solves your question?
Alexandre
On Apr 7, 2014, at 12:50 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example:
| b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open
-=-=-=-=-=-=-=-=-=-=-=-=
It gives: <Screen Shot 2014-04-07 at 12.16.31 PM.png>
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-= <Screen Shot 2014-04-07 at 12.16.44 PM.png>
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Thanks for your time, I succeeded to draw the edges and it's works fine. But the edges are crossing a lot... Is there a kind of algorithm to sort the nodes to remove the crossing or I ask to much ?
By the way I found a bug in the SVG exporter TRSVGVisitor>>drawRectangle:box:fillColor:borderWidth:borderColor: Should (aSmallInteger > 0 or: aColor ~= nil) be (aSmallInteger > 0 and: [aColor ~= nil]) ?
Cheers,
Vincent
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 19:05 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Thanks a lot, It is a first step of what I want.
Excellent!
But, with this builder, it seems you need to have twice the element on different layers to have a link between them. And I would like to define my own edges between two layers like in a tree graph, could you add it, please ?
I could add it, but well... my time is limited. The RTLayerBuilder is just a simple example on how to define a builder. RTLayerBuilder is extremely simple. Actually, there is just one important method (ie. longer than 2 lines of code): -=-=-=-=-=-=-=-=-=-=-=-= RTLayerBuilder >> renderIn: aView | elementsLayer topLayer currentLayer | "We draw the nodes" elementsLayer := objectLayers collect: [ :objects | self elementsWithInteractionOn: objects ]. elementsLayer do: [ :l | RTHorizontalLineLayout new horizontalGap: horizontalGap; on: l. aView addAll: l ]. RTVerticalLineLayout new verticalGap: verticalGap; alignCenter; on: elementsLayer.
"We draw the edges from one layer to the layer above" 2 to: elementsLayer size do: [ :i | topLayer := elementsLayer at: (i - 1). currentLayer := elementsLayer at: i. currentLayer do: [ :currentElement | | aboveElements | aboveElements := topLayer select: [ :el | el model = currentElement model ]. view addAll: (RTLine edgesFrom: currentElement toAll: aboveElements) ] ] -=-=-=-=-=-=-=-=-=-=-=-=
I wrote this in 5 mn, and indeed, it can be improved. I recommend you to try to write you own builder to make it fit with you needs.
By the way, how can I move the camera in the view ?
Have you tried RTCamera>>#translateBy: Try this: -=-=-=-=-=-=-=-=-=-=-=-= | v menu | v := RTView new. v add: (RTEllipse new size: 50) element.
menu := RTMenuBuilder new view: v. menu menu: '<-' callback: [ v canvas camera translateBy: -10 @ 0. v signalUpdate ]. menu menu: '->' callback: [ v canvas camera translateBy: 10 @ 0. v signalUpdate ]. menu menu: 'V' callback: [ v canvas camera translateBy: 0 @ 10. v signalUpdate ]. menu menu: '^' callback: [ v canvas camera translateBy: 0 @ -10. v signalUpdate ].
v -=-=-=-=-=-=-=-=-=-=-=-=
Cheers, Alexandre
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 16:16 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Vincent, does this LayerBuilder solves your question?
Alexandre
On Apr 7, 2014, at 12:50 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example:
| b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open
-=-=-=-=-=-=-=-=-=-=-=-=
It gives: <Screen Shot 2014-04-07 at 12.16.31 PM.png>
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-= <Screen Shot 2014-04-07 at 12.16.44 PM.png>
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi Vincent,
On Apr 9, 2014, at 6:59, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Thanks for your time, I succeeded to draw the edges and it's works fine. But the edges are crossing a lot... Is there a kind of algorithm to sort the nodes to remove the crossing or I ask to much ?
By the way I found a bug in the SVG exporter TRSVGVisitor>>drawRectangle:box:fillColor:borderWidth:borderColor: Should (aSmallInteger > 0 or: aColor ~= nil) be (aSmallInteger > 0 and: [aColor ~= nil]) ?
That was a known bug and it is fixed in the last version. Thanks for pointing it.
Cheers, Pablo
Cheers,
Vincent
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 19:05 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Thanks a lot, It is a first step of what I want.
Excellent!
But, with this builder, it seems you need to have twice the element on different layers to have a link between them. And I would like to define my own edges between two layers like in a tree graph, could you add it, please ?
I could add it, but well... my time is limited. The RTLayerBuilder is just a simple example on how to define a builder. RTLayerBuilder is extremely simple. Actually, there is just one important method (ie. longer than 2 lines of code):
RTLayerBuilder >> renderIn: aView | elementsLayer topLayer currentLayer | "We draw the nodes" elementsLayer := objectLayers collect: [ :objects | self elementsWithInteractionOn: objects ]. elementsLayer do: [ :l | RTHorizontalLineLayout new horizontalGap: horizontalGap; on: l. aView addAll: l ]. RTVerticalLineLayout new verticalGap: verticalGap; alignCenter; on: elementsLayer.
"We draw the edges from one layer to the layer above" 2 to: elementsLayer size do: [ :i | topLayer := elementsLayer at: (i - 1). currentLayer := elementsLayer at: i. currentLayer do: [ :currentElement | | aboveElements | aboveElements := topLayer select: [ :el | el model = currentElement model ]. view addAll: (RTLine edgesFrom: currentElement toAll: aboveElements) ] ]
-=-=-=-=-=-=-=-=-=-=-=-=
I wrote this in 5 mn, and indeed, it can be improved. I recommend you to try to write you own builder to make it fit with you needs.
By the way, how can I move the camera in the view ?
Have you tried RTCamera>>#translateBy: Try this: -=-=-=-=-=-=-=-=-=-=-=-= | v menu | v := RTView new. v add: (RTEllipse new size: 50) element.
menu := RTMenuBuilder new view: v. menu menu: '<-' callback: [ v canvas camera translateBy: -10 @ 0. v signalUpdate ]. menu menu: '->' callback: [ v canvas camera translateBy: 10 @ 0. v signalUpdate ]. menu menu: 'V' callback: [ v canvas camera translateBy: 0 @ 10. v signalUpdate ]. menu menu: '^' callback: [ v canvas camera translateBy: 0 @ -10. v signalUpdate ].
v
Cheers, Alexandre
-----Message d'origine----- De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Alexandre Bergel Envoyé : mardi 8 avril 2014 16:16 À : Moose-related development Objet : [Moose-dev] Re: Display layered tree in Roassal
Vincent, does this LayerBuilder solves your question?
Alexandre
On Apr 7, 2014, at 12:50 PM, Alexandre Bergel alexandre.bergel@me.com wrote:
Hi Vincent,
I am not sure to understand what you need exactly. I just created a new builder, called RTLayerBuilder.
A simple example:
| b | b := RTLayerBuilder new. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open
-=-=-=-=-=-=-=-=-=-=-=-=
It gives: <Screen Shot 2014-04-07 at 12.16.31 PM.png>
By being a builder, you can enjoy all the facilities for defining shapes and interaction:
-=-=-=-=-=-=-=-=-=-=-=-= | b | b := RTLayerBuilder new. b shape circle size: 20; withText. b verticalGap: 30. b horizontalGap: 40. b addLayer: 'ABC'. b addLayer: 'BCA'. b addLayer: 'DEFA'. b open -=-=-=-=-=-=-=-=-=-=-=-= <Screen Shot 2014-04-07 at 12.16.44 PM.png>
Cheers, Alexandre
On Apr 1, 2014, at 6:17 AM, Blondeau Vincent vincent.blondeau@worldline.com wrote:
Hi,
I would like to display a some elements by layers with Roassal. Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines). So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:. So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get: <image001.png> All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers, Vincent
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
But the edges are crossing a lot... Is there a kind of algorithm to sort the nodes to remove the crossing or I ask to much ?
What you are asking for is not trivial actually :-) There is the sugiyama layout which is exactly about that: minimizing edge crossing. I do not know how does it fit in your situation. Have you tried to order the elements of each layers, according to what there is in the above layer? I would guess this result in something reasonable.
Alexandre
can't you: - create "packages" containing the elements - display the "packages" without boxes around them - display the elements in the (invisible) "packages"
?
nicolas
On 01/04/2014 11:17, Blondeau Vincent wrote:
Hi,
I would like to display a some elements by layers with Roassal.
Each element has a layer number (from 1 to 6 in the exemple) and is linked to elements from other layers (green lines).
So each line of the visualization contains elements of one layer.
I have tried with all the treeLayout but I don't get a representation by the wanted layers.
So I asked Usman and he tells me to use userDefinedEdges:.
So I defined virtual edges from all elements from a layer to all the elements to the next layer.
And I get:
imap://nanqueti@zimbra.inria.fr:993/fetch%3EUID%3E/Projects/Moose-dev%3E159814?header=quotebody&part=1.1.2&filename=image001.png
All the nodes are on the good line but the linked between them (in green) are horribly crossed.
Which virtual nodes should I add to make it works ? Or should I create/use a layout ?
Thanks for your answers,
Cheers,
Vincent *//*
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev