446 |
assoc xuFluidMedia compos multi(1) - multi(*) xuFluidMediaUnit |
assoc xuFluidMedia compos multi(1) - multi(*) xuFluidMediaUnit |
447 |
|
|
448 |
class xuFluidMediaUnit |
class xuFluidMediaUnit |
449 |
|
fields |
450 |
|
identity |
451 |
|
|
452 |
class xuEnfilade |
class xuEnfilade |
453 |
assoc xuEnfilade aggreg multi(*) - multi(*{ordered}) xuFluidMediaUnit |
assoc xuEnfilade aggreg multi(*) - multi(*{ordered}) xuFluidMediaUnit |
456 |
fields |
fields |
457 |
metadata |
metadata |
458 |
naryassoc nary |
naryassoc nary |
459 |
left = assoc nary multi(1) - role(leftend) xuEnfilade |
left = assoc nary - multi(*) role(leftend) xuEnfilade |
460 |
right = assoc nary multi(1) - role(rightend) xuEnfilade |
right = assoc nary - multi(*) role(rightend) xuEnfilade |
461 |
|
|
462 |
--- |
--- |
463 |
|
|
473 |
draw nary.s -- xuLink.n dashed evenly; |
draw nary.s -- xuLink.n dashed evenly; |
474 |
|
|
475 |
|
|
476 |
|
.. UML:: zzStructure |
477 |
|
|
478 |
|
class zzSpace |
479 |
|
assoc zzSpace compos multi(1) - multi(*) zzCell |
480 |
|
assoc zzSpace compos multi(1) - multi(*) zzDimension |
481 |
|
|
482 |
|
class zzCell |
483 |
|
fields |
484 |
|
identity |
485 |
|
assoc zzCell aggreg multi(*) - multi(1) xuEnfilade |
486 |
|
|
487 |
|
class zzDimension |
488 |
|
|
489 |
|
naryassoc nary |
490 |
|
left = assoc nary - multi(0..1) role(negend) zzCell |
491 |
|
right = assoc nary - multi(0..1) role(posend) zzCell |
492 |
|
assoc nary - multi(*) zzDimension |
493 |
|
|
494 |
|
class xuEnfilade |
495 |
|
|
496 |
|
--- |
497 |
|
|
498 |
|
zzSpace.c = (0,0); |
499 |
|
|
500 |
|
horizontally(80, foo, nary, zzCell, xuEnfilade); |
501 |
|
horizontally(80, bar, zzDimension, zzSpace); |
502 |
|
vertically(80, foobar, nary, zzDimension); |
503 |
|
|
504 |
|
left.p = (nary.w{left}...zzCell.n{down}); |
505 |
|
right.p = (nary.e{right}...zzCell.w{right}); |
506 |
|
|
507 |
Conclusions and future work |
Conclusions and future work |
508 |
=========================== |
=========================== |
509 |
|
|