CodeCity in latest Moose?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

CodeCity in latest Moose?

Leonel Merino-2
Hi all,

How I can have CodeCity in latest Moose?

I tried the following configuration but when I select the CodeCity tab in the Moose Panel an error pops up.
Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity'; configuration; load. (Smalltalk at: #ConfigurationOfCodeCity) loadDevelopment

Inline images 2


Best regards,
Leonel Merino
PhD student
University of Bern
+41 78 405 43 38

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Blondeau Vincent

Hi,

 

You can take a look here (https://ci.inria.fr/moose/job/codecity/) to download code city on Moose 6.0 (Pharo5.0), but I don’t think that it is available on the latest Moose version.

 

Cheers,

Vincent

 

De : Moose-dev [mailto:[hidden email]] De la part de Leonel Merino
Envoyé : mercredi 14 décembre 2016 16:25
À : [hidden email]
Objet : [Moose-dev] CodeCity in latest Moose?

 

Hi all,

 

How I can have CodeCity in latest Moose?

 

I tried the following configuration but when I select the CodeCity tab in the Moose Panel an error pops up.

Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity'; configuration; load. (Smalltalk at: #ConfigurationOfCodeCity) loadDevelopment

 

Inline images 2

 

 

Best regards,

Leonel Merino

PhD student

University of Bern

+41 78 405 43 38


!!!*************************************************************************************
"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
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Tudor Girba-2
Hi,

CodeCity relies on NBOpenGL which does not work on Pharo 6.

Cheers,
Doru


> On Dec 14, 2016, at 10:29 AM, Blondeau Vincent <[hidden email]> wrote:
>
> Hi,
>  
> You can take a look here (https://ci.inria.fr/moose/job/codecity/) to download code city on Moose 6.0 (Pharo5.0), but I don’t think that it is available on the latest Moose version.
>  
> Cheers,
> Vincent
>  
> De : Moose-dev [mailto:[hidden email]] De la part de Leonel Merino
> Envoyé : mercredi 14 décembre 2016 16:25
> À : [hidden email]
> Objet : [Moose-dev] CodeCity in latest Moose?
>  
> Hi all,
>  
> How I can have CodeCity in latest Moose?
>  
> I tried the following configuration but when I select the CodeCity tab in the Moose Panel an error pops up.
> Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity'; configuration; load. (Smalltalk at: #ConfigurationOfCodeCity) loadDevelopment
>  
> <image001.png>
>  
>  
> Best regards,
> Leonel Merino
> PhD student
> University of Bern
> +41 78 405 43 38
> [hidden email]
>
> !!!*************************************************************************************
> "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
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"To utilize feedback, you first have to acquire it."

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Uko2
Is there anything which works with 3D on Pharo 5?

Uko

Sent from my iPhone

> On 14 Dec 2016, at 16:37, Tudor Girba <[hidden email]> wrote:
>
> Hi,
>
> CodeCity relies on NBOpenGL which does not work on Pharo 6.
>
> Cheers,
> Doru
>
>
>> On Dec 14, 2016, at 10:29 AM, Blondeau Vincent <[hidden email]> wrote:
>>
>> Hi,
>>
>> You can take a look here (https://ci.inria.fr/moose/job/codecity/) to download code city on Moose 6.0 (Pharo5.0), but I don’t think that it is available on the latest Moose version.
>>
>> Cheers,
>> Vincent
>>
>> De : Moose-dev [mailto:[hidden email]] De la part de Leonel Merino
>> Envoyé : mercredi 14 décembre 2016 16:25
>> À : [hidden email]
>> Objet : [Moose-dev] CodeCity in latest Moose?
>>
>> Hi all,
>>
>> How I can have CodeCity in latest Moose?
>>
>> I tried the following configuration but when I select the CodeCity tab in the Moose Panel an error pops up.
>> Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity'; configuration; load. (Smalltalk at: #ConfigurationOfCodeCity) loadDevelopment
>>
>> <image001.png>
>>
>>
>> Best regards,
>> Leonel Merino
>> PhD student
>> University of Bern
>> +41 78 405 43 38
>> [hidden email]
>>
>> !!!*************************************************************************************
>> "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
>> [hidden email]
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "To utilize feedback, you first have to acquire it."
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Tudor Girba-2
Code City should work in Pharo 5.

Doru


> On Dec 14, 2016, at 11:04 AM, Yuriy Tymchuk <[hidden email]> wrote:
>
> Is there anything which works with 3D on Pharo 5?
>
> Uko
>
> Sent from my iPhone
>
>> On 14 Dec 2016, at 16:37, Tudor Girba <[hidden email]> wrote:
>>
>> Hi,
>>
>> CodeCity relies on NBOpenGL which does not work on Pharo 6.
>>
>> Cheers,
>> Doru
>>
>>
>>> On Dec 14, 2016, at 10:29 AM, Blondeau Vincent <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> You can take a look here (https://ci.inria.fr/moose/job/codecity/) to download code city on Moose 6.0 (Pharo5.0), but I don’t think that it is available on the latest Moose version.
>>>
>>> Cheers,
>>> Vincent
>>>
>>> De : Moose-dev [mailto:[hidden email]] De la part de Leonel Merino
>>> Envoyé : mercredi 14 décembre 2016 16:25
>>> À : [hidden email]
>>> Objet : [Moose-dev] CodeCity in latest Moose?
>>>
>>> Hi all,
>>>
>>> How I can have CodeCity in latest Moose?
>>>
>>> I tried the following configuration but when I select the CodeCity tab in the Moose Panel an error pops up.
>>> Gofer new smalltalkhubUser: 'RichardWettel' project: 'CodeCity'; configuration; load. (Smalltalk at: #ConfigurationOfCodeCity) loadDevelopment
>>>
>>> <image001.png>
>>>
>>>
>>> Best regards,
>>> Leonel Merino
>>> PhD student
>>> University of Bern
>>> +41 78 405 43 38
>>> [hidden email]
>>>
>>> !!!*************************************************************************************
>>> "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
>>> [hidden email]
>>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "To utilize feedback, you first have to acquire it."
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"There are no old things, there are only old ways of looking at them."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Stephan Eggermont-3
A pre-spur pre-pharo5, that is.

Stephan

Verstuurd vanaf mijn iPhone

> Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
>
> Code City should work in Pharo 5.

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Leonel Merino-2
Hi all,

Thanks for the replies. Let me ask you one more question. 
As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| models builder |
models := MooseModel root allModels.
builder := CCBuilder new.
models notEmpty
ifTrue: [ 
| namespaces classes classNormalizer packageNormalizer |
builder packingLayout.
namespaces := models first allModelNamespaces.
classes := namespaces flatCollect: #classes.
packageNormalizer := CCColorNormalizer new
low: (Color gray: 0.6);
high: (Color gray: 0.95);
transformation: #nestingLevel;
population: namespaces.
builder shapeBuilder platform color: packageNormalizer.
builder nodes: namespaces.
classNormalizer := CCColorNormalizer new
low: (Color gray: 0.25);
high: Color blue;
transformation: #numberOfLinesOfCode;
population: classes.
builder shapeBuilder box
color: classNormalizer;
height: #numberOfMethods;
width: #numberOfAttributes;
depth: #numberOfAttributes.
builder nodes: classes.
builder nest: namespaces node: #yourself in: #parentScope.
builder nest: classes node: #yourself in: #namespaceScope ].
builder open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
It produced this  view:
Inline images 1
Then I produced the following Roassal2 script based on the nodes from the previous builder object:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
v := RTView new.
classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].
packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].
els1 := (RTBox new
height: #depth;
width: #width;
color: #color) elementsOn: classes.
els2 := (RTBox new
height: [ :e | e contentBoundingVolume depth ];
width: [ :e | e contentBoundingVolume width ];
color: #color) elementsOn: packages.
els1
do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].
els2
do: [ :e | 
e
translateTo:
(e model position x + (e model contentBoundingVolume depth / 2))
@ (e model position z + (e model contentBoundingVolume width / 2)) ].
v addAll: els2 , els1.
els2 @ RTDraggable.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages. 
Does anyone have an idea of how to fix this?
Inline images 2

Best regards,

Leonel Merino
PhD student
University of Bern
+41 78 405 43 38

2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:
A pre-spur pre-pharo5, that is.

Stephan

Verstuurd vanaf mijn iPhone

> Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
>
> Code City should work in Pharo 5.

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Richard Wettel-3
Hi Leonel

In CodeCity the components are laid out starting with the inner components and continuing with the next outer component level. When translating a component, I needed to make sure that its inner components move together with it.
From what I see in your result, it looks like that could be the problem. I am not sure how translation is done in Roassal, but I hope this helps you move forward towards fixing the problem.

Cheers
Ricky
_____________________________
From: Leonel Merino <[hidden email]>
Sent: Friday, December 16, 2016 11:18
Subject: [Moose-dev] Re: CodeCity in latest Moose?
To: Moose-related development <[hidden email]>


Hi all,

Thanks for the replies. Let me ask you one more question. 
As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| models builder |
models := MooseModel root allModels.
builder := CCBuilder new.
models notEmpty
ifTrue: [ 
| namespaces classes classNormalizer packageNormalizer |
builder packingLayout.
namespaces := models first allModelNamespaces.
classes := namespaces flatCollect: #classes.
packageNormalizer := CCColorNormalizer new
low: (Color gray: 0.6);
high: (Color gray: 0.95);
transformation: #nestingLevel;
population: namespaces.
builder shapeBuilder platform color: packageNormalizer.
builder nodes: namespaces.
classNormalizer := CCColorNormalizer new
low: (Color gray: 0.25);
high: Color blue;
transformation: #numberOfLinesOfCode;
population: classes.
builder shapeBuilder box
color: classNormalizer;
height: #numberOfMethods;
width: #numberOfAttributes;
depth: #numberOfAttributes.
builder nodes: classes.
builder nest: namespaces node: #yourself in: #parentScope.
builder nest: classes node: #yourself in: #namespaceScope ].
builder open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
It produced this  view:
Inline images 1
Then I produced the following Roassal2 script based on the nodes from the previous builder object:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
v := RTView new.
classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].
packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].
els1 := (RTBox new
height: #depth;
width: #width;
color: #color) elementsOn: classes.
els2 := (RTBox new
height: [ :e | e contentBoundingVolume depth ];
width: [ :e | e contentBoundingVolume width ];
color: #color) elementsOn: packages.
els1
do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].
els2
do: [ :e | 
e
translateTo:
(e model position x + (e model contentBoundingVolume depth / 2))
@ (e model position z + (e model contentBoundingVolume width / 2)) ].
v addAll: els2 , els1.
els2 @ RTDraggable.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages. 
Does anyone have an idea of how to fix this?
Inline images 2

Best regards,

Leonel Merino
PhD student
University of Bern
+41 78 405 43 38

2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:
A pre-spur pre-pharo5, that is.

Stephan

Verstuurd vanaf mijn iPhone

> Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
>
> Code City should work in Pharo 5.

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

abergel
In reply to this post by Leonel Merino-2
Hi Leonel,

I guess you wish to have the GTInspector facilities, which is why you have using Roassal on this?
How can I reproduce the problem? Where contentBoundingVolume comes from? Where is the layout?

Cheers,
Alexandre


> On Dec 16, 2016, at 11:18 AM, Leonel Merino <[hidden email]> wrote:
>
> Hi all,
>
> Thanks for the replies. Let me ask you one more question.
> As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> | models builder |
> models := MooseModel root allModels.
> builder := CCBuilder new.
> models notEmpty
> ifTrue: [
> | namespaces classes classNormalizer packageNormalizer |
> builder packingLayout.
> namespaces := models first allModelNamespaces.
> classes := namespaces flatCollect: #classes.
> packageNormalizer := CCColorNormalizer new
> low: (Color gray: 0.6);
> high: (Color gray: 0.95);
> transformation: #nestingLevel;
> population: namespaces.
> builder shapeBuilder platform color: packageNormalizer.
> builder nodes: namespaces.
> classNormalizer := CCColorNormalizer new
> low: (Color gray: 0.25);
> high: Color blue;
> transformation: #numberOfLinesOfCode;
> population: classes.
> builder shapeBuilder box
> color: classNormalizer;
> height: #numberOfMethods;
> width: #numberOfAttributes;
> depth: #numberOfAttributes.
> builder nodes: classes.
> builder nest: namespaces node: #yourself in: #parentScope.
> builder nest: classes node: #yourself in: #namespaceScope ].
> builder open
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> It produced this  view:
> <image.png>
> Then I produced the following Roassal2 script based on the nodes from the previous builder object:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> v := RTView new.
> classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].
> packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].
> els1 := (RTBox new
> height: #depth;
> width: #width;
> color: #color) elementsOn: classes.
> els2 := (RTBox new
> height: [ :e | e contentBoundingVolume depth ];
> width: [ :e | e contentBoundingVolume width ];
> color: #color) elementsOn: packages.
> els1
> do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].
> els2
> do: [ :e |
> e
> translateTo:
> (e model position x + (e model contentBoundingVolume depth / 2))
> @ (e model position z + (e model contentBoundingVolume width / 2)) ].
> v addAll: els2 , els1.
> els2 @ RTDraggable.
> v
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages.
> Does anyone have an idea of how to fix this?
> <image.png>
>
> Best regards,
>
> Leonel Merino
> PhD student
> University of Bern
> +41 78 405 43 38
> [hidden email]
>
> 2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:
> A pre-spur pre-pharo5, that is.
>
> Stephan
>
> Verstuurd vanaf mijn iPhone
>
> > Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
> >
> > Code City should work in Pharo 5.
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Leonel Merino-2
Hi Alex,

I want to try the CodeCity visualization in a VR system. So I want to extract nodes attributes (size, color, position) from the Pharo implementation. As first step I wanted to see whether the data I am gathering are correct by mapping the top view in Roassal2, so I could compare both.
In the script that I pasted, the objects in the model of RTElements are CCNodes from which I extract the attributes (size, color and position). I managed to extract all attributes for classes, but for packages the position does not map well. 
Regarding your questions: contentBoundingVolume is part of the CC implementation as well as the layout.

To reproduce it, you need to have CodeCity, Moose and a FAMIX model. Then you can run both scrips that I pasted in my previous message.

Best regards
Leonel


On Fri, 16 Dec 2016 at 18:24, Alexandre Bergel <[hidden email]> wrote:
Hi Leonel,



I guess you wish to have the GTInspector facilities, which is why you have using Roassal on this?

How can I reproduce the problem? Where contentBoundingVolume comes from? Where is the layout?



Cheers,

Alexandre





> On Dec 16, 2016, at 11:18 AM, Leonel Merino <[hidden email]> wrote:

>

> Hi all,

>

> Thanks for the replies. Let me ask you one more question.

> As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:

> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

> | models builder |

>       models := MooseModel root allModels.

>       builder := CCBuilder new.

>       models notEmpty

>               ifTrue: [

>                       | namespaces classes classNormalizer packageNormalizer |

>                       builder packingLayout.

>                       namespaces := models first allModelNamespaces.

>                       classes := namespaces flatCollect: #classes.

>                       packageNormalizer := CCColorNormalizer new

>                               low: (Color gray: 0.6);

>                               high: (Color gray: 0.95);

>                               transformation: #nestingLevel;

>                               population: namespaces.

>                       builder shapeBuilder platform color: packageNormalizer.

>                       builder nodes: namespaces.

>                       classNormalizer := CCColorNormalizer new

>                               low: (Color gray: 0.25);

>                               high: Color blue;

>                               transformation: #numberOfLinesOfCode;

>                               population: classes.

>                       builder shapeBuilder box

>                               color: classNormalizer;

>                               height: #numberOfMethods;

>                               width: #numberOfAttributes;

>                               depth: #numberOfAttributes.

>                       builder nodes: classes.

>                       builder nest: namespaces node: #yourself in: #parentScope.

>                       builder nest: classes node: #yourself in: #namespaceScope ].

>       builder open

> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

> It produced this  view:

> <image.png>

> Then I produced the following Roassal2 script based on the nodes from the previous builder object:

> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

> v := RTView new.

> classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].

> packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].

> els1 := (RTBox new

>       height: #depth;

>       width: #width;

>       color: #color) elementsOn: classes.

> els2 := (RTBox new

>       height: [ :e | e contentBoundingVolume depth ];

>       width: [ :e | e contentBoundingVolume width ];

>       color: #color) elementsOn: packages.

> els1

>       do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].

> els2

>       do: [ :e |

>               e

>                       translateTo:

>                               (e model position x + (e model contentBoundingVolume depth / 2))

>                                       @ (e model position z + (e model contentBoundingVolume width / 2)) ].

> v addAll: els2 , els1.

> els2 @ RTDraggable.

> v

> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

> Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages.

> Does anyone have an idea of how to fix this?

> <image.png>

>

> Best regards,

>

> Leonel Merino

> PhD student

> University of Bern

> +41 78 405 43 38

> [hidden email]

>

> 2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:

> A pre-spur pre-pharo5, that is.

>

> Stephan

>

> Verstuurd vanaf mijn iPhone

>

> > Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:

> >

> > Code City should work in Pharo 5.

>

> _______________________________________________

> Moose-dev mailing list

> [hidden email]

> https://www.list.inf.unibe.ch/listinfo/moose-dev

>

> _______________________________________________

> Moose-dev mailing list

> [hidden email]

> https://www.list.inf.unibe.ch/listinfo/moose-dev



--

_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:

Alexandre Bergel  http://www.bergel.eu

^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







_______________________________________________

Moose-dev mailing list

[hidden email]

https://www.list.inf.unibe.ch/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

abergel
I do not understand. Is this a CodeCity problem or a Roassal problem?

Alexandre


> On Dec 16, 2016, at 8:50 PM, Leonel Merino <[hidden email]> wrote:
>
> Hi Alex,
>
> I want to try the CodeCity visualization in a VR system. So I want to extract nodes attributes (size, color, position) from the Pharo implementation. As first step I wanted to see whether the data I am gathering are correct by mapping the top view in Roassal2, so I could compare both.
> In the script that I pasted, the objects in the model of RTElements are CCNodes from which I extract the attributes (size, color and position). I managed to extract all attributes for classes, but for packages the position does not map well.
> Regarding your questions: contentBoundingVolume is part of the CC implementation as well as the layout.
>
> To reproduce it, you need to have CodeCity, Moose and a FAMIX model. Then you can run both scrips that I pasted in my previous message.
>
> Best regards
> Leonel
>
>
> On Fri, 16 Dec 2016 at 18:24, Alexandre Bergel <[hidden email]> wrote:
> Hi Leonel,
>
>
>
> I guess you wish to have the GTInspector facilities, which is why you have using Roassal on this?
>
> How can I reproduce the problem? Where contentBoundingVolume comes from? Where is the layout?
>
>
>
> Cheers,
>
> Alexandre
>
>
>
>
>
> > On Dec 16, 2016, at 11:18 AM, Leonel Merino <[hidden email]> wrote:
>
> >
>
> > Hi all,
>
> >
>
> > Thanks for the replies. Let me ask you one more question.
>
> > As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > | models builder |
>
> >       models := MooseModel root allModels.
>
> >       builder := CCBuilder new.
>
> >       models notEmpty
>
> >               ifTrue: [
>
> >                       | namespaces classes classNormalizer packageNormalizer |
>
> >                       builder packingLayout.
>
> >                       namespaces := models first allModelNamespaces.
>
> >                       classes := namespaces flatCollect: #classes.
>
> >                       packageNormalizer := CCColorNormalizer new
>
> >                               low: (Color gray: 0.6);
>
> >                               high: (Color gray: 0.95);
>
> >                               transformation: #nestingLevel;
>
> >                               population: namespaces.
>
> >                       builder shapeBuilder platform color: packageNormalizer.
>
> >                       builder nodes: namespaces.
>
> >                       classNormalizer := CCColorNormalizer new
>
> >                               low: (Color gray: 0.25);
>
> >                               high: Color blue;
>
> >                               transformation: #numberOfLinesOfCode;
>
> >                               population: classes.
>
> >                       builder shapeBuilder box
>
> >                               color: classNormalizer;
>
> >                               height: #numberOfMethods;
>
> >                               width: #numberOfAttributes;
>
> >                               depth: #numberOfAttributes.
>
> >                       builder nodes: classes.
>
> >                       builder nest: namespaces node: #yourself in: #parentScope.
>
> >                       builder nest: classes node: #yourself in: #namespaceScope ].
>
> >       builder open
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > It produced this  view:
>
> > <image.png>
>
> > Then I produced the following Roassal2 script based on the nodes from the previous builder object:
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > v := RTView new.
>
> > classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].
>
> > packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].
>
> > els1 := (RTBox new
>
> >       height: #depth;
>
> >       width: #width;
>
> >       color: #color) elementsOn: classes.
>
> > els2 := (RTBox new
>
> >       height: [ :e | e contentBoundingVolume depth ];
>
> >       width: [ :e | e contentBoundingVolume width ];
>
> >       color: #color) elementsOn: packages.
>
> > els1
>
> >       do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].
>
> > els2
>
> >       do: [ :e |
>
> >               e
>
> >                       translateTo:
>
> >                               (e model position x + (e model contentBoundingVolume depth / 2))
>
> >                                       @ (e model position z + (e model contentBoundingVolume width / 2)) ].
>
> > v addAll: els2 , els1.
>
> > els2 @ RTDraggable.
>
> > v
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages.
>
> > Does anyone have an idea of how to fix this?
>
> > <image.png>
>
> >
>
> > Best regards,
>
> >
>
> > Leonel Merino
>
> > PhD student
>
> > University of Bern
>
> > +41 78 405 43 38
>
> > [hidden email]
>
> >
>
> > 2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:
>
> > A pre-spur pre-pharo5, that is.
>
> >
>
> > Stephan
>
> >
>
> > Verstuurd vanaf mijn iPhone
>
> >
>
> > > Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
>
> > >
>
> > > Code City should work in Pharo 5.
>
> >
>
> > _______________________________________________
>
> > Moose-dev mailing list
>
> > [hidden email]
>
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> >
>
> > _______________________________________________
>
> > Moose-dev mailing list
>
> > [hidden email]
>
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>
>
> --
>
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>
> Alexandre Bergel  http://www.bergel.eu
>
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
>
> _______________________________________________
>
> Moose-dev mailing list
>
> [hidden email]
>
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: CodeCity in latest Moose?

Leonel Merino-2
Hi Alex,

I would not say that it's a problem of CodeCity/Roassal, but my limited understanding of the implementation of CodeCity.
I will follow the Ricky's suggestion regarding to explore the nesting model.

Thanks!

Leonel Merino
PhD student
University of Bern
+41 78 405 43 38

On 17 December 2016 at 12:13, Alexandre Bergel <[hidden email]> wrote:
I do not understand. Is this a CodeCity problem or a Roassal problem?

Alexandre


> On Dec 16, 2016, at 8:50 PM, Leonel Merino <[hidden email]> wrote:
>
> Hi Alex,
>
> I want to try the CodeCity visualization in a VR system. So I want to extract nodes attributes (size, color, position) from the Pharo implementation. As first step I wanted to see whether the data I am gathering are correct by mapping the top view in Roassal2, so I could compare both.
> In the script that I pasted, the objects in the model of RTElements are CCNodes from which I extract the attributes (size, color and position). I managed to extract all attributes for classes, but for packages the position does not map well.
> Regarding your questions: contentBoundingVolume is part of the CC implementation as well as the layout.
>
> To reproduce it, you need to have CodeCity, Moose and a FAMIX model. Then you can run both scrips that I pasted in my previous message.
>
> Best regards
> Leonel
>
>
> On Fri, 16 Dec 2016 at 18:24, Alexandre Bergel <[hidden email]> wrote:
> Hi Leonel,
>
>
>
> I guess you wish to have the GTInspector facilities, which is why you have using Roassal on this?
>
> How can I reproduce the problem? Where contentBoundingVolume comes from? Where is the layout?
>
>
>
> Cheers,
>
> Alexandre
>
>
>
>
>
> > On Dec 16, 2016, at 11:18 AM, Leonel Merino <[hidden email]> wrote:
>
> >
>
> > Hi all,
>
> >
>
> > Thanks for the replies. Let me ask you one more question.
>
> > As an exercise, I want to reproduce in Roassal2 the top view of CodeCity. So I took this script from CCScriptExamples>>cityOfJavaSystem:
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > | models builder |
>
> >       models := MooseModel root allModels.
>
> >       builder := CCBuilder new.
>
> >       models notEmpty
>
> >               ifTrue: [
>
> >                       | namespaces classes classNormalizer packageNormalizer |
>
> >                       builder packingLayout.
>
> >                       namespaces := models first allModelNamespaces.
>
> >                       classes := namespaces flatCollect: #classes.
>
> >                       packageNormalizer := CCColorNormalizer new
>
> >                               low: (Color gray: 0.6);
>
> >                               high: (Color gray: 0.95);
>
> >                               transformation: #nestingLevel;
>
> >                               population: namespaces.
>
> >                       builder shapeBuilder platform color: packageNormalizer.
>
> >                       builder nodes: namespaces.
>
> >                       classNormalizer := CCColorNormalizer new
>
> >                               low: (Color gray: 0.25);
>
> >                               high: Color blue;
>
> >                               transformation: #numberOfLinesOfCode;
>
> >                               population: classes.
>
> >                       builder shapeBuilder box
>
> >                               color: classNormalizer;
>
> >                               height: #numberOfMethods;
>
> >                               width: #numberOfAttributes;
>
> >                               depth: #numberOfAttributes.
>
> >                       builder nodes: classes.
>
> >                       builder nest: namespaces node: #yourself in: #parentScope.
>
> >                       builder nest: classes node: #yourself in: #namespaceScope ].
>
> >       builder open
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > It produced this  view:
>
> > <image.png>
>
> > Then I produced the following Roassal2 script based on the nodes from the previous builder object:
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > v := RTView new.
>
> > classes := builder nodes reject: [ :e | e model class = FAMIXNamespace ].
>
> > packages := builder nodes select: [ :e | e model class = FAMIXNamespace ].
>
> > els1 := (RTBox new
>
> >       height: #depth;
>
> >       width: #width;
>
> >       color: #color) elementsOn: classes.
>
> > els2 := (RTBox new
>
> >       height: [ :e | e contentBoundingVolume depth ];
>
> >       width: [ :e | e contentBoundingVolume width ];
>
> >       color: #color) elementsOn: packages.
>
> > els1
>
> >       do: [ :e | e translateTo: (e model position x + (e model depth / 2)) @ (e model position z + (e model width / 2)) ].
>
> > els2
>
> >       do: [ :e |
>
> >               e
>
> >                       translateTo:
>
> >                               (e model position x + (e model contentBoundingVolume depth / 2))
>
> >                                       @ (e model position z + (e model contentBoundingVolume width / 2)) ].
>
> > v addAll: els2 , els1.
>
> > els2 @ RTDraggable.
>
> > v
>
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> > Although the boxes that represent classes seem correct, I have trouble positioning the boxes that corresponds to packages.
>
> > Does anyone have an idea of how to fix this?
>
> > <image.png>
>
> >
>
> > Best regards,
>
> >
>
> > Leonel Merino
>
> > PhD student
>
> > University of Bern
>
> > +41 78 405 43 38
>
> > [hidden email]
>
> >
>
> > 2016-12-14 18:32 GMT+01:00 Stephan Eggermont <[hidden email]>:
>
> > A pre-spur pre-pharo5, that is.
>
> >
>
> > Stephan
>
> >
>
> > Verstuurd vanaf mijn iPhone
>
> >
>
> > > Op 14 dec. 2016 om 17:06 heeft Tudor Girba <[hidden email]> het volgende geschreven:
>
> > >
>
> > > Code City should work in Pharo 5.
>
> >
>
> > _______________________________________________
>
> > Moose-dev mailing list
>
> > [hidden email]
>
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> >
>
> > _______________________________________________
>
> > Moose-dev mailing list
>
> > [hidden email]
>
> > https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>
>
> --
>
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>
> Alexandre Bergel  http://www.bergel.eu
>
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
>
> _______________________________________________
>
> Moose-dev mailing list
>
> [hidden email]
>
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev