Umbrello wont create relation - uml

I am trying to add an aggregation relation from 'Property' -> 'ConsumerPropertySelected' object, but it wont add any type of relation. (See the image)
If I invert the direction ('ConsumerPropertySelection' -> Property) then it adds a relation but the aggregation diamond is pointing in the wrong direction
(Currenlty I pick the relation from the toolbar and drag it between 2 objects, which worked for all the other relations... Not sure if there is a different way to do it or some setting I am missing)

This looks like a bug, however there is a workaround.
Select the relation you want from the toolbar.
Left Click and hold on the first object(ex: 'Property')
Whilst still holding the left mouse button, drag the cursor to the second object (ex: 'ConsumerPropertySelected')
Release your left mouse button over the second object
and finally click the second object again with your left mouse button
If it doesn't work the first time, try it again and it should create it... Hopefully this bug will get fixed soon
EDIT:
Looks like the bug is fixed: https://cgit.kde.org/umbrello.git/commit/?id=42d5073216f6801fef68dd6a4508b9a0e1f67ef1
The fix will probably be deployed with the next release

Related

Alloy: different instances for integer

I'm new to alloy and i'm doing a little project. In the project i have some instances with different attributes that, with magic layout, i can put in the instance when showing the model. Is there a way to do the same thing with integers? I attach an image that i hope can describe better my issue, in the image you can see that the attributes occupied and type are in the socket, but the socketID no. So, i also wanted to put the integers (for example) in the socket to have a show without some useless instances/relations. I tried with the same approach used for the other attributes but is not working. I think it's because is an integer and not a custom sig.
I hope that the question is clear and thanks a lot in advance.
Not sure it's due to Magical Layout, unless they have implemented a special treatment for ints.
Anyway, the solution is to customize the "theme" yourself:
open the theme customization panel (e.g. by clicking the Theme icon).
Now two trees are displayed on the left, representing (top) the signature hierarchy and (bottom) all relations in your model: click there on socketId and then, at the top of the left panel, tick "Show as attribute" and untick "Show as arc", then apply your new theme by clicking Apply (top right), then click Close to close theme customization.

Attaching items to the hands

We want to attach some UI and other items to the back of the articulated hand. Just trying to figure out how to do that. I have found how to turn on and off the hand visualizer through MixedRealityHandTrackingProfile but I'm trying to find the Unity Game Object I can parent the items to or at least a way to access the hand transform. Thanks for any pointers!
Step 1: Select the object in the scene hierarchy that you want to follow your hand. Click “add component” in the inspector panel.
Step 2: Type in “RadialView” in the search box and you should see the RadialView solver appear. Click on it. You will see a few additional required scripts appear automatically.
Note: it adds the solver handler script. Along with that, the Radial View script will show up as well just like the orbital script.
Step 3: Change the radial view to not follow the head but follow the left hand. Select the dropdown menu next to the “tracked object to reference” option. Then select “hand joint left” from the menu.
Step 4: As you may see, once you select the hand joint you can choose which part of the hand you want the cube to follow. There are a lot of options to use! For this example, we are going to use the wrist. So next to the option “tracked hand joint” click the dropdown menu and select wrist.
Note: Not all joints, in this current version of the HoloLens2 can be tracked. This is a bug that may be fixed in the near future.
Now if you press play and try it out in your scene, you will see that the object does follow the wrist, but the object may lag a little bit behind and looks like it’s struggling to keep up. Now to fix this and make it so that the object is with the wrist at all time we must change a few things. Set the maximum and minimum distances to 0 so that the cube will not have any distance between it and the user’s wrist. Once set, the cube will be perfectly aligned with the wrist.
In the latest mrtk_development branch as of PR 4532 you can also used the "Hand Constraint" component. You can see an example of how to use it at MixedRealityToolkit.Examples/Experimental/HandTracking/Scenes/HandBasedMenuExample.unity.
Have a look at Assets/MixedRealityToolkit.SDK/Experimental/Features/Utilities/Solvers/HandConstraint.cs for the implementation.
You can add this behavior by adding a "Hand Constraint" solver to the object that you wish to follow the hand.
The Hand Constraint component will also be available in the upcoming MRTK V2.0.0 RC2 release.

Cadence Virtuoso Layout L phantom objects

I have a cell (call it A) which is used once in a hierarchically higher cell (call it P). When I place A in P, its borders are rather larger than the actual content of A. When I descend to A and zoom-fit, it is way zoomed out, indicating there is something present way out on the edges.
I may have dragged objects there at one point but currently there is nothing visible. It is driving me crazy in terms of aligning objects, etc.
Is there any way to clean this up or something?
If I recall Cadence used to have a problem with leaving steiners behind when you moved routes. They are not visible but the db treats them as real objects for the bbox calculation. According to Cadence, deleting the objects should not harm anything. Open the layout in edit mode and paste this code into the CIW. This will delete all the steiner objects in your layout. If this was the root cause after saving you should see the bbox return to normal.
cv=geGetEditCellView()
foreach( item cv~>steiners
dbDeleteObject( item )
)
This thread may be considered "dead," but hopefully this helps.
It is possible the layers that are not visible are turned off.
To turn them on, go to the layers pane on the left. (If it is not there you can turn it on by going to Window —> Assistants —> Layers)
You can then click the drop down arrow in the top right corner and click Edit Valid Layers.
Then, click all valid in the Set Valid Layers popup. Click Ok.
Finally, check the Used Layers Only checkbox in the Layers pane. Look for any layers that weren't there before that you don't need.
Usually it happens when you draw the cell in LayoutXL, particularly when you insert pins.
Layer and purpose in these pins are selected separately for some reason, that is why it is easy to enter "impossible" combination.
Nothing happens, then you do it again and continue drawing. But there are several invisible squares that will continuously frustrate your inner perfectionist. You do the following:
Open this cell's layout, switch to Virtuoso window and enter:
lppList=list()
then:
foreach(shape hiGetCurrentWindow()~>cellView~>shapes if( (member(shape~>lpp lppList)==nil) then lppList=cons(shape~>lpp lppList)))
You have created the list with all layers in this layout, you can view it by entering:
lppList
You'll get something like this:
(("NW" "drawing")
("NP" "drawing")
("weird" "guy")
("M1" "pin")
("M3" "pin")
)
If you find a weird guy in this company, just enter the following command:
foreach(shape hiGetCurrentWindow()~>cellView~>shapes if((shape~>lpp == list("weird" "guy")) shape~>lpp = list("prBoundary" "drawing")))
If you see that some squares, labels (or whatever unseen before) appears as prBoundary, just delete it, save, and your layout will be small and shiny again.

Fabic.js grouped items are offset

So, I'm pretty much trying to just select a couple of objects by selecting them and activating a grouping function. So far, everything works right, If I move the grouped items, they move correctly, but the moment I release focus on the group, it gets offsets.
The objects are in one part of the canvas and the selectable area is in another. I already tried setCords() after the group is added and rendered, but no luck
You can see the issue in this fiddle, just select the 2 squares with the mouse and press the "Create Group" button
The problem is with the setActiveGroup method. There are two ways you can fix it:
Just try removing setActiveGroup if you don't need newly formed group to be selected and it will work as expected.
Use setActiveObject instead of setActiveGroup to set group as active. Fiddle: http://jsfiddle.net/3z19qj11/
This seems to be a bug with setActiveGroup method. I tried this with the latest version of fabric.js (1.4.13) because lot of group related bugs are fixed in each version, but this seems to be broken in latest version as well.

ArgoUML and calling a "sub-procedure"

I don't know if its a limitation of UML 1.4, or ArgoUML, but in a sequence diagram, I want to show an object calling a method in its own class, ie calling a sub-procedure.
If I drag from the object to itself, nothing happens :-(
Thanks,
Ant
You need to drag away, click, drag down, click, drag back to the original lifeline (ie make a U shape instead of a V shape or single line). It seems like more work than should be necessary, but it does work.
This works in 0.30.2. Not sure if it used to work differently (as Jordi's comment implies).
Not sure why you have problems with that. If you point the message arrow to the object column itself it correctly draws a reflexive message.
Have around 10 grid line distance between the two life line. Now select the New Create Action and put the cursor on life line where you want the self call. Now drag away around 3 gridlines and click from same point drag downward click and drag backward up to the same life line where you stared. Thats all done!!

Resources