diff --git a/.github/issue_template.md b/.github/issue_template.md index 1155cd3e9c9e7aa0e3e72e4869a532ac13f5d51b..79b9614f7f2cd29155b32a0bff60ad976e3d23a1 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1,12 +1,25 @@ +### Posting rules +1. **No duplicated** posts. +2. **No** posts about **questions already answered in** the **documentation** (e.g. **no more low-speed nor out-of-memory questions**). +3. **Add** the **system configuration (all of it!), command and output** if you have some kind of error or performance question. +4. Set a **proper issue title**: add the Ubuntu/Windows word and be specific (e.g. do not simple call it: `Compile error`). +5. Only English comments. +Issues/comments that do not follow this will be **ignored or removed** with no further clarification. + + + ### Issue summary + ### Executed command (if any) + ### OpenPose output (if any) + ### Type of issue You might select multiple topics, delete the rest: - Compilation/installation error @@ -16,6 +29,8 @@ You might select multiple topics, delete the rest: - Enhancement / offering possible extensions / pull request / etc - Other (type your own type) + + ### Your system configuration **Operating system** (`lsb_release -a` on Ubuntu): **CUDA version** (`cat /usr/local/cuda/version.txt` in most cases): diff --git a/README.md b/README.md index 2b36976b43200a10c4c7729bb186b87f329b496e..5baa2bb8e0b2eb8eb69cfee175105aae088d60c0 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ OpenPose - May 2017: Windows version released! - Jun 2017: Face released! - Check all the [release notes](doc/release_notes.md). +- Interested in an internship on CMU as OpenPose programmer? See [this link](https://docs.google.com/document/d/14SygG39NjIRZfx08clewTdFMGwVdtRu2acyCi3TYcHs/edit?usp=sharing) for details. diff --git a/doc/GUI_help/GUI_help.odt b/doc/GUI_help/GUI_help.odt index 9e2a190b52246d2a41f530afca29e84c23648799..4fa66828a0947b99ab3cdc03f69c784ad7a28bf4 100644 Binary files a/doc/GUI_help/GUI_help.odt and b/doc/GUI_help/GUI_help.odt differ diff --git a/doc/GUI_help/GUI_help.png b/doc/GUI_help/GUI_help.png index b4fbbcc0dbbf35e32e6bda0173d764d0ec66adb8..fa818e9c8c2d03b883fe7f6939136636189baaa6 100644 Binary files a/doc/GUI_help/GUI_help.png and b/doc/GUI_help/GUI_help.png differ diff --git a/doc/UML/1_0_0rc3/UML.mdj b/doc/UML/1_0_0rc3/UML.mdj index d72d4612b21279910a3320843a61ebf12e038c10..25a0fde2d8f78f8e930d09a8c520285f116ec931 100755 --- a/doc/UML/1_0_0rc3/UML.mdj +++ b/doc/UML/1_0_0rc3/UML.mdj @@ -5917,7 +5917,7 @@ "_parent": { "$ref": "AAAAAAFbHDZmRV10zeE=" }, - "name": "scaleKeypoints", + "name": "keypoint", "ownedElements": [ { "_type": "UMLDependency", @@ -6098,6 +6098,180 @@ "isFinalSpecialization": false, "isLeaf": false, "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFy4FZeOtro=", + "_parent": { + "$ref": "AAAAAAFbHDZmRV10zeE=" + }, + "name": "resizeAndMergeCaffe", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGnvtqGnGyg=", + "_parent": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "source": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "target": { + "$ref": "AAAAAAFbHFyvbZc1D+I=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHIBi7QWc3M=", + "_parent": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHIBi7QXMuA=", + "_parent": { + "$ref": "AAAAAAFbHHIBi7QWc3M=" + }, + "reference": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHIBi7QYUYc=", + "_parent": { + "$ref": "AAAAAAFbHHIBi7QWc3M=" + }, + "reference": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyvbZc1D+I=", + "_parent": { + "$ref": "AAAAAAFbHDZmRV10zeE=" + }, + "name": "resizeAndMergeBase", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFy7rZe3LU0=", + "_parent": { + "$ref": "AAAAAAFbHDZmRV10zeE=" + }, + "name": "nmsBase", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFy95Zfg+a8=", + "_parent": { + "$ref": "AAAAAAFbHDZmRV10zeE=" + }, + "name": "nmsCaffe", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGnq5qGWd3A=", + "_parent": { + "$ref": "AAAAAAFbHFy95Zfg+a8=" + }, + "source": { + "$ref": "AAAAAAFbHFy95Zfg+a8=" + }, + "target": { + "$ref": "AAAAAAFbHFy7rZe3LU0=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHH8ArOmRco=", + "_parent": { + "$ref": "AAAAAAFbHFy95Zfg+a8=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHH8ArOnTL8=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOmRco=" + }, + "reference": { + "$ref": "AAAAAAFbHFy95Zfg+a8=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHH8ArOo1Sw=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOmRco=" + }, + "reference": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false } ], "visibility": "public" @@ -6192,7 +6366,7 @@ "containerExtending": false, "left": 5, "top": 22, - "width": 775, + "width": 1039, "height": 13, "autoResize": false, "underline": false, @@ -6264,7 +6438,7 @@ "containerExtending": false, "left": 0, "top": 15, - "width": 785, + "width": 1049, "height": 25, "autoResize": false, "stereotypeLabel": { @@ -6323,6 +6497,18 @@ }, { "$ref": "AAAAAAFbgmGMA7e9i94=" + }, + { + "$ref": "AAAAAAFcswhpISqVrfU=" + }, + { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + { + "$ref": "AAAAAAFcswhpISqfnt8=" + }, + { + "$ref": "AAAAAAFcswhpISqprwk=" } ], "visible": true, @@ -6336,7 +6522,7 @@ "containerExtending": false, "left": 0, "top": 0, - "width": 785, + "width": 1049, "height": 385, "autoResize": false, "stereotypeDisplay": "label", @@ -9861,7 +10047,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 112, + "left": 640, "top": -192, "width": 0, "height": 13, @@ -9886,7 +10072,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 797, + "left": 1061, "top": 158, "width": 214, "height": 13, @@ -9912,7 +10098,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 112, + "left": 640, "top": -192, "width": 73, "height": 13, @@ -9938,7 +10124,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 112, + "left": 640, "top": -192, "width": 0, "height": 13, @@ -9958,7 +10144,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 792, + "left": 1056, "top": 151, "width": 224, "height": 25, @@ -9991,7 +10177,7 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 792, + "left": 1056, "top": 136, "width": 224, "height": 192, @@ -10041,7 +10227,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 80, + "left": 608, "top": -344, "width": 0, "height": 13, @@ -10066,7 +10252,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 869, + "left": 1133, "top": 223, "width": 72, "height": 13, @@ -10092,7 +10278,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 80, + "left": 608, "top": -344, "width": 73, "height": 13, @@ -10118,7 +10304,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 80, + "left": 608, "top": -344, "width": 0, "height": 13, @@ -10138,7 +10324,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 864, + "left": 1128, "top": 216, "width": 82, "height": 25, @@ -10174,7 +10360,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 864, + "left": 1128, "top": 241, "width": 82, "height": 10, @@ -10198,7 +10384,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 864, + "left": 1128, "top": 251, "width": 82, "height": 10, @@ -10222,7 +10408,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 48, + "left": 312, "top": -208, "width": 10, "height": 10, @@ -10246,7 +10432,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 48, + "left": 312, "top": -208, "width": 10, "height": 10, @@ -10265,7 +10451,7 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 864, + "left": 1128, "top": 216, "width": 82, "height": 45, @@ -10325,8 +10511,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 744, - "top": 170, + "left": 875, + "top": 168, "width": 0, "height": 13, "autoResize": false, @@ -10359,8 +10545,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 748, - "top": 156, + "left": 877, + "top": 153, "width": 0, "height": 13, "autoResize": false, @@ -10393,8 +10579,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 735, - "top": 199, + "left": 870, + "top": 197, "width": 0, "height": 13, "autoResize": false, @@ -10426,7 +10612,7 @@ "$ref": "AAAAAAFbHDiqGk19SxU=" }, "lineStyle": 1, - "points": "618:157;863:226", + "points": "620:148;1127:231", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, @@ -10468,7 +10654,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 550, + "left": 681, "top": 167, "width": 0, "height": 13, @@ -10502,7 +10688,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 552, + "left": 683, "top": 152, "width": 0, "height": 13, @@ -10536,7 +10722,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 545, + "left": 678, "top": 196, "width": 0, "height": 13, @@ -10569,7 +10755,7 @@ "$ref": "AAAAAAFbHDirkk2m0MU=" }, "lineStyle": 1, - "points": "234:145;863:232", + "points": "234:142;1127:234", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, @@ -12456,8 +12642,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 655, - "top": 169, + "left": 786, + "top": 168, "width": 0, "height": 13, "autoResize": false, @@ -12490,8 +12676,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 658, - "top": 154, + "left": 788, + "top": 153, "width": 0, "height": 13, "autoResize": false, @@ -12524,8 +12710,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 650, - "top": 198, + "left": 783, + "top": 197, "width": 0, "height": 13, "autoResize": false, @@ -12557,7 +12743,7 @@ "$ref": "AAAAAAFbJy96y08MtFk=" }, "lineStyle": 1, - "points": "444:150;863:230", + "points": "444:145;1127:233", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, @@ -13344,7 +13530,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "scaleKeypoints", + "text": "keypoint", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false @@ -14452,8 +14638,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 809, - "top": 132, + "left": 947, + "top": 133, "width": 0, "height": 13, "autoResize": false, @@ -14486,8 +14672,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 819, - "top": 121, + "left": 952, + "top": 119, "width": 0, "height": 13, "autoResize": false, @@ -14520,8 +14706,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 790, - "top": 155, + "left": 936, + "top": 162, "width": 0, "height": 13, "autoResize": false, @@ -14553,7 +14739,7 @@ "$ref": "AAAAAAFbgmAJRXI9LpI=" }, "lineStyle": 1, - "points": "723:85;877:215", + "points": "758:85;1127:223", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, @@ -15143,850 +15329,621 @@ "propertyLabel": { "$ref": "AAAAAAFbgmHlS7nuOWI=" } - } - ] - }, - { - "_type": "UMLClassDiagram", - "_id": "AAAAAAFbHDfDwV2pYSY=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "thread", - "ownedElements": [ + }, { - "_type": "UMLPackage", - "_id": "AAAAAAFbHD57HVDkPq4=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFcswhpHypfaIQ=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDVYsl1GUQo=" }, - "name": "thread", - "ownedElements": [ + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "subViews": [ { - "_type": "UMLClass", - "_id": "AAAAAAFbHEmZ6VPEs5k=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpHypgncQ=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpHypfaIQ=" }, - "name": "subThreadQueueIn.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFFI5mYsLlc=", - "_parent": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "source": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "target": { - "$ref": "AAAAAAFbHEnm51SSihM=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFLbJGbpfa4=", - "_parent": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "source": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFRirmuODQA=", - "_parent": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "source": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "target": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 831, + "top": 183, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFcswhpHypfaIQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEn5j1YD/pE=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpICphrpM=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpHypfaIQ=" }, - "name": "queueBase.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 846, + "top": 183, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFcswhpHypfaIQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnx71Vfqh4=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpICpieS0=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpHypfaIQ=" }, - "name": "subThreadQueueOut.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFE3zmYKLpE=", - "_parent": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "source": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "target": { - "$ref": "AAAAAAFbHEnm51SSihM=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFLOrmbH+pY=", - "_parent": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "source": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFQoAmmeBgE=", - "_parent": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQoAmmfe+4=", - "_parent": { - "$ref": "AAAAAAFbHFQoAmmeBgE=" - }, - "reference": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQoAmmgGEA=", - "_parent": { - "$ref": "AAAAAAFbHFQoAmmeBgE=" - }, - "reference": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFQ49moO8PE=", - "_parent": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "source": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "target": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 802, + "top": 184, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFcswhpHypfaIQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFcswhpISqfnt8=" + }, + "tail": { + "$ref": "AAAAAAFcswhpISqprwk=" + }, + "lineStyle": 1, + "points": "818:157;817:223", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFcswhpHypgncQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFcswhpICphrpM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFcswhpICpieS0=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFcswhpICpj6qk=", + "_parent": { + "$ref": "AAAAAAFbHDVYsl1GUQo=" + }, + "model": { + "$ref": "AAAAAAFbHGnvtqGnGyg=" + }, + "subViews": [ { - "_type": "UMLClass", - "_id": "AAAAAAFbHEn3l1XaxjA=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpICpknBE=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpICpj6qk=" }, - "name": "subThreadQueueInOut.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFEy7mX58e8=", - "_parent": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "source": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "target": { - "$ref": "AAAAAAFbHEnm51SSihM=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFLVg2bYTxg=", - "_parent": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "source": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFRdk2tBzNI=", - "_parent": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "source": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "target": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHGnvtqGnGyg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 965, + "top": 187, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFcswhpICpj6qk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnwNlU2kqs=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpICplHfg=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpICpj6qk=" }, - "name": "thread.hpp", - "ownedElements": [ - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFYjaXcfD9g=", - "_parent": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFYjaXcgThA=", - "_parent": { - "$ref": "AAAAAAFbHFYjaXcfD9g=" - }, - "reference": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFYjaXchb0I=", - "_parent": { - "$ref": "AAAAAAFbHFYjaXcfD9g=" - }, - "reference": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHGnvtqGnGyg=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 979, + "top": 191, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFcswhpICpj6qk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEntp1UNMvk=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFcswhpICpmMPg=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpICpj6qk=" }, - "name": "threadManager.hpp", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFZBb3gOsOg=", - "_parent": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "source": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "target": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" - }, - "visibility": "public" - }, + "model": { + "$ref": "AAAAAAFbHGnvtqGnGyg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 936, + "top": 180, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFcswhpICpj6qk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + "tail": { + "$ref": "AAAAAAFcswhpISqVrfU=" + }, + "lineStyle": 1, + "points": "961:157;942:223", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFcswhpICpknBE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFcswhpICplHfg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFcswhpICpmMPg=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFcswhpISqVrfU=", + "_parent": { + "$ref": "AAAAAAFbHDVYsl1GUQo=" + }, + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFcswhpISqWYto=", + "_parent": { + "$ref": "AAAAAAFcswhpISqVrfU=" + }, + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "subViews": [ { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFZIR3hqvUU=", + "_type": "LabelView", + "_id": "AAAAAAFcswhpISqXk7s=", "_parent": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "source": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFcswhpISqWYto=" }, - "target": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 2, + "top": -796, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFamNXplyYs=", + "_type": "LabelView", + "_id": "AAAAAAFcswhpISqYB1s=", "_parent": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "source": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "target": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFcswhpISqWYto=" }, - "visibility": "public" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 901, + "top": 119, + "width": 136, + "height": 13, + "autoResize": false, + "underline": false, + "text": "resizeAndMergeCaffe", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFa6TnqjrOU=", + "_type": "LabelView", + "_id": "AAAAAAFcswhpISqZjxQ=", "_parent": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "source": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFcswhpISqWYto=" }, - "target": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" - }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 2, + "top": -796, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFhC54f7Eks=", + "_type": "LabelView", + "_id": "AAAAAAFcswhpISqagFY=", "_parent": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "source": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFcswhpISqWYto=" }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 2, + "top": -796, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 896, + "top": 112, + "width": 146, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFcswhpISqXk7s=" + }, + "nameLabel": { + "$ref": "AAAAAAFcswhpISqYB1s=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFcswhpISqZjxQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFcswhpISqagFY=" + } }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEn0GFWI6/o=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFcswhpISqb7PE=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpISqVrfU=" }, - "name": "wQueueOrderer.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHE4Su2KpLQ0=", - "_parent": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" - }, - "source": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 896, + "top": 137, + "width": 146, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEn2B1WxudQ=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFcswhpISqc8EI=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpISqVrfU=" }, - "name": "workerProducer.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFXDcXLPDXQ=", - "_parent": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" - }, - "source": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 896, + "top": 147, + "width": 146, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnk31Rp4JU=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFcswhpISqdXCo=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpISqVrfU=" }, - "name": "worker.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -83, + "top": -262, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnr11TkZW0=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFcswhpISqeBic=", "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFcswhpISqVrfU=" }, - "name": "workerConsumer.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFXJlnMNtRc=", - "_parent": { - "$ref": "AAAAAAFbHEnr11TkZW0=" - }, - "source": { - "$ref": "AAAAAAFbHEnr11TkZW0=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnea1PuhXg=", - "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" - }, - "name": "headers.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnoz1S7CCo=", - "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" - }, - "name": "subThreadNoQueue.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHFFAV2Ybm/c=", - "_parent": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" - }, - "source": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" - }, - "target": { - "$ref": "AAAAAAFbHEnm51SSihM=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHFLJUWa2aeA=", - "_parent": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" - }, - "source": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" - }, - "target": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHEngX1QXn1w=", - "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" - }, - "name": "priorityQueue.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHEpxVVYxfn0=", - "_parent": { - "$ref": "AAAAAAFbHEngX1QXn1w=" - }, - "source": { - "$ref": "AAAAAAFbHEngX1QXn1w=" - }, - "target": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnin1RAI/M=", - "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" - }, - "name": "queue.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHEp0tlZCQMA=", - "_parent": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "source": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "target": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" - }, - "visibility": "public" - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFQeVmiogQE=", - "_parent": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQeVmipwtU=", - "_parent": { - "$ref": "AAAAAAFbHFQeVmiogQE=" - }, - "reference": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQeVmiqFCU=", - "_parent": { - "$ref": "AAAAAAFbHFQeVmiogQE=" - }, - "reference": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFQiRmjrWgc=", - "_parent": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQiRmjsEHI=", - "_parent": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" - }, - "reference": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQiRmjtdWU=", - "_parent": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" - }, - "reference": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFQnLmk9eHc=", - "_parent": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQnL2k+i+w=", - "_parent": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" - }, - "reference": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFQnL2k/CCk=", - "_parent": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" - }, - "reference": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHFYzxnePusI=", - "_parent": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFYzxneQJ4U=", - "_parent": { - "$ref": "AAAAAAFbHFYzxnePusI=" - }, - "reference": { - "$ref": "AAAAAAFbHEnin1RAI/M=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHFYzxneR2vE=", - "_parent": { - "$ref": "AAAAAAFbHFYzxnePusI=" - }, - "reference": { - "$ref": "AAAAAAFbHEntp1UNMvk=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHEnm51SSihM=", - "_parent": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" }, - "name": "subThread.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -83, + "top": -262, + "width": 10, + "height": 10, + "autoResize": false } ], - "visibility": "public" - } - ], - "visible": true, - "defaultDiagram": false, - "ownedViews": [ + "containerView": { + "$ref": "AAAAAAFbHDZmRV12Zhg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 896, + "top": 112, + "width": 146, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFcswhpISqWYto=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFcswhpISqb7PE=" + }, + "operationCompartment": { + "$ref": "AAAAAAFcswhpISqc8EI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFcswhpISqdXCo=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFcswhpISqeBic=" + } + }, { - "_type": "UMLPackageView", - "_id": "AAAAAAFbHD57H1DmLb0=", + "_type": "UMLClassView", + "_id": "AAAAAAFcswhpISqLa4s=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDVYsl1GUQo=" }, "model": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHD57IFDnHUM=", + "_id": "AAAAAAFcswhpISqMNYQ=", "_parent": { - "$ref": "AAAAAAFbHD57H1DmLb0=" + "$ref": "AAAAAAFcswhpISqLa4s=" }, "model": { - "$ref": "AAAAAAFbHD57HVDkPq4=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHD57IFDolHM=", + "_id": "AAAAAAFcswhpISqNlfI=", "_parent": { - "$ref": "AAAAAAFbHD57IFDnHUM=" + "$ref": "AAAAAAFcswhpISqMNYQ=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -496, + "left": 266, + "top": -548, "width": 0, "height": 13, "autoResize": false, @@ -15997,73 +15954,73 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHD57IFDpiQ4=", + "_id": "AAAAAAFcswhpISqOlaY=", "_parent": { - "$ref": "AAAAAAFbHD57IFDnHUM=" + "$ref": "AAAAAAFcswhpISqMNYQ=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 5, - "top": 22, - "width": 1223, + "left": 869, + "top": 231, + "width": 134, "height": 13, "autoResize": false, "underline": false, - "text": "thread", + "text": "resizeAndMergeBase", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHD57IFDqf98=", + "_id": "AAAAAAFcswhpISqPOFg=", "_parent": { - "$ref": "AAAAAAFbHD57IFDnHUM=" + "$ref": "AAAAAAFcswhpISqMNYQ=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -496, - "width": 73, + "left": 266, + "top": -548, + "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "(from thread)", + "text": "(from core)", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHD57IFDr61c=", + "_id": "AAAAAAFcswhpISqQtYk=", "_parent": { - "$ref": "AAAAAAFbHD57IFDnHUM=" + "$ref": "AAAAAAFcswhpISqMNYQ=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -496, + "left": 266, + "top": -548, "width": 0, "height": 13, "autoResize": false, @@ -16076,91 +16033,143 @@ "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": 15, - "width": 1233, + "left": 864, + "top": 224, + "width": 144, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHD57IFDolHM=" + "$ref": "AAAAAAFcswhpISqNlfI=" }, "nameLabel": { - "$ref": "AAAAAAFbHD57IFDpiQ4=" + "$ref": "AAAAAAFcswhpISqOlaY=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHD57IFDqf98=" + "$ref": "AAAAAAFcswhpISqPOFg=" }, "propertyLabel": { - "$ref": "AAAAAAFbHD57IFDr61c=" + "$ref": "AAAAAAFcswhpISqQtYk=" } - } - ], - "containedViews": [ - { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" - }, - { - "$ref": "AAAAAAFbHEn5kFYFcRs=" - }, - { - "$ref": "AAAAAAFbHEnx8FVhJLU=" - }, - { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - { - "$ref": "AAAAAAFbHEnwN1U4NBM=" - }, - { - "$ref": "AAAAAAFbHEntqFUPpoU=" - }, - { - "$ref": "AAAAAAFbHEn0GFWK4v0=" }, { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFcswhpISqR/mc=", + "_parent": { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + "model": { + "$ref": "AAAAAAFbHFyvbZc1D+I=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 864, + "top": 249, + "width": 144, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFcswhpISqSyAs=", + "_parent": { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + "model": { + "$ref": "AAAAAAFbHFyvbZc1D+I=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 864, + "top": 259, + "width": 144, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFcswhpISqT4zI=", + "_parent": { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + "model": { + "$ref": "AAAAAAFbHFyvbZc1D+I=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 45, + "top": -126, + "width": 10, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHEnea1PwDbU=" - }, - { - "$ref": "AAAAAAFbHEno0FS9jUU=" - }, - { - "$ref": "AAAAAAFbHEngYFQZQQU=" - }, - { - "$ref": "AAAAAAFbHEnioFRCaRA=" - }, - { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFcswhpISqUlZc=", + "_parent": { + "$ref": "AAAAAAFcswhpISqLa4s=" + }, + "model": { + "$ref": "AAAAAAFbHFyvbZc1D+I=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 45, + "top": -126, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHDZmRV12Zhg=" + }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 0, - "top": 0, - "width": 1233, - "height": 600, + "left": 864, + "top": 224, + "width": 144, + "height": 45, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -16168,35 +16177,52 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHD57IFDnHUM=" + "$ref": "AAAAAAFcswhpISqMNYQ=" }, - "wordWrap": false + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFcswhpISqR/mc=" + }, + "operationCompartment": { + "$ref": "AAAAAAFcswhpISqSyAs=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFcswhpISqT4zI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFcswhpISqUlZc=" + } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEmZ6lPGa/A=", + "_id": "AAAAAAFcswhpISqfnt8=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDVYsl1GUQo=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEmZ61PHIaE=", + "_id": "AAAAAAFcswhpISqgjTg=", "_parent": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFcswhpISqfnt8=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEmZ61PIGAg=", + "_id": "AAAAAAFcswhpISqh4GQ=", "_parent": { - "$ref": "AAAAAAFbHEmZ61PHIaE=" + "$ref": "AAAAAAFcswhpISqgjTg=" }, "visible": false, "enabled": true, @@ -16207,8 +16233,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 744, - "top": -200, + "left": 710, + "top": -796, "width": 0, "height": 13, "autoResize": false, @@ -16219,9 +16245,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEmZ61PJSpI=", + "_id": "AAAAAAFcswhpISqiL28=", "_parent": { - "$ref": "AAAAAAFbHEmZ61PHIaE=" + "$ref": "AAAAAAFcswhpISqgjTg=" }, "visible": true, "enabled": true, @@ -16232,22 +16258,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 701, - "top": 263, - "width": 149, + "left": 789, + "top": 231, + "width": 57, "height": 13, "autoResize": false, "underline": false, - "text": "subThreadQueueIn.hpp", + "text": "nmsBase", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEmZ61PK5W0=", + "_id": "AAAAAAFcswhpISqjAKI=", "_parent": { - "$ref": "AAAAAAFbHEmZ61PHIaE=" + "$ref": "AAAAAAFcswhpISqgjTg=" }, "visible": false, "enabled": true, @@ -16258,22 +16284,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 744, - "top": -200, - "width": 73, + "left": 710, + "top": -796, + "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "(from thread)", + "text": "(from core)", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEmZ61PL3X0=", + "_id": "AAAAAAFcswhpISqkUKE=", "_parent": { - "$ref": "AAAAAAFbHEmZ61PHIaE=" + "$ref": "AAAAAAFcswhpISqgjTg=" }, "visible": false, "enabled": true, @@ -16284,8 +16310,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 744, - "top": -200, + "left": 710, + "top": -796, "width": 0, "height": 13, "autoResize": false, @@ -16304,32 +16330,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 696, - "top": 256, - "width": 159, + "left": 784, + "top": 224, + "width": 67, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEmZ61PIGAg=" + "$ref": "AAAAAAFcswhpISqh4GQ=" }, "nameLabel": { - "$ref": "AAAAAAFbHEmZ61PJSpI=" + "$ref": "AAAAAAFcswhpISqiL28=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEmZ61PK5W0=" + "$ref": "AAAAAAFcswhpISqjAKI=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEmZ61PL3X0=" + "$ref": "AAAAAAFcswhpISqkUKE=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEmZ61PMz/U=", + "_id": "AAAAAAFcswhpISql4lg=", "_parent": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFcswhpISqfnt8=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": true, "enabled": true, @@ -16340,20 +16366,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 696, - "top": 281, - "width": 159, + "left": 784, + "top": 249, + "width": 67, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEmZ61PNm/8=", + "_id": "AAAAAAFcswhpISqmmdg=", "_parent": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFcswhpISqfnt8=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": true, "enabled": true, @@ -16364,20 +16390,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 696, - "top": 291, - "width": 159, + "left": 784, + "top": 259, + "width": 67, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEmZ7FPOlMo=", + "_id": "AAAAAAFcswhpISqnqpM=", "_parent": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFcswhpISqfnt8=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": false, "enabled": true, @@ -16388,20 +16414,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 584, - "top": -16, + "left": 333, + "top": -246, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEmZ7FPPBmA=", + "_id": "AAAAAAFcswhpISqouF8=", "_parent": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFcswhpISqfnt8=" }, "model": { - "$ref": "AAAAAAFbHEmZ6VPEs5k=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": false, "enabled": true, @@ -16412,15 +16438,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 584, - "top": -16, + "left": 333, + "top": -246, "width": 10, "height": 10, "autoResize": false } ], "containerView": { - "$ref": "AAAAAAFbHD57H1DmLb0=" + "$ref": "AAAAAAFbHDZmRV12Zhg=" }, "visible": true, "enabled": true, @@ -16431,9 +16457,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 696, - "top": 256, - "width": 159, + "left": 784, + "top": 224, + "width": 67, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -16442,7 +16468,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEmZ61PHIaE=" + "$ref": "AAAAAAFcswhpISqgjTg=" }, "wordWrap": false, "suppressAttributes": false, @@ -16451,43 +16477,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEmZ61PMz/U=" + "$ref": "AAAAAAFcswhpISql4lg=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEmZ61PNm/8=" + "$ref": "AAAAAAFcswhpISqmmdg=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEmZ7FPOlMo=" + "$ref": "AAAAAAFcswhpISqnqpM=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEmZ7FPPBmA=" + "$ref": "AAAAAAFcswhpISqouF8=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEn5kFYFcRs=", + "_id": "AAAAAAFcswhpISqprwk=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDVYsl1GUQo=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEn5kFYGUks=", + "_id": "AAAAAAFcswhpISqqVXg=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" + "$ref": "AAAAAAFcswhpISqprwk=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEn5kFYHgbs=", + "_id": "AAAAAAFcswhpISqrj5w=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYGUks=" + "$ref": "AAAAAAFcswhpISqqVXg=" }, "visible": false, "enabled": true, @@ -16498,8 +16524,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 384, + "left": -62, + "top": -1068, "width": 0, "height": 13, "autoResize": false, @@ -16510,9 +16536,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn5kFYIm88=", + "_id": "AAAAAAFcswhpIiqsXfc=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYGUks=" + "$ref": "AAAAAAFcswhpISqqVXg=" }, "visible": true, "enabled": true, @@ -16523,22 +16549,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 269, - "top": 519, - "width": 99, + "left": 789, + "top": 119, + "width": 59, "height": 13, "autoResize": false, "underline": false, - "text": "queueBase.hpp", + "text": "nmsCaffe", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn5kFYJUlI=", + "_id": "AAAAAAFcswhpIiqtLX0=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYGUks=" + "$ref": "AAAAAAFcswhpISqqVXg=" }, "visible": false, "enabled": true, @@ -16549,22 +16575,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 384, - "width": 73, + "left": -62, + "top": -1068, + "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "(from thread)", + "text": "(from core)", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn5kFYKOek=", + "_id": "AAAAAAFcswhpIiquJUA=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYGUks=" + "$ref": "AAAAAAFcswhpISqqVXg=" }, "visible": false, "enabled": true, @@ -16575,8 +16601,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 384, + "left": -62, + "top": -1068, "width": 0, "height": 13, "autoResize": false, @@ -16595,32 +16621,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, - "top": 512, - "width": 109, + "left": 784, + "top": 112, + "width": 69, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEn5kFYHgbs=" + "$ref": "AAAAAAFcswhpISqrj5w=" }, "nameLabel": { - "$ref": "AAAAAAFbHEn5kFYIm88=" + "$ref": "AAAAAAFcswhpIiqsXfc=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEn5kFYJUlI=" + "$ref": "AAAAAAFcswhpIiqtLX0=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEn5kFYKOek=" + "$ref": "AAAAAAFcswhpIiquJUA=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEn5kFYLcbU=", + "_id": "AAAAAAFcswhpIiqv2Bo=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" + "$ref": "AAAAAAFcswhpISqprwk=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": true, "enabled": true, @@ -16631,20 +16657,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, - "top": 537, - "width": 109, + "left": 784, + "top": 137, + "width": 69, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEn5kFYMrak=", + "_id": "AAAAAAFcswhpIiqwekI=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" + "$ref": "AAAAAAFcswhpISqprwk=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": true, "enabled": true, @@ -16655,20 +16681,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, - "top": 547, - "width": 109, + "left": 784, + "top": 147, + "width": 69, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEn5kFYNKA0=", + "_id": "AAAAAAFcswhpIiqxRAs=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" + "$ref": "AAAAAAFcswhpISqprwk=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": false, "enabled": true, @@ -16679,20 +16705,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 240, + "left": -191, + "top": -390, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEn5kFYOnyE=", + "_id": "AAAAAAFcswhpIiqyBM8=", "_parent": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" + "$ref": "AAAAAAFcswhpISqprwk=" }, "model": { - "$ref": "AAAAAAFbHEn5j1YD/pE=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": false, "enabled": true, @@ -16703,15 +16729,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 240, + "left": -191, + "top": -390, "width": 10, "height": 10, "autoResize": false } ], "containerView": { - "$ref": "AAAAAAFbHD57H1DmLb0=" + "$ref": "AAAAAAFbHDZmRV12Zhg=" }, "visible": true, "enabled": true, @@ -16722,9 +16748,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 264, - "top": 512, - "width": 109, + "left": 784, + "top": 112, + "width": 69, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -16733,7 +16759,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEn5kFYGUks=" + "$ref": "AAAAAAFcswhpISqqVXg=" }, "wordWrap": false, "suppressAttributes": false, @@ -16742,632 +16768,861 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEn5kFYLcbU=" + "$ref": "AAAAAAFcswhpIiqv2Bo=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEn5kFYMrak=" + "$ref": "AAAAAAFcswhpIiqwekI=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEn5kFYNKA0=" + "$ref": "AAAAAAFcswhpIiqxRAs=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEn5kFYOnyE=" + "$ref": "AAAAAAFcswhpIiqyBM8=" } - }, + } + ] + }, + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFbHDfDwV2pYSY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "thread", + "ownedElements": [ { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHEpxVlYzHLg=", + "_type": "UMLPackage", + "_id": "AAAAAAFbHD57HVDkPq4=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, - "model": { - "$ref": "AAAAAAFbHEpxVVYxfn0=" - }, - "subViews": [ + "name": "thread", + "ownedElements": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEpxV1Y0qkk=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEmZ6VPEs5k=", "_parent": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" - }, - "model": { - "$ref": "AAAAAAFbHEpxVVYxfn0=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 298, - "top": 471, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "subThreadQueueIn.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFFI5mYsLlc=", + "_parent": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "source": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "target": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFLbJGbpfa4=", + "_parent": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "source": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFRirmuODQA=", + "_parent": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "source": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "target": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEpxWFY1BUw=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEn5j1YD/pE=", "_parent": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" - }, - "model": { - "$ref": "AAAAAAFbHEpxVVYxfn0=" - }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 310, - "top": 463, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "queueBase.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEpxWFY2byQ=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEnx71Vfqh4=", "_parent": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" - }, - "model": { - "$ref": "AAAAAAFbHEpxVVYxfn0=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 273, - "top": 488, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHEpxVlYzHLg=" + "name": "subThreadQueueOut.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFE3zmYKLpE=", + "_parent": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "source": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "target": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFLOrmbH+pY=", + "_parent": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "source": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFQoAmmeBgE=", + "_parent": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQoAmmfe+4=", + "_parent": { + "$ref": "AAAAAAFbHFQoAmmeBgE=" + }, + "reference": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQoAmmgGEA=", + "_parent": { + "$ref": "AAAAAAFbHFQoAmmeBgE=" + }, + "reference": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFQ49moO8PE=", + "_parent": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "source": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "target": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEn3l1XaxjA=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" - }, - "tail": { - "$ref": "AAAAAAFbHEngYFQZQQU=" - }, - "lineStyle": 1, - "points": "269:461;303:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHEpxV1Y0qkk=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHEpxWFY1BUw=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHEpxWFY2byQ=" - } - }, - { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHEp0tlZEhJY=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHEp0tlZCQMA=" - }, - "subViews": [ - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEp0t1ZFc8g=", - "_parent": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" - }, - "model": { - "$ref": "AAAAAAFbHEp0tlZCQMA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 351, - "top": 485, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "subThreadQueueInOut.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFEy7mX58e8=", + "_parent": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "source": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "target": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFLVg2bYTxg=", + "_parent": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "source": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFRdk2tBzNI=", + "_parent": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "source": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "target": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEp0t1ZGmyQ=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEnwNlU2kqs=", "_parent": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" - }, - "model": { - "$ref": "AAAAAAFbHEp0tlZCQMA=" - }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 365, - "top": 491, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "thread.hpp", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFYjaXcfD9g=", + "_parent": { + "$ref": "AAAAAAFbHEnwNlU2kqs=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFYjaXcgThA=", + "_parent": { + "$ref": "AAAAAAFbHFYjaXcfD9g=" + }, + "reference": { + "$ref": "AAAAAAFbHEnwNlU2kqs=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFYjaXchb0I=", + "_parent": { + "$ref": "AAAAAAFbHFYjaXcfD9g=" + }, + "reference": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHEp0t1ZHdsc=", - "_parent": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" - }, - "model": { - "$ref": "AAAAAAFbHEp0tlZCQMA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 324, - "top": 474, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHEp0tlZEhJY=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEn5kFYFcRs=" - }, - "tail": { - "$ref": "AAAAAAFbHEnioFRCaRA=" - }, - "lineStyle": 1, - "points": "348:461;328:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHEp0t1ZFc8g=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHEp0t1ZGmyQ=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHEp0t1ZHdsc=" - } - }, - { - "_type": "UMLClassView", - "_id": "AAAAAAFbHEnx8FVhJLU=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" - }, - "subViews": [ - { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnx8FViOPA=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEntp1UNMvk=", "_parent": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" - }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "subViews": [ + "name": "threadManager.hpp", + "ownedElements": [ { - "_type": "LabelView", - "_id": "AAAAAAFbHEnx8FVjG1M=", + "_type": "UMLDependency", + "_id": "AAAAAAFbHFZBb3gOsOg=", "_parent": { - "$ref": "AAAAAAFbHEnx8FViOPA=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 632, - "top": -568, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "source": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "target": { + "$ref": "AAAAAAFbHEnwNlU2kqs=" + }, + "visibility": "public" }, { - "_type": "LabelView", - "_id": "AAAAAAFbHEnx8FVkXX4=", + "_type": "UMLDependency", + "_id": "AAAAAAFbHFZIR3hqvUU=", "_parent": { - "$ref": "AAAAAAFbHEnx8FViOPA=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1045, - "top": 263, - "width": 159, - "height": 13, - "autoResize": false, - "underline": false, - "text": "subThreadQueueOut.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "source": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "target": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public" }, { - "_type": "LabelView", - "_id": "AAAAAAFbHEnx8FVlPmI=", + "_type": "UMLDependency", + "_id": "AAAAAAFbHFamNXplyYs=", "_parent": { - "$ref": "AAAAAAFbHEnx8FViOPA=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 632, - "top": -568, - "width": 73, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from thread)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "source": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "target": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public" }, { - "_type": "LabelView", - "_id": "AAAAAAFbHEnx8FVmkfo=", + "_type": "UMLDependency", + "_id": "AAAAAAFbHFa6TnqjrOU=", "_parent": { - "$ref": "AAAAAAFbHEnx8FViOPA=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 632, - "top": -568, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false + "source": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "target": { + "$ref": "AAAAAAFbHEnwNlU2kqs=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFhC54f7Eks=", + "_parent": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "source": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1040, - "top": 256, - "width": 169, - "height": 25, - "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHEnx8FVjG1M=" - }, - "nameLabel": { - "$ref": "AAAAAAFbHEnx8FVkXX4=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbHEnx8FVlPmI=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHEnx8FVmkfo=" - } + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnx8FVn774=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEn0GFWI6/o=", "_parent": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" + "name": "wQueueOrderer.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHE4Su2KpLQ0=", + "_parent": { + "$ref": "AAAAAAFbHEn0GFWI6/o=" + }, + "source": { + "$ref": "AAAAAAFbHEn0GFWI6/o=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEn2B1WxudQ=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1040, - "top": 281, - "width": 169, - "height": 10, - "autoResize": false + "name": "workerProducer.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFXDcXLPDXQ=", + "_parent": { + "$ref": "AAAAAAFbHEn2B1WxudQ=" + }, + "source": { + "$ref": "AAAAAAFbHEn2B1WxudQ=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnx8FVoqlE=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEnk31Rp4JU=", "_parent": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" + "name": "worker.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEnr11TkZW0=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1040, - "top": 291, - "width": 169, - "height": 10, - "autoResize": false + "name": "workerConsumer.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFXJlnMNtRc=", + "_parent": { + "$ref": "AAAAAAFbHEnr11TkZW0=" + }, + "source": { + "$ref": "AAAAAAFbHEnr11TkZW0=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnx8FVpV3o=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEnea1PuhXg=", "_parent": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" + "name": "headers.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEnoz1S7CCo=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 464, - "top": -248, - "width": 10, - "height": 10, - "autoResize": false + "name": "subThreadNoQueue.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHFFAV2Ybm/c=", + "_parent": { + "$ref": "AAAAAAFbHEnoz1S7CCo=" + }, + "source": { + "$ref": "AAAAAAFbHEnoz1S7CCo=" + }, + "target": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHFLJUWa2aeA=", + "_parent": { + "$ref": "AAAAAAFbHEnoz1S7CCo=" + }, + "source": { + "$ref": "AAAAAAFbHEnoz1S7CCo=" + }, + "target": { + "$ref": "AAAAAAFbHEnk31Rp4JU=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnx8FVqJm4=", + "_type": "UMLClass", + "_id": "AAAAAAFbHEngX1QXn1w=", "_parent": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "model": { - "$ref": "AAAAAAFbHEnx71Vfqh4=" + "name": "priorityQueue.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHEpxVVYxfn0=", + "_parent": { + "$ref": "AAAAAAFbHEngX1QXn1w=" + }, + "source": { + "$ref": "AAAAAAFbHEngX1QXn1w=" + }, + "target": { + "$ref": "AAAAAAFbHEn5j1YD/pE=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEnin1RAI/M=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 464, - "top": -248, - "width": 10, - "height": 10, - "autoResize": false + "name": "queue.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHEp0tlZCQMA=", + "_parent": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "source": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "target": { + "$ref": "AAAAAAFbHEn5j1YD/pE=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFQeVmiogQE=", + "_parent": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQeVmipwtU=", + "_parent": { + "$ref": "AAAAAAFbHFQeVmiogQE=" + }, + "reference": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQeVmiqFCU=", + "_parent": { + "$ref": "AAAAAAFbHFQeVmiogQE=" + }, + "reference": { + "$ref": "AAAAAAFbHEmZ6VPEs5k=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFQiRmjrWgc=", + "_parent": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQiRmjsEHI=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjrWgc=" + }, + "reference": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQiRmjtdWU=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjrWgc=" + }, + "reference": { + "$ref": "AAAAAAFbHEn3l1XaxjA=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFQnLmk9eHc=", + "_parent": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQnL2k+i+w=", + "_parent": { + "$ref": "AAAAAAFbHFQnLmk9eHc=" + }, + "reference": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFQnL2k/CCk=", + "_parent": { + "$ref": "AAAAAAFbHFQnLmk9eHc=" + }, + "reference": { + "$ref": "AAAAAAFbHEnx71Vfqh4=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHFYzxnePusI=", + "_parent": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFYzxneQJ4U=", + "_parent": { + "$ref": "AAAAAAFbHFYzxnePusI=" + }, + "reference": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHFYzxneR2vE=", + "_parent": { + "$ref": "AAAAAAFbHFYzxnePusI=" + }, + "reference": { + "$ref": "AAAAAAFbHEntp1UNMvk=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHEnm51SSihM=", + "_parent": { + "$ref": "AAAAAAFbHD57HVDkPq4=" + }, + "name": "subThread.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false } ], - "containerView": { - "$ref": "AAAAAAFbHD57H1DmLb0=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": true, - "containerExtending": false, - "left": 1040, - "top": 256, - "width": 169, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHEnx8FViOPA=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHEnx8FVn774=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHEnx8FVoqlE=" - }, - "receptionCompartment": { - "$ref": "AAAAAAFbHEnx8FVpV3o=" - }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnx8FVqJm4=" - } - }, + "visibility": "public" + } + ], + "visible": true, + "defaultDiagram": false, + "ownedViews": [ { - "_type": "UMLClassView", - "_id": "AAAAAAFbHEn3mFXc1PI=", + "_type": "UMLPackageView", + "_id": "AAAAAAFbHD57H1DmLb0=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEn3mFXdXmQ=", + "_id": "AAAAAAFbHD57IFDnHUM=", "_parent": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" + "$ref": "AAAAAAFbHD57H1DmLb0=" }, "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" + "$ref": "AAAAAAFbHD57HVDkPq4=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEn3mFXeV5Y=", + "_id": "AAAAAAFbHD57IFDolHM=", "_parent": { - "$ref": "AAAAAAFbHEn3mFXdXmQ=" + "$ref": "AAAAAAFbHD57IFDnHUM=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": -584, + "left": -288, + "top": -496, "width": 0, "height": 13, "autoResize": false, @@ -17378,47 +17633,47 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn3mFXfmHw=", + "_id": "AAAAAAFbHD57IFDpiQ4=", "_parent": { - "$ref": "AAAAAAFbHEn3mFXdXmQ=" + "$ref": "AAAAAAFbHD57IFDnHUM=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 861, - "top": 263, - "width": 171, + "left": 5, + "top": 22, + "width": 1223, "height": 13, "autoResize": false, "underline": false, - "text": "subThreadQueueInOut.hpp", + "text": "thread", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn3mFXgn7o=", + "_id": "AAAAAAFbHD57IFDqf98=", "_parent": { - "$ref": "AAAAAAFbHEn3mFXdXmQ=" + "$ref": "AAAAAAFbHD57IFDnHUM=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": -584, + "left": -288, + "top": -496, "width": 73, "height": 13, "autoResize": false, @@ -17430,21 +17685,21 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn3mFXhlqU=", + "_id": "AAAAAAFbHD57IFDr61c=", "_parent": { - "$ref": "AAAAAAFbHEn3mFXdXmQ=" + "$ref": "AAAAAAFbHD57IFDnHUM=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": -584, + "left": -288, + "top": -496, "width": 0, "height": 13, "autoResize": false, @@ -17457,143 +17712,91 @@ "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 856, - "top": 256, - "width": 181, + "left": 0, + "top": 15, + "width": 1233, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEn3mFXeV5Y=" + "$ref": "AAAAAAFbHD57IFDolHM=" }, "nameLabel": { - "$ref": "AAAAAAFbHEn3mFXfmHw=" + "$ref": "AAAAAAFbHD57IFDpiQ4=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEn3mFXgn7o=" + "$ref": "AAAAAAFbHD57IFDqf98=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEn3mFXhlqU=" + "$ref": "AAAAAAFbHD57IFDr61c=" } + } + ], + "containedViews": [ + { + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEn3mFXieGI=", - "_parent": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 856, - "top": 281, - "width": 181, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEn3mFXjW+w=", - "_parent": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 856, - "top": 291, - "width": 181, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEn3mFXkHlI=", - "_parent": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -472, - "top": -104, - "width": 10, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEn3mFXl6aQ=", - "_parent": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "model": { - "$ref": "AAAAAAFbHEn3l1XaxjA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -472, - "top": -104, - "width": 10, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHEnwN1U4NBM=" + }, + { + "$ref": "AAAAAAFbHEntqFUPpoU=" + }, + { + "$ref": "AAAAAAFbHEn0GFWK4v0=" + }, + { + "$ref": "AAAAAAFbHEn2CFWzvuI=" + }, + { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + { + "$ref": "AAAAAAFbHEnr2FTmbGs=" + }, + { + "$ref": "AAAAAAFbHEnea1PwDbU=" + }, + { + "$ref": "AAAAAAFbHEno0FS9jUU=" + }, + { + "$ref": "AAAAAAFbHEngYFQZQQU=" + }, + { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" } ], - "containerView": { - "$ref": "AAAAAAFbHD57H1DmLb0=" - }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 856, - "top": 256, - "width": 181, - "height": 45, + "left": 0, + "top": 0, + "width": 1233, + "height": 600, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -17601,52 +17804,35 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEn3mFXdXmQ=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHEn3mFXieGI=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHEn3mFXjW+w=" - }, - "receptionCompartment": { - "$ref": "AAAAAAFbHEn3mFXkHlI=" + "$ref": "AAAAAAFbHD57IFDnHUM=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHEn3mFXl6aQ=" - } + "wordWrap": false }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnwN1U4NBM=", + "_id": "AAAAAAFbHEmZ6lPGa/A=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnwN1U5jZs=", + "_id": "AAAAAAFbHEmZ61PHIaE=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnwN1U6tlY=", + "_id": "AAAAAAFbHEmZ61PIGAg=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U5jZs=" + "$ref": "AAAAAAFbHEmZ61PHIaE=" }, "visible": false, "enabled": true, @@ -17657,8 +17843,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -1400, - "top": -336, + "left": 744, + "top": -200, "width": 0, "height": 13, "autoResize": false, @@ -17669,9 +17855,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnwN1U7Yoo=", + "_id": "AAAAAAFbHEmZ61PJSpI=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U5jZs=" + "$ref": "AAAAAAFbHEmZ61PHIaE=" }, "visible": true, "enabled": true, @@ -17682,22 +17868,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 29, - "top": 519, - "width": 69, + "left": 701, + "top": 263, + "width": 149, "height": 13, "autoResize": false, "underline": false, - "text": "thread.hpp", + "text": "subThreadQueueIn.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnwN1U87ok=", + "_id": "AAAAAAFbHEmZ61PK5W0=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U5jZs=" + "$ref": "AAAAAAFbHEmZ61PHIaE=" }, "visible": false, "enabled": true, @@ -17708,8 +17894,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -1400, - "top": -336, + "left": 744, + "top": -200, "width": 73, "height": 13, "autoResize": false, @@ -17721,9 +17907,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnwN1U9+Bk=", + "_id": "AAAAAAFbHEmZ61PL3X0=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U5jZs=" + "$ref": "AAAAAAFbHEmZ61PHIaE=" }, "visible": false, "enabled": true, @@ -17734,8 +17920,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -1400, - "top": -336, + "left": 744, + "top": -200, "width": 0, "height": 13, "autoResize": false, @@ -17754,32 +17940,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 24, - "top": 512, - "width": 79, + "left": 696, + "top": 256, + "width": 159, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnwN1U6tlY=" + "$ref": "AAAAAAFbHEmZ61PIGAg=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnwN1U7Yoo=" + "$ref": "AAAAAAFbHEmZ61PJSpI=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnwN1U87ok=" + "$ref": "AAAAAAFbHEmZ61PK5W0=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnwN1U9+Bk=" + "$ref": "AAAAAAFbHEmZ61PL3X0=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnwN1U+wIk=", + "_id": "AAAAAAFbHEmZ61PMz/U=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "visible": true, "enabled": true, @@ -17790,20 +17976,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 24, - "top": 537, - "width": 79, + "left": 696, + "top": 281, + "width": 159, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnwN1U/+y4=", + "_id": "AAAAAAFbHEmZ61PNm/8=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "visible": true, "enabled": true, @@ -17814,20 +18000,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 24, - "top": 547, - "width": 79, + "left": 696, + "top": 291, + "width": 159, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnwN1VAjfs=", + "_id": "AAAAAAFbHEmZ7FPOlMo=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "visible": false, "enabled": true, @@ -17838,20 +18024,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -576, - "top": -128, + "left": 584, + "top": -16, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnwN1VBjok=", + "_id": "AAAAAAFbHEmZ7FPPBmA=", "_parent": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "model": { - "$ref": "AAAAAAFbHEnwNlU2kqs=" + "$ref": "AAAAAAFbHEmZ6VPEs5k=" }, "visible": false, "enabled": true, @@ -17862,8 +18048,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -576, - "top": -128, + "left": 584, + "top": -16, "width": 10, "height": 10, "autoResize": false @@ -17881,9 +18067,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 24, - "top": 512, - "width": 79, + "left": 696, + "top": 256, + "width": 159, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -17892,7 +18078,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnwN1U5jZs=" + "$ref": "AAAAAAFbHEmZ61PHIaE=" }, "wordWrap": false, "suppressAttributes": false, @@ -17901,43 +18087,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnwN1U+wIk=" + "$ref": "AAAAAAFbHEmZ61PMz/U=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnwN1U/+y4=" + "$ref": "AAAAAAFbHEmZ61PNm/8=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnwN1VAjfs=" + "$ref": "AAAAAAFbHEmZ7FPOlMo=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnwN1VBjok=" + "$ref": "AAAAAAFbHEmZ7FPPBmA=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEntqFUPpoU=", + "_id": "AAAAAAFbHEn5kFYFcRs=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEntqFUQ2oI=", + "_id": "AAAAAAFbHEn5kFYGUks=", "_parent": { - "$ref": "AAAAAAFbHEntqFUPpoU=" + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEntqFURlUA=", + "_id": "AAAAAAFbHEn5kFYHgbs=", "_parent": { - "$ref": "AAAAAAFbHEntqFUQ2oI=" + "$ref": "AAAAAAFbHEn5kFYGUks=" }, "visible": false, "enabled": true, @@ -17948,8 +18134,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -280, - "top": -904, + "left": 224, + "top": 384, "width": 0, "height": 13, "autoResize": false, @@ -17960,9 +18146,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEntqFUS7Kk=", + "_id": "AAAAAAFbHEn5kFYIm88=", "_parent": { - "$ref": "AAAAAAFbHEntqFUQ2oI=" + "$ref": "AAAAAAFbHEn5kFYGUks=" }, "visible": true, "enabled": true, @@ -17973,22 +18159,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 301, - "top": 127, - "width": 125, + "left": 269, + "top": 519, + "width": 99, "height": 13, "autoResize": false, "underline": false, - "text": "threadManager.hpp", + "text": "queueBase.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEntqFUTm20=", + "_id": "AAAAAAFbHEn5kFYJUlI=", "_parent": { - "$ref": "AAAAAAFbHEntqFUQ2oI=" + "$ref": "AAAAAAFbHEn5kFYGUks=" }, "visible": false, "enabled": true, @@ -17999,8 +18185,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -280, - "top": -904, + "left": 224, + "top": 384, "width": 73, "height": 13, "autoResize": false, @@ -18012,9 +18198,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEntqFUUZGM=", + "_id": "AAAAAAFbHEn5kFYKOek=", "_parent": { - "$ref": "AAAAAAFbHEntqFUQ2oI=" + "$ref": "AAAAAAFbHEn5kFYGUks=" }, "visible": false, "enabled": true, @@ -18025,8 +18211,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -280, - "top": -904, + "left": 224, + "top": 384, "width": 0, "height": 13, "autoResize": false, @@ -18045,32 +18231,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 296, - "top": 120, - "width": 135, + "left": 264, + "top": 512, + "width": 109, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEntqFURlUA=" + "$ref": "AAAAAAFbHEn5kFYHgbs=" }, "nameLabel": { - "$ref": "AAAAAAFbHEntqFUS7Kk=" + "$ref": "AAAAAAFbHEn5kFYIm88=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEntqFUTm20=" + "$ref": "AAAAAAFbHEn5kFYJUlI=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEntqFUUZGM=" + "$ref": "AAAAAAFbHEn5kFYKOek=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEntqlUVTFg=", + "_id": "AAAAAAFbHEn5kFYLcbU=", "_parent": { - "$ref": "AAAAAAFbHEntqFUPpoU=" + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "visible": true, "enabled": true, @@ -18081,20 +18267,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 296, - "top": 145, - "width": 135, + "left": 264, + "top": 537, + "width": 109, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEntqlUWN4Q=", + "_id": "AAAAAAFbHEn5kFYMrak=", "_parent": { - "$ref": "AAAAAAFbHEntqFUPpoU=" + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "visible": true, "enabled": true, @@ -18105,20 +18291,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 296, - "top": 155, - "width": 135, + "left": 264, + "top": 547, + "width": 109, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEntqlUX0lI=", + "_id": "AAAAAAFbHEn5kFYNKA0=", "_parent": { - "$ref": "AAAAAAFbHEntqFUPpoU=" + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "visible": false, "enabled": true, @@ -18129,20 +18315,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 40, - "top": -368, + "left": 408, + "top": 240, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEntqlUYdyw=", + "_id": "AAAAAAFbHEn5kFYOnyE=", "_parent": { - "$ref": "AAAAAAFbHEntqFUPpoU=" + "$ref": "AAAAAAFbHEn5kFYFcRs=" }, "model": { - "$ref": "AAAAAAFbHEntp1UNMvk=" + "$ref": "AAAAAAFbHEn5j1YD/pE=" }, "visible": false, "enabled": true, @@ -18153,8 +18339,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 40, - "top": -368, + "left": 408, + "top": 240, "width": 10, "height": 10, "autoResize": false @@ -18172,9 +18358,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 296, - "top": 120, - "width": 135, + "left": 264, + "top": 512, + "width": 109, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -18183,7 +18369,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEntqFUQ2oI=" + "$ref": "AAAAAAFbHEn5kFYGUks=" }, "wordWrap": false, "suppressAttributes": false, @@ -18192,142 +18378,38 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEntqlUVTFg=" + "$ref": "AAAAAAFbHEn5kFYLcbU=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEntqlUWN4Q=" + "$ref": "AAAAAAFbHEn5kFYMrak=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEntqlUX0lI=" + "$ref": "AAAAAAFbHEn5kFYNKA0=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEntqlUYdyw=" + "$ref": "AAAAAAFbHEn5kFYOnyE=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHEn0GFWK4v0=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHEpxVlYzHLg=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEpxVVYxfn0=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEn0GFWLNio=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEpxV1Y0qkk=", "_parent": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" + "$ref": "AAAAAAFbHEpxVlYzHLg=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEpxVVYxfn0=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHEn0GFWMI9U=", - "_parent": { - "$ref": "AAAAAAFbHEn0GFWLNio=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 240, - "top": -712, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHEn0GFWNFTY=", - "_parent": { - "$ref": "AAAAAAFbHEn0GFWLNio=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 503, - "top": 423, - "width": 130, - "height": 13, - "autoResize": false, - "underline": false, - "text": "wQueueOrderer.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHEn0GFWOtDo=", - "_parent": { - "$ref": "AAAAAAFbHEn0GFWLNio=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 240, - "top": -712, - "width": 73, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from thread)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHEn0GFWP1A0=", - "_parent": { - "$ref": "AAAAAAFbHEn0GFWLNio=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 240, - "top": -712, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -18336,34 +18418,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 498, - "top": 416, - "width": 140, - "height": 25, + "left": 298, + "top": 471, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHEn0GFWMI9U=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHEpxVlYzHLg=" }, - "nameLabel": { - "$ref": "AAAAAAFbHEn0GFWNFTY=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEpxWFY1BUw=", + "_parent": { + "$ref": "AAAAAAFbHEpxVlYzHLg=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHEn0GFWOtDo=" + "model": { + "$ref": "AAAAAAFbHEpxVVYxfn0=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHEn0GFWP1A0=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 310, + "top": 463, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHEpxVlYzHLg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEn0GFWQxZU=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEpxWFY2byQ=", "_parent": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" + "$ref": "AAAAAAFbHEpxVlYzHLg=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEpxVVYxfn0=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -18372,22 +18486,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 498, - "top": 441, - "width": 140, - "height": 10, - "autoResize": false - }, + "left": 273, + "top": 488, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHEpxVlYzHLg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEn5kFYFcRs=" + }, + "tail": { + "$ref": "AAAAAAFbHEngYFQZQQU=" + }, + "lineStyle": 1, + "points": "269:461;303:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHEpxV1Y0qkk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHEpxWFY1BUw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHEpxWFY2byQ=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHEp0tlZEhJY=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHEp0tlZCQMA=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEn0GFWR50w=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEp0t1ZFc8g=", "_parent": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" + "$ref": "AAAAAAFbHEp0tlZEhJY=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEp0tlZCQMA=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -18396,22 +18561,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 498, - "top": 451, - "width": 140, - "height": 10, - "autoResize": false + "left": 351, + "top": 485, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHEp0tlZEhJY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEn0GVWSWMI=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEp0t1ZGmyQ=", "_parent": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" + "$ref": "AAAAAAFbHEp0tlZEhJY=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEp0tlZCQMA=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -18420,20 +18595,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 272, - "top": -352, - "width": 10, - "height": 10, - "autoResize": false + "left": 365, + "top": 491, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHEp0tlZEhJY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEn0GVWTiAc=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHEp0t1ZHdsc=", "_parent": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" + "$ref": "AAAAAAFbHEp0tlZEhJY=" }, "model": { - "$ref": "AAAAAAFbHEn0GFWI6/o=" + "$ref": "AAAAAAFbHEp0tlZCQMA=" }, "visible": false, "enabled": true, @@ -18444,16 +18629,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 272, - "top": -352, - "width": 10, - "height": 10, - "autoResize": false + "left": 324, + "top": 474, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHEp0tlZEhJY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHD57H1DmLb0=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -18461,65 +18653,54 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 498, - "top": 416, - "width": 140, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHEn5kFYFcRs=" + }, + "tail": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "lineStyle": 1, + "points": "348:461;328:511", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHEn0GFWLNio=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHEn0GFWQxZU=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHEn0GFWR50w=" + "nameLabel": { + "$ref": "AAAAAAFbHEp0t1ZFc8g=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHEn0GVWSWMI=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEp0t1ZGmyQ=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHEn0GVWTiAc=" + "propertyLabel": { + "$ref": "AAAAAAFbHEp0t1ZHdsc=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEn2CFWzvuI=", + "_id": "AAAAAAFbHEnx8FVhJLU=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEn2CFW0eLg=", + "_id": "AAAAAAFbHEnx8FViOPA=", "_parent": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEn2CFW1Glk=", + "_id": "AAAAAAFbHEnx8FVjG1M=", "_parent": { - "$ref": "AAAAAAFbHEn2CFW0eLg=" + "$ref": "AAAAAAFbHEnx8FViOPA=" }, "visible": false, "enabled": true, @@ -18530,8 +18711,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 824, - "top": -392, + "left": 632, + "top": -568, "width": 0, "height": 13, "autoResize": false, @@ -18542,9 +18723,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn2CFW2CBc=", + "_id": "AAAAAAFbHEnx8FVkXX4=", "_parent": { - "$ref": "AAAAAAFbHEn2CFW0eLg=" + "$ref": "AAAAAAFbHEnx8FViOPA=" }, "visible": true, "enabled": true, @@ -18555,22 +18736,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 797, - "top": 423, - "width": 130, + "left": 1045, + "top": 263, + "width": 159, "height": 13, "autoResize": false, "underline": false, - "text": "workerProducer.hpp", + "text": "subThreadQueueOut.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn2CFW3VV8=", + "_id": "AAAAAAFbHEnx8FVlPmI=", "_parent": { - "$ref": "AAAAAAFbHEn2CFW0eLg=" + "$ref": "AAAAAAFbHEnx8FViOPA=" }, "visible": false, "enabled": true, @@ -18581,8 +18762,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 824, - "top": -392, + "left": 632, + "top": -568, "width": 73, "height": 13, "autoResize": false, @@ -18594,9 +18775,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEn2CFW4UJA=", + "_id": "AAAAAAFbHEnx8FVmkfo=", "_parent": { - "$ref": "AAAAAAFbHEn2CFW0eLg=" + "$ref": "AAAAAAFbHEnx8FViOPA=" }, "visible": false, "enabled": true, @@ -18607,8 +18788,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 824, - "top": -392, + "left": 632, + "top": -568, "width": 0, "height": 13, "autoResize": false, @@ -18627,32 +18808,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 792, - "top": 416, - "width": 140, + "left": 1040, + "top": 256, + "width": 169, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEn2CFW1Glk=" + "$ref": "AAAAAAFbHEnx8FVjG1M=" }, "nameLabel": { - "$ref": "AAAAAAFbHEn2CFW2CBc=" + "$ref": "AAAAAAFbHEnx8FVkXX4=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEn2CFW3VV8=" + "$ref": "AAAAAAFbHEnx8FVlPmI=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEn2CFW4UJA=" + "$ref": "AAAAAAFbHEnx8FVmkfo=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEn2CFW5KrA=", + "_id": "AAAAAAFbHEnx8FVn774=", "_parent": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "visible": true, "enabled": true, @@ -18663,20 +18844,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 792, - "top": 441, - "width": 140, + "left": 1040, + "top": 281, + "width": 169, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEn2CFW6Ky4=", + "_id": "AAAAAAFbHEnx8FVoqlE=", "_parent": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "visible": true, "enabled": true, @@ -18687,20 +18868,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 792, - "top": 451, - "width": 140, + "left": 1040, + "top": 291, + "width": 169, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEn2CFW7VDI=", + "_id": "AAAAAAFbHEnx8FVpV3o=", "_parent": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "visible": false, "enabled": true, @@ -18711,20 +18892,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 560, - "top": -184, + "left": 464, + "top": -248, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEn2CFW8SZw=", + "_id": "AAAAAAFbHEnx8FVqJm4=", "_parent": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" + "$ref": "AAAAAAFbHEnx8FVhJLU=" }, "model": { - "$ref": "AAAAAAFbHEn2B1WxudQ=" + "$ref": "AAAAAAFbHEnx71Vfqh4=" }, "visible": false, "enabled": true, @@ -18735,8 +18916,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 560, - "top": -184, + "left": 464, + "top": -248, "width": 10, "height": 10, "autoResize": false @@ -18754,9 +18935,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 792, - "top": 416, - "width": 140, + "left": 1040, + "top": 256, + "width": 169, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -18765,7 +18946,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEn2CFW0eLg=" + "$ref": "AAAAAAFbHEnx8FViOPA=" }, "wordWrap": false, "suppressAttributes": false, @@ -18774,43 +18955,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEn2CFW5KrA=" + "$ref": "AAAAAAFbHEnx8FVn774=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEn2CFW6Ky4=" + "$ref": "AAAAAAFbHEnx8FVoqlE=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEn2CFW7VDI=" + "$ref": "AAAAAAFbHEnx8FVpV3o=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEn2CFW8SZw=" + "$ref": "AAAAAAFbHEnx8FVqJm4=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnk4FRra2Q=", + "_id": "AAAAAAFbHEn3mFXc1PI=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnk4FRsPH4=", + "_id": "AAAAAAFbHEn3mFXdXmQ=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnk4FRtkJ4=", + "_id": "AAAAAAFbHEn3mFXeV5Y=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRsPH4=" + "$ref": "AAAAAAFbHEn3mFXdXmQ=" }, "visible": false, "enabled": true, @@ -18821,8 +19002,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 600, - "top": 448, + "left": 384, + "top": -584, "width": 0, "height": 13, "autoResize": false, @@ -18833,9 +19014,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnk4FRu1YU=", + "_id": "AAAAAAFbHEn3mFXfmHw=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRsPH4=" + "$ref": "AAAAAAFbHEn3mFXdXmQ=" }, "visible": true, "enabled": true, @@ -18846,22 +19027,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 573, - "top": 519, - "width": 72, + "left": 861, + "top": 263, + "width": 171, "height": 13, "autoResize": false, "underline": false, - "text": "worker.hpp", + "text": "subThreadQueueInOut.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnk4FRvSr8=", + "_id": "AAAAAAFbHEn3mFXgn7o=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRsPH4=" + "$ref": "AAAAAAFbHEn3mFXdXmQ=" }, "visible": false, "enabled": true, @@ -18872,8 +19053,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 600, - "top": 448, + "left": 384, + "top": -584, "width": 73, "height": 13, "autoResize": false, @@ -18885,9 +19066,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnk4FRwOz4=", + "_id": "AAAAAAFbHEn3mFXhlqU=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRsPH4=" + "$ref": "AAAAAAFbHEn3mFXdXmQ=" }, "visible": false, "enabled": true, @@ -18898,8 +19079,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 600, - "top": 448, + "left": 384, + "top": -584, "width": 0, "height": 13, "autoResize": false, @@ -18918,32 +19099,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 512, - "width": 82, + "left": 856, + "top": 256, + "width": 181, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnk4FRtkJ4=" + "$ref": "AAAAAAFbHEn3mFXeV5Y=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnk4FRu1YU=" + "$ref": "AAAAAAFbHEn3mFXfmHw=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnk4FRvSr8=" + "$ref": "AAAAAAFbHEn3mFXgn7o=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnk4FRwOz4=" + "$ref": "AAAAAAFbHEn3mFXhlqU=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnk4FRx4zU=", + "_id": "AAAAAAFbHEn3mFXieGI=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "visible": true, "enabled": true, @@ -18954,20 +19135,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 537, - "width": 82, + "left": 856, + "top": 281, + "width": 181, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnk4VRyDu0=", + "_id": "AAAAAAFbHEn3mFXjW+w=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "visible": true, "enabled": true, @@ -18978,20 +19159,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 547, - "width": 82, + "left": 856, + "top": 291, + "width": 181, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnk4VRzbKA=", + "_id": "AAAAAAFbHEn3mFXkHlI=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "visible": false, "enabled": true, @@ -19002,20 +19183,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 448, - "top": 352, + "left": -472, + "top": -104, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnk4VR0dqg=", + "_id": "AAAAAAFbHEn3mFXl6aQ=", "_parent": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "model": { - "$ref": "AAAAAAFbHEnk31Rp4JU=" + "$ref": "AAAAAAFbHEn3l1XaxjA=" }, "visible": false, "enabled": true, @@ -19026,8 +19207,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 448, - "top": 352, + "left": -472, + "top": -104, "width": 10, "height": 10, "autoResize": false @@ -19045,9 +19226,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 568, - "top": 512, - "width": 82, + "left": 856, + "top": 256, + "width": 181, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -19056,7 +19237,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnk4FRsPH4=" + "$ref": "AAAAAAFbHEn3mFXdXmQ=" }, "wordWrap": false, "suppressAttributes": false, @@ -19065,43 +19246,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnk4FRx4zU=" + "$ref": "AAAAAAFbHEn3mFXieGI=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnk4VRyDu0=" + "$ref": "AAAAAAFbHEn3mFXjW+w=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnk4VRzbKA=" + "$ref": "AAAAAAFbHEn3mFXkHlI=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnk4VR0dqg=" + "$ref": "AAAAAAFbHEn3mFXl6aQ=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnr2FTmbGs=", + "_id": "AAAAAAFbHEnwN1U4NBM=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnr2FTn6SQ=", + "_id": "AAAAAAFbHEnwN1U5jZs=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "$ref": "AAAAAAFbHEnwN1U4NBM=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnr2FToEEQ=", + "_id": "AAAAAAFbHEnwN1U6tlY=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTn6SQ=" + "$ref": "AAAAAAFbHEnwN1U5jZs=" }, "visible": false, "enabled": true, @@ -19112,8 +19293,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 976, - "top": -288, + "left": -1400, + "top": -336, "width": 0, "height": 13, "autoResize": false, @@ -19124,9 +19305,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnr2FTp/2Y=", + "_id": "AAAAAAFbHEnwN1U7Yoo=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTn6SQ=" + "$ref": "AAAAAAFbHEnwN1U5jZs=" }, "visible": true, "enabled": true, @@ -19137,22 +19318,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 645, - "top": 423, - "width": 136, + "left": 29, + "top": 519, + "width": 69, "height": 13, "autoResize": false, "underline": false, - "text": "workerConsumer.hpp", + "text": "thread.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnr2FTqs5Y=", + "_id": "AAAAAAFbHEnwN1U87ok=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTn6SQ=" + "$ref": "AAAAAAFbHEnwN1U5jZs=" }, "visible": false, "enabled": true, @@ -19163,8 +19344,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 976, - "top": -288, + "left": -1400, + "top": -336, "width": 73, "height": 13, "autoResize": false, @@ -19176,9 +19357,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnr2FTrzHQ=", + "_id": "AAAAAAFbHEnwN1U9+Bk=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTn6SQ=" + "$ref": "AAAAAAFbHEnwN1U5jZs=" }, "visible": false, "enabled": true, @@ -19189,8 +19370,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 976, - "top": -288, + "left": -1400, + "top": -336, "width": 0, "height": 13, "autoResize": false, @@ -19209,32 +19390,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 640, - "top": 416, - "width": 146, + "left": 24, + "top": 512, + "width": 79, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnr2FToEEQ=" + "$ref": "AAAAAAFbHEnwN1U6tlY=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnr2FTp/2Y=" + "$ref": "AAAAAAFbHEnwN1U7Yoo=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnr2FTqs5Y=" + "$ref": "AAAAAAFbHEnwN1U87ok=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnr2FTrzHQ=" + "$ref": "AAAAAAFbHEnwN1U9+Bk=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnr2FTsHDU=", + "_id": "AAAAAAFbHEnwN1U+wIk=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "$ref": "AAAAAAFbHEnwN1U4NBM=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "visible": true, "enabled": true, @@ -19245,20 +19426,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 640, - "top": 441, - "width": 146, + "left": 24, + "top": 537, + "width": 79, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnr2FTtxfU=", + "_id": "AAAAAAFbHEnwN1U/+y4=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "$ref": "AAAAAAFbHEnwN1U4NBM=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "visible": true, "enabled": true, @@ -19269,20 +19450,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 640, - "top": 451, - "width": 146, + "left": 24, + "top": 547, + "width": 79, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnr2FTunBg=", + "_id": "AAAAAAFbHEnwN1VAjfs=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "$ref": "AAAAAAFbHEnwN1U4NBM=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "visible": false, "enabled": true, @@ -19293,20 +19474,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 648, - "top": -144, + "left": -576, + "top": -128, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnr2FTvKxE=", + "_id": "AAAAAAFbHEnwN1VBjok=", "_parent": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" + "$ref": "AAAAAAFbHEnwN1U4NBM=" }, "model": { - "$ref": "AAAAAAFbHEnr11TkZW0=" + "$ref": "AAAAAAFbHEnwNlU2kqs=" }, "visible": false, "enabled": true, @@ -19317,8 +19498,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 648, - "top": -144, + "left": -576, + "top": -128, "width": 10, "height": 10, "autoResize": false @@ -19336,9 +19517,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 640, - "top": 416, - "width": 146, + "left": 24, + "top": 512, + "width": 79, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -19347,7 +19528,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnr2FTn6SQ=" + "$ref": "AAAAAAFbHEnwN1U5jZs=" }, "wordWrap": false, "suppressAttributes": false, @@ -19356,43 +19537,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnr2FTsHDU=" + "$ref": "AAAAAAFbHEnwN1U+wIk=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnr2FTtxfU=" + "$ref": "AAAAAAFbHEnwN1U/+y4=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnr2FTunBg=" + "$ref": "AAAAAAFbHEnwN1VAjfs=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnr2FTvKxE=" + "$ref": "AAAAAAFbHEnwN1VBjok=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnea1PwDbU=", + "_id": "AAAAAAFbHEntqFUPpoU=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnea1PxXXU=", + "_id": "AAAAAAFbHEntqFUQ2oI=", "_parent": { - "$ref": "AAAAAAFbHEnea1PwDbU=" + "$ref": "AAAAAAFbHEntqFUPpoU=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnebFPyuC0=", + "_id": "AAAAAAFbHEntqFURlUA=", "_parent": { - "$ref": "AAAAAAFbHEnea1PxXXU=" + "$ref": "AAAAAAFbHEntqFUQ2oI=" }, "visible": false, "enabled": true, @@ -19403,8 +19584,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -424, - "top": -360, + "left": -280, + "top": -904, "width": 0, "height": 13, "autoResize": false, @@ -19415,9 +19596,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnebFPzhOQ=", + "_id": "AAAAAAFbHEntqFUS7Kk=", "_parent": { - "$ref": "AAAAAAFbHEnea1PxXXU=" + "$ref": "AAAAAAFbHEntqFUQ2oI=" }, "visible": true, "enabled": true, @@ -19428,22 +19609,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 93, - "top": 63, - "width": 79, + "left": 301, + "top": 127, + "width": 125, "height": 13, "autoResize": false, "underline": false, - "text": "headers.hpp", + "text": "threadManager.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnebFP0c5s=", + "_id": "AAAAAAFbHEntqFUTm20=", "_parent": { - "$ref": "AAAAAAFbHEnea1PxXXU=" + "$ref": "AAAAAAFbHEntqFUQ2oI=" }, "visible": false, "enabled": true, @@ -19454,8 +19635,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -424, - "top": -360, + "left": -280, + "top": -904, "width": 73, "height": 13, "autoResize": false, @@ -19467,9 +19648,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnebFP1jBg=", + "_id": "AAAAAAFbHEntqFUUZGM=", "_parent": { - "$ref": "AAAAAAFbHEnea1PxXXU=" + "$ref": "AAAAAAFbHEntqFUQ2oI=" }, "visible": false, "enabled": true, @@ -19480,8 +19661,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -424, - "top": -360, + "left": -280, + "top": -904, "width": 0, "height": 13, "autoResize": false, @@ -19500,32 +19681,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 88, - "top": 56, - "width": 89, + "left": 296, + "top": 120, + "width": 135, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnebFPyuC0=" + "$ref": "AAAAAAFbHEntqFURlUA=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnebFPzhOQ=" + "$ref": "AAAAAAFbHEntqFUS7Kk=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnebFP0c5s=" + "$ref": "AAAAAAFbHEntqFUTm20=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnebFP1jBg=" + "$ref": "AAAAAAFbHEntqFUUZGM=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnebFP2FfY=", + "_id": "AAAAAAFbHEntqlUVTFg=", "_parent": { - "$ref": "AAAAAAFbHEnea1PwDbU=" + "$ref": "AAAAAAFbHEntqFUPpoU=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "visible": true, "enabled": true, @@ -19536,20 +19717,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 88, - "top": 81, - "width": 89, + "left": 296, + "top": 145, + "width": 135, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnebFP3p5w=", + "_id": "AAAAAAFbHEntqlUWN4Q=", "_parent": { - "$ref": "AAAAAAFbHEnea1PwDbU=" + "$ref": "AAAAAAFbHEntqFUPpoU=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "visible": true, "enabled": true, @@ -19560,20 +19741,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 88, - "top": 91, - "width": 89, + "left": 296, + "top": 155, + "width": 135, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnebFP4q6E=", + "_id": "AAAAAAFbHEntqlUX0lI=", "_parent": { - "$ref": "AAAAAAFbHEnea1PwDbU=" + "$ref": "AAAAAAFbHEntqFUPpoU=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "visible": false, "enabled": true, @@ -19584,20 +19765,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -96, - "top": -144, + "left": 40, + "top": -368, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnebFP5BIY=", + "_id": "AAAAAAFbHEntqlUYdyw=", "_parent": { - "$ref": "AAAAAAFbHEnea1PwDbU=" + "$ref": "AAAAAAFbHEntqFUPpoU=" }, "model": { - "$ref": "AAAAAAFbHEnea1PuhXg=" + "$ref": "AAAAAAFbHEntp1UNMvk=" }, "visible": false, "enabled": true, @@ -19608,8 +19789,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -96, - "top": -144, + "left": 40, + "top": -368, "width": 10, "height": 10, "autoResize": false @@ -19627,9 +19808,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 88, - "top": 56, - "width": 89, + "left": 296, + "top": 120, + "width": 135, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -19638,7 +19819,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnea1PxXXU=" + "$ref": "AAAAAAFbHEntqFUQ2oI=" }, "wordWrap": false, "suppressAttributes": false, @@ -19647,43 +19828,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnebFP2FfY=" + "$ref": "AAAAAAFbHEntqlUVTFg=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnebFP3p5w=" + "$ref": "AAAAAAFbHEntqlUWN4Q=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnebFP4q6E=" + "$ref": "AAAAAAFbHEntqlUX0lI=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnebFP5BIY=" + "$ref": "AAAAAAFbHEntqlUYdyw=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEno0FS9jUU=", + "_id": "AAAAAAFbHEn0GFWK4v0=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEno0FS+VdY=", + "_id": "AAAAAAFbHEn0GFWLNio=", "_parent": { - "$ref": "AAAAAAFbHEno0FS9jUU=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEno0FS/XGs=", + "_id": "AAAAAAFbHEn0GFWMI9U=", "_parent": { - "$ref": "AAAAAAFbHEno0FS+VdY=" + "$ref": "AAAAAAFbHEn0GFWLNio=" }, "visible": false, "enabled": true, @@ -19694,8 +19875,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": 136, + "left": 240, + "top": -712, "width": 0, "height": 13, "autoResize": false, @@ -19706,9 +19887,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEno0FTAs1k=", + "_id": "AAAAAAFbHEn0GFWNFTY=", "_parent": { - "$ref": "AAAAAAFbHEno0FS+VdY=" + "$ref": "AAAAAAFbHEn0GFWLNio=" }, "visible": true, "enabled": true, @@ -19719,22 +19900,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1069, + "left": 503, "top": 423, - "width": 154, + "width": 130, "height": 13, "autoResize": false, "underline": false, - "text": "subThreadNoQueue.hpp", + "text": "wQueueOrderer.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEno0FTBeTM=", + "_id": "AAAAAAFbHEn0GFWOtDo=", "_parent": { - "$ref": "AAAAAAFbHEno0FS+VdY=" + "$ref": "AAAAAAFbHEn0GFWLNio=" }, "visible": false, "enabled": true, @@ -19745,8 +19926,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": 136, + "left": 240, + "top": -712, "width": 73, "height": 13, "autoResize": false, @@ -19758,9 +19939,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEno0FTCmEM=", + "_id": "AAAAAAFbHEn0GFWP1A0=", "_parent": { - "$ref": "AAAAAAFbHEno0FS+VdY=" + "$ref": "AAAAAAFbHEn0GFWLNio=" }, "visible": false, "enabled": true, @@ -19771,8 +19952,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": 136, + "left": 240, + "top": -712, "width": 0, "height": 13, "autoResize": false, @@ -19791,32 +19972,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1064, + "left": 498, "top": 416, - "width": 164, + "width": 140, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEno0FS/XGs=" + "$ref": "AAAAAAFbHEn0GFWMI9U=" }, "nameLabel": { - "$ref": "AAAAAAFbHEno0FTAs1k=" + "$ref": "AAAAAAFbHEn0GFWNFTY=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEno0FTBeTM=" + "$ref": "AAAAAAFbHEn0GFWOtDo=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEno0FTCmEM=" + "$ref": "AAAAAAFbHEn0GFWP1A0=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEno0FTDoM4=", + "_id": "AAAAAAFbHEn0GFWQxZU=", "_parent": { - "$ref": "AAAAAAFbHEno0FS9jUU=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "visible": true, "enabled": true, @@ -19827,20 +20008,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1064, + "left": 498, "top": 441, - "width": 164, + "width": 140, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEno0FTEPZk=", + "_id": "AAAAAAFbHEn0GFWR50w=", "_parent": { - "$ref": "AAAAAAFbHEno0FS9jUU=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "visible": true, "enabled": true, @@ -19851,20 +20032,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1064, + "left": 498, "top": 451, - "width": 164, + "width": 140, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEno0FTFmZY=", + "_id": "AAAAAAFbHEn0GVWSWMI=", "_parent": { - "$ref": "AAAAAAFbHEno0FS9jUU=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "visible": false, "enabled": true, @@ -19875,20 +20056,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 304, - "top": 136, + "left": 272, + "top": -352, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEno0FTGJ3w=", + "_id": "AAAAAAFbHEn0GVWTiAc=", "_parent": { - "$ref": "AAAAAAFbHEno0FS9jUU=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "model": { - "$ref": "AAAAAAFbHEnoz1S7CCo=" + "$ref": "AAAAAAFbHEn0GFWI6/o=" }, "visible": false, "enabled": true, @@ -19899,8 +20080,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 304, - "top": 136, + "left": 272, + "top": -352, "width": 10, "height": 10, "autoResize": false @@ -19918,9 +20099,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 1064, + "left": 498, "top": 416, - "width": 164, + "width": 140, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -19929,7 +20110,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEno0FS+VdY=" + "$ref": "AAAAAAFbHEn0GFWLNio=" }, "wordWrap": false, "suppressAttributes": false, @@ -19938,43 +20119,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEno0FTDoM4=" + "$ref": "AAAAAAFbHEn0GFWQxZU=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEno0FTEPZk=" + "$ref": "AAAAAAFbHEn0GFWR50w=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEno0FTFmZY=" + "$ref": "AAAAAAFbHEn0GVWSWMI=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEno0FTGJ3w=" + "$ref": "AAAAAAFbHEn0GVWTiAc=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEngYFQZQQU=", + "_id": "AAAAAAFbHEn2CFWzvuI=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEngYFQapZA=", + "_id": "AAAAAAFbHEn2CFW0eLg=", "_parent": { - "$ref": "AAAAAAFbHEngYFQZQQU=" + "$ref": "AAAAAAFbHEn2CFWzvuI=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEngYFQb0p8=", + "_id": "AAAAAAFbHEn2CFW1Glk=", "_parent": { - "$ref": "AAAAAAFbHEngYFQapZA=" + "$ref": "AAAAAAFbHEn2CFW0eLg=" }, "visible": false, "enabled": true, @@ -19985,8 +20166,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -608, - "top": 448, + "left": 824, + "top": -392, "width": 0, "height": 13, "autoResize": false, @@ -19997,9 +20178,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEngYVQcQ5M=", + "_id": "AAAAAAFbHEn2CFW2CBc=", "_parent": { - "$ref": "AAAAAAFbHEngYFQapZA=" + "$ref": "AAAAAAFbHEn2CFW0eLg=" }, "visible": true, "enabled": true, @@ -20010,22 +20191,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 197, + "left": 797, "top": 423, - "width": 115, + "width": 130, "height": 13, "autoResize": false, "underline": false, - "text": "priorityQueue.hpp", + "text": "workerProducer.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEngYVQdTsM=", + "_id": "AAAAAAFbHEn2CFW3VV8=", "_parent": { - "$ref": "AAAAAAFbHEngYFQapZA=" + "$ref": "AAAAAAFbHEn2CFW0eLg=" }, "visible": false, "enabled": true, @@ -20036,8 +20217,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -608, - "top": 448, + "left": 824, + "top": -392, "width": 73, "height": 13, "autoResize": false, @@ -20049,9 +20230,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEngYVQeMPk=", + "_id": "AAAAAAFbHEn2CFW4UJA=", "_parent": { - "$ref": "AAAAAAFbHEngYFQapZA=" + "$ref": "AAAAAAFbHEn2CFW0eLg=" }, "visible": false, "enabled": true, @@ -20062,8 +20243,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -608, - "top": 448, + "left": 824, + "top": -392, "width": 0, "height": 13, "autoResize": false, @@ -20082,32 +20263,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 192, + "left": 792, "top": 416, - "width": 125, + "width": 140, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEngYFQb0p8=" + "$ref": "AAAAAAFbHEn2CFW1Glk=" }, "nameLabel": { - "$ref": "AAAAAAFbHEngYVQcQ5M=" + "$ref": "AAAAAAFbHEn2CFW2CBc=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEngYVQdTsM=" + "$ref": "AAAAAAFbHEn2CFW3VV8=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEngYVQeMPk=" + "$ref": "AAAAAAFbHEn2CFW4UJA=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEngYVQfNmY=", + "_id": "AAAAAAFbHEn2CFW5KrA=", "_parent": { - "$ref": "AAAAAAFbHEngYFQZQQU=" + "$ref": "AAAAAAFbHEn2CFWzvuI=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "visible": true, "enabled": true, @@ -20118,20 +20299,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 192, + "left": 792, "top": 441, - "width": 125, + "width": 140, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEngYVQgiTw=", + "_id": "AAAAAAFbHEn2CFW6Ky4=", "_parent": { - "$ref": "AAAAAAFbHEngYFQZQQU=" + "$ref": "AAAAAAFbHEn2CFWzvuI=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "visible": true, "enabled": true, @@ -20142,20 +20323,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 192, + "left": 792, "top": 451, - "width": 125, + "width": 140, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEngYVQhDzc=", + "_id": "AAAAAAFbHEn2CFW7VDI=", "_parent": { - "$ref": "AAAAAAFbHEngYFQZQQU=" + "$ref": "AAAAAAFbHEn2CFWzvuI=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "visible": false, "enabled": true, @@ -20166,20 +20347,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -352, - "top": 248, + "left": 560, + "top": -184, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEngYlQiwAw=", + "_id": "AAAAAAFbHEn2CFW8SZw=", "_parent": { - "$ref": "AAAAAAFbHEngYFQZQQU=" + "$ref": "AAAAAAFbHEn2CFWzvuI=" }, "model": { - "$ref": "AAAAAAFbHEngX1QXn1w=" + "$ref": "AAAAAAFbHEn2B1WxudQ=" }, "visible": false, "enabled": true, @@ -20190,8 +20371,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -352, - "top": 248, + "left": 560, + "top": -184, "width": 10, "height": 10, "autoResize": false @@ -20209,9 +20390,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 192, + "left": 792, "top": 416, - "width": 125, + "width": 140, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -20220,7 +20401,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEngYFQapZA=" + "$ref": "AAAAAAFbHEn2CFW0eLg=" }, "wordWrap": false, "suppressAttributes": false, @@ -20229,43 +20410,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEngYVQfNmY=" + "$ref": "AAAAAAFbHEn2CFW5KrA=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEngYVQgiTw=" + "$ref": "AAAAAAFbHEn2CFW6Ky4=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEngYVQhDzc=" + "$ref": "AAAAAAFbHEn2CFW7VDI=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEngYlQiwAw=" + "$ref": "AAAAAAFbHEn2CFW8SZw=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnioFRCaRA=", + "_id": "AAAAAAFbHEnk4FRra2Q=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnioFRDKv4=", + "_id": "AAAAAAFbHEnk4FRsPH4=", "_parent": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnioFREkic=", + "_id": "AAAAAAFbHEnk4FRtkJ4=", "_parent": { - "$ref": "AAAAAAFbHEnioFRDKv4=" + "$ref": "AAAAAAFbHEnk4FRsPH4=" }, "visible": false, "enabled": true, @@ -20276,8 +20457,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -824, - "top": 352, + "left": 600, + "top": 448, "width": 0, "height": 13, "autoResize": false, @@ -20288,9 +20469,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnioFRFz50=", + "_id": "AAAAAAFbHEnk4FRu1YU=", "_parent": { - "$ref": "AAAAAAFbHEnioFRDKv4=" + "$ref": "AAAAAAFbHEnk4FRsPH4=" }, "visible": true, "enabled": true, @@ -20301,22 +20482,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 325, - "top": 423, - "width": 68, + "left": 573, + "top": 519, + "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "queue.hpp", + "text": "worker.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnioFRGIVQ=", + "_id": "AAAAAAFbHEnk4FRvSr8=", "_parent": { - "$ref": "AAAAAAFbHEnioFRDKv4=" + "$ref": "AAAAAAFbHEnk4FRsPH4=" }, "visible": false, "enabled": true, @@ -20327,8 +20508,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -824, - "top": 352, + "left": 600, + "top": 448, "width": 73, "height": 13, "autoResize": false, @@ -20340,9 +20521,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnioFRHzX8=", + "_id": "AAAAAAFbHEnk4FRwOz4=", "_parent": { - "$ref": "AAAAAAFbHEnioFRDKv4=" + "$ref": "AAAAAAFbHEnk4FRsPH4=" }, "visible": false, "enabled": true, @@ -20353,8 +20534,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -824, - "top": 352, + "left": 600, + "top": 448, "width": 0, "height": 13, "autoResize": false, @@ -20373,32 +20554,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, - "top": 416, - "width": 78, + "left": 568, + "top": 512, + "width": 82, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnioFREkic=" + "$ref": "AAAAAAFbHEnk4FRtkJ4=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnioFRFz50=" + "$ref": "AAAAAAFbHEnk4FRu1YU=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnioFRGIVQ=" + "$ref": "AAAAAAFbHEnk4FRvSr8=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnioFRHzX8=" + "$ref": "AAAAAAFbHEnk4FRwOz4=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnioFRI9Fg=", + "_id": "AAAAAAFbHEnk4FRx4zU=", "_parent": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "visible": true, "enabled": true, @@ -20409,20 +20590,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, - "top": 441, - "width": 78, + "left": 568, + "top": 537, + "width": 82, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnioFRJUvU=", + "_id": "AAAAAAFbHEnk4VRyDu0=", "_parent": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "visible": true, "enabled": true, @@ -20433,20 +20614,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, - "top": 451, - "width": 78, + "left": 568, + "top": 547, + "width": 82, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnioVRKoaw=", + "_id": "AAAAAAFbHEnk4VRzbKA=", "_parent": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "visible": false, "enabled": true, @@ -20457,20 +20638,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -456, - "top": 152, + "left": 448, + "top": 352, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnioVRLRew=", + "_id": "AAAAAAFbHEnk4VR0dqg=", "_parent": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "model": { - "$ref": "AAAAAAFbHEnin1RAI/M=" + "$ref": "AAAAAAFbHEnk31Rp4JU=" }, "visible": false, "enabled": true, @@ -20481,8 +20662,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -456, - "top": 152, + "left": 448, + "top": 352, "width": 10, "height": 10, "autoResize": false @@ -20500,9 +20681,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 320, - "top": 416, - "width": 78, + "left": 568, + "top": 512, + "width": 82, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -20511,7 +20692,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnioFRDKv4=" + "$ref": "AAAAAAFbHEnk4FRsPH4=" }, "wordWrap": false, "suppressAttributes": false, @@ -20520,43 +20701,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnioFRI9Fg=" + "$ref": "AAAAAAFbHEnk4FRx4zU=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnioFRJUvU=" + "$ref": "AAAAAAFbHEnk4VRyDu0=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnioVRKoaw=" + "$ref": "AAAAAAFbHEnk4VRzbKA=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnioVRLRew=" + "$ref": "AAAAAAFbHEnk4VR0dqg=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHEnm6FSU+Cc=", + "_id": "AAAAAAFbHEnr2FTmbGs=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHEnm6FSVyd8=", + "_id": "AAAAAAFbHEnr2FTn6SQ=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "$ref": "AAAAAAFbHEnr2FTmbGs=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHEnm6FSW87Q=", + "_id": "AAAAAAFbHEnr2FToEEQ=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSVyd8=" + "$ref": "AAAAAAFbHEnr2FTn6SQ=" }, "visible": false, "enabled": true, @@ -20567,8 +20748,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 680, - "top": 296, + "left": 976, + "top": -288, "width": 0, "height": 13, "autoResize": false, @@ -20579,9 +20760,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnm6FSXl80=", + "_id": "AAAAAAFbHEnr2FTp/2Y=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSVyd8=" + "$ref": "AAAAAAFbHEnr2FTn6SQ=" }, "visible": true, "enabled": true, @@ -20592,22 +20773,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 973, - "top": 519, - "width": 95, + "left": 645, + "top": 423, + "width": 136, "height": 13, "autoResize": false, "underline": false, - "text": "subThread.hpp", + "text": "workerConsumer.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnm6FSYpro=", + "_id": "AAAAAAFbHEnr2FTqs5Y=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSVyd8=" + "$ref": "AAAAAAFbHEnr2FTn6SQ=" }, "visible": false, "enabled": true, @@ -20618,8 +20799,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 680, - "top": 296, + "left": 976, + "top": -288, "width": 73, "height": 13, "autoResize": false, @@ -20631,9 +20812,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHEnm6FSZT0o=", + "_id": "AAAAAAFbHEnr2FTrzHQ=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSVyd8=" + "$ref": "AAAAAAFbHEnr2FTn6SQ=" }, "visible": false, "enabled": true, @@ -20644,8 +20825,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 680, - "top": 296, + "left": 976, + "top": -288, "width": 0, "height": 13, "autoResize": false, @@ -20664,32 +20845,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 968, - "top": 512, - "width": 105, + "left": 640, + "top": 416, + "width": 146, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHEnm6FSW87Q=" + "$ref": "AAAAAAFbHEnr2FToEEQ=" }, "nameLabel": { - "$ref": "AAAAAAFbHEnm6FSXl80=" + "$ref": "AAAAAAFbHEnr2FTp/2Y=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHEnm6FSYpro=" + "$ref": "AAAAAAFbHEnr2FTqs5Y=" }, "propertyLabel": { - "$ref": "AAAAAAFbHEnm6FSZT0o=" + "$ref": "AAAAAAFbHEnr2FTrzHQ=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHEnm6FSaFHY=", + "_id": "AAAAAAFbHEnr2FTsHDU=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "$ref": "AAAAAAFbHEnr2FTmbGs=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "visible": true, "enabled": true, @@ -20700,20 +20881,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 968, - "top": 537, - "width": 105, + "left": 640, + "top": 441, + "width": 146, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHEnm6FSbAhI=", + "_id": "AAAAAAFbHEnr2FTtxfU=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "$ref": "AAAAAAFbHEnr2FTmbGs=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "visible": true, "enabled": true, @@ -20724,20 +20905,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 968, - "top": 547, - "width": 105, + "left": 640, + "top": 451, + "width": 146, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHEnm6VScCD0=", + "_id": "AAAAAAFbHEnr2FTunBg=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "$ref": "AAAAAAFbHEnr2FTmbGs=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "visible": false, "enabled": true, @@ -20748,20 +20929,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 280, - "top": 144, + "left": 648, + "top": -144, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHEnm6VSdjck=", + "_id": "AAAAAAFbHEnr2FTvKxE=", "_parent": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" + "$ref": "AAAAAAFbHEnr2FTmbGs=" }, "model": { - "$ref": "AAAAAAFbHEnm51SSihM=" + "$ref": "AAAAAAFbHEnr11TkZW0=" }, "visible": false, "enabled": true, @@ -20772,8 +20953,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 280, - "top": 144, + "left": 648, + "top": -144, "width": 10, "height": 10, "autoResize": false @@ -20791,9 +20972,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 968, - "top": 512, - "width": 105, + "left": 640, + "top": 416, + "width": 146, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -20802,7 +20983,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHEnm6FSVyd8=" + "$ref": "AAAAAAFbHEnr2FTn6SQ=" }, "wordWrap": false, "suppressAttributes": false, @@ -20811,38 +20992,142 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHEnm6FSaFHY=" + "$ref": "AAAAAAFbHEnr2FTsHDU=" }, "operationCompartment": { - "$ref": "AAAAAAFbHEnm6FSbAhI=" + "$ref": "AAAAAAFbHEnr2FTtxfU=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHEnm6VScCD0=" + "$ref": "AAAAAAFbHEnr2FTunBg=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHEnm6VSdjck=" + "$ref": "AAAAAAFbHEnr2FTvKxE=" } }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHE4SvGKriPI=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHEnea1PwDbU=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHE4Su2KpLQ0=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHE4SvGKsTCg=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHEnea1PxXXU=", "_parent": { - "$ref": "AAAAAAFbHE4SvGKriPI=" + "$ref": "AAAAAAFbHEnea1PwDbU=" }, "model": { - "$ref": "AAAAAAFbHE4Su2KpLQ0=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnebFPyuC0=", + "_parent": { + "$ref": "AAAAAAFbHEnea1PxXXU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -424, + "top": -360, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnebFPzhOQ=", + "_parent": { + "$ref": "AAAAAAFbHEnea1PxXXU=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 93, + "top": 63, + "width": 79, + "height": 13, + "autoResize": false, + "underline": false, + "text": "headers.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnebFP0c5s=", + "_parent": { + "$ref": "AAAAAAFbHEnea1PxXXU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -424, + "top": -360, + "width": 73, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from thread)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnebFP1jBg=", + "_parent": { + "$ref": "AAAAAAFbHEnea1PxXXU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -424, + "top": -360, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -20851,32 +21136,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 600, - "top": 473, - "width": 0, - "height": 13, + "left": 88, + "top": 56, + "width": 89, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHE4SvGKriPI=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEnebFPyuC0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbHEnebFPzhOQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHEnebFP0c5s=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHEnebFP1jBg=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHE4SvWKtAzU=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHEnebFP2FfY=", "_parent": { - "$ref": "AAAAAAFbHE4SvGKriPI=" + "$ref": "AAAAAAFbHEnea1PwDbU=" }, "model": { - "$ref": "AAAAAAFbHE4Su2KpLQ0=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, - "visible": null, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -20885,32 +21172,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 614, - "top": 467, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHE4SvGKriPI=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 88, + "top": 81, + "width": 89, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHE4SvWKulD8=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHEnebFP3p5w=", "_parent": { - "$ref": "AAAAAAFbHE4SvGKriPI=" + "$ref": "AAAAAAFbHEnea1PwDbU=" }, "model": { - "$ref": "AAAAAAFbHE4Su2KpLQ0=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -20919,71 +21196,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 573, - "top": 486, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHE4SvGKriPI=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEn0GFWK4v0=" - }, - "lineStyle": 1, - "points": "577:461;598:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHE4SvGKsTCg=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHE4SvWKtAzU=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHE4SvWKulD8=" - } - }, - { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFEy7mX7MZk=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFEy7mX58e8=" - }, - "subViews": [ + "left": 88, + "top": 91, + "width": 89, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFEy7mX8Fx0=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHEnebFP4q6E=", "_parent": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" + "$ref": "AAAAAAFbHEnea1PwDbU=" }, "model": { - "$ref": "AAAAAAFbHFEy7mX58e8=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, "visible": false, "enabled": true, @@ -20994,32 +21220,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 997, - "top": 395, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -96, + "top": -144, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFEy7mX9b8A=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHEnebFP5BIY=", "_parent": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" + "$ref": "AAAAAAFbHEnea1PwDbU=" }, "model": { - "$ref": "AAAAAAFbHFEy7mX58e8=" + "$ref": "AAAAAAFbHEnea1PuhXg=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21028,57 +21244,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1011, - "top": 391, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFEy7mX+OoQ=", - "_parent": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" - }, - "model": { - "$ref": "AAAAAAFbHFEy7mX58e8=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 968, - "top": 404, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFEy7mX7MZk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -96, + "top": -144, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHD57H1DmLb0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -21086,49 +21261,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" - }, - "tail": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "lineStyle": 1, - "points": "953:301;1013:511", + "left": 88, + "top": 56, + "width": 89, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFEy7mX8Fx0=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHEnea1PxXXU=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFEy7mX9b8A=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHEnebFP2FfY=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFEy7mX+OoQ=" + "operationCompartment": { + "$ref": "AAAAAAFbHEnebFP3p5w=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHEnebFP4q6E=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHEnebFP5BIY=" } }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFE3zmYM/sU=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHEno0FS9jUU=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFE3zmYKLpE=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFE3zmYNI3c=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHEno0FS+VdY=", "_parent": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "model": { - "$ref": "AAAAAAFbHFE3zmYKLpE=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHEno0FS/XGs=", + "_parent": { + "$ref": "AAAAAAFbHEno0FS+VdY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 384, + "top": 136, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEno0FTAs1k=", + "_parent": { + "$ref": "AAAAAAFbHEno0FS+VdY=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 1069, + "top": 423, + "width": 154, + "height": 13, + "autoResize": false, + "underline": false, + "text": "subThreadNoQueue.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEno0FTBeTM=", + "_parent": { + "$ref": "AAAAAAFbHEno0FS+VdY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 384, + "top": 136, + "width": 73, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from thread)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEno0FTCmEM=", + "_parent": { + "$ref": "AAAAAAFbHEno0FS+VdY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 384, + "top": 136, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21137,66 +21427,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1085, - "top": 405, - "width": 0, - "height": 13, + "left": 1064, + "top": 416, + "width": 164, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFE3zmYO0Cc=", - "_parent": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEno0FS/XGs=" }, - "model": { - "$ref": "AAAAAAFbHFE3zmYKLpE=" + "nameLabel": { + "$ref": "AAAAAAFbHEno0FTAs1k=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1099, - "top": 411, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" + "namespaceLabel": { + "$ref": "AAAAAAFbHEno0FTBeTM=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHEno0FTCmEM=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFE3zmYPRzo=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHEno0FTDoM4=", "_parent": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "model": { - "$ref": "AAAAAAFbHFE3zmYKLpE=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21205,73 +21463,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1058, - "top": 394, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFE3zmYM/sU=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" - }, - "tail": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" - }, - "lineStyle": 1, - "points": "1115:301;1029:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFE3zmYNI3c=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFE3zmYO0Cc=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFE3zmYPRzo=" - } - }, - { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFFAV2YdE9A=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFFAV2Ybm/c=" - }, - "subViews": [ + "left": 1064, + "top": 441, + "width": 164, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFAV2YeqIY=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHEno0FTEPZk=", "_parent": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "model": { - "$ref": "AAAAAAFbHFFAV2Ybm/c=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21280,32 +21487,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1091, - "top": 491, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 1064, + "top": 451, + "width": 164, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFAV2YftCo=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHEno0FTFmZY=", "_parent": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "model": { - "$ref": "AAAAAAFbHFFAV2Ybm/c=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21314,30 +21511,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1100, - "top": 503, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 304, + "top": 136, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFAWGYgCiQ=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHEno0FTGJ3w=", "_parent": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "model": { - "$ref": "AAAAAAFbHFFAV2Ybm/c=" + "$ref": "AAAAAAFbHEnoz1S7CCo=" }, "visible": false, "enabled": true, @@ -21348,23 +21535,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1072, - "top": 468, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFFAV2YdE9A=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 304, + "top": 136, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHD57H1DmLb0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -21372,83 +21552,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" - }, - "tail": { - "$ref": "AAAAAAFbHEno0FS9jUU=" - }, - "lineStyle": 1, - "points": "1115:461;1050:511", + "left": 1064, + "top": 416, + "width": 164, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFFAV2YeqIY=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHEno0FS+VdY=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFFAV2YftCo=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHEno0FTDoM4=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFFAWGYgCiQ=" + "operationCompartment": { + "$ref": "AAAAAAFbHEno0FTEPZk=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHEno0FTFmZY=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHEno0FTGJ3w=" } }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFFI52YuT1M=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHEngYFQZQQU=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFFI5mYsLlc=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFI52YvCAU=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHEngYFQapZA=", "_parent": { - "$ref": "AAAAAAFbHFFI52YuT1M=" + "$ref": "AAAAAAFbHEngYFQZQQU=" }, "model": { - "$ref": "AAAAAAFbHFFI5mYsLlc=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 907, - "top": 389, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFFI52YuT1M=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFI6GYwrOI=", - "_parent": { - "$ref": "AAAAAAFbHFFI52YuT1M=" - }, - "model": { - "$ref": "AAAAAAFbHFFI5mYsLlc=" - }, - "visible": null, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHEngYFQb0p8=", + "_parent": { + "$ref": "AAAAAAFbHEngYFQapZA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -608, + "top": 448, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEngYVQcQ5M=", + "_parent": { + "$ref": "AAAAAAFbHEngYFQapZA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 197, + "top": 423, + "width": 115, + "height": 13, + "autoResize": false, + "underline": false, + "text": "priorityQueue.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEngYVQdTsM=", + "_parent": { + "$ref": "AAAAAAFbHEngYFQapZA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -608, + "top": 448, + "width": 73, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from thread)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEngYVQeMPk=", + "_parent": { + "$ref": "AAAAAAFbHEngYFQapZA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -608, + "top": 448, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21457,32 +21718,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 918, - "top": 379, - "width": 0, - "height": 13, + "left": 192, + "top": 416, + "width": 125, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFFI52YuT1M=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEngYFQb0p8=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbHEngYVQcQ5M=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHEngYVQdTsM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHEngYVQeMPk=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFFI6GYx7ZI=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHEngYVQfNmY=", "_parent": { - "$ref": "AAAAAAFbHFFI52YuT1M=" + "$ref": "AAAAAAFbHEngYFQZQQU=" }, "model": { - "$ref": "AAAAAAFbHFFI5mYsLlc=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21491,73 +21754,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 886, - "top": 410, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFFI52YuT1M=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnm6FSU+Cc=" - }, - "tail": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" - }, - "lineStyle": 1, - "points": "797:301;998:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFFI52YvCAU=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFFI6GYwrOI=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFFI6GYx7ZI=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFLJUWa4bg0=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFLJUWa2aeA=" - }, - "subViews": [ + "left": 192, + "top": 441, + "width": 125, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLJUWa5U/4=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHEngYVQgiTw=", "_parent": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" + "$ref": "AAAAAAFbHEngYFQZQQU=" }, "model": { - "$ref": "AAAAAAFbHFLJUWa2aeA=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21566,32 +21778,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 858, - "top": 497, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 192, + "top": 451, + "width": 125, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLJUWa6X6E=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHEngYVQhDzc=", "_parent": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" + "$ref": "AAAAAAFbHEngYFQZQQU=" }, "model": { - "$ref": "AAAAAAFbHFLJUWa2aeA=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21600,30 +21802,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 861, - "top": 512, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -352, + "top": 248, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLJUWa73h0=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHEngYlQiwAw=", "_parent": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" + "$ref": "AAAAAAFbHEngYFQZQQU=" }, "model": { - "$ref": "AAAAAAFbHFLJUWa2aeA=" + "$ref": "AAAAAAFbHEngX1QXn1w=" }, "visible": false, "enabled": true, @@ -21634,23 +21826,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 853, - "top": 468, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLJUWa4bg0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -352, + "top": 248, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHD57H1DmLb0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -21658,49 +21843,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEno0FS9jUU=" - }, - "lineStyle": 1, - "points": "1063:453;650:526", + "left": 192, + "top": 416, + "width": 125, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFLJUWa5U/4=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHEngYFQapZA=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFLJUWa6X6E=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHEngYVQfNmY=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFLJUWa73h0=" + "operationCompartment": { + "$ref": "AAAAAAFbHEngYVQgiTw=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHEngYVQhDzc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHEngYlQiwAw=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFLOrmbJ7YQ=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHEnioFRCaRA=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFLOrmbH+pY=" + "$ref": "AAAAAAFbHEnin1RAI/M=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLOrmbKScA=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHEnioFRDKv4=", "_parent": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "$ref": "AAAAAAFbHEnioFRCaRA=" }, "model": { - "$ref": "AAAAAAFbHFLOrmbH+pY=" + "$ref": "AAAAAAFbHEnin1RAI/M=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnioFREkic=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRDKv4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -824, + "top": 352, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnioFRFz50=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRDKv4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 325, + "top": 423, + "width": 68, + "height": 13, + "autoResize": false, + "underline": false, + "text": "queue.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnioFRGIVQ=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRDKv4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -824, + "top": 352, + "width": 73, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from thread)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnioFRHzX8=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRDKv4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -824, + "top": 352, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21709,32 +22009,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 870, - "top": 414, - "width": 0, - "height": 13, + "left": 320, + "top": 416, + "width": 78, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEnioFREkic=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbHEnioFRFz50=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHEnioFRGIVQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHEnioFRHzX8=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLOrmbLk18=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHEnioFRI9Fg=", "_parent": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "$ref": "AAAAAAFbHEnioFRCaRA=" }, "model": { - "$ref": "AAAAAAFbHFLOrmbH+pY=" + "$ref": "AAAAAAFbHEnin1RAI/M=" }, - "visible": null, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21743,30 +22045,44 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 877, - "top": 427, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "left": 320, + "top": 441, + "width": 78, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHEnioFRJUvU=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRCaRA=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "model": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 320, + "top": 451, + "width": 78, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLOrmbMoOA=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHEnioVRKoaw=", "_parent": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "$ref": "AAAAAAFbHEnioFRCaRA=" }, "model": { - "$ref": "AAAAAAFbHFLOrmbH+pY=" + "$ref": "AAAAAAFbHEnin1RAI/M=" }, "visible": false, "enabled": true, @@ -21777,23 +22093,40 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 857, - "top": 387, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLOrmbJ7YQ=" + "left": -456, + "top": 152, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHEnioVRLRew=", + "_parent": { + "$ref": "AAAAAAFbHEnioFRCaRA=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "model": { + "$ref": "AAAAAAFbHEnin1RAI/M=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -456, + "top": 152, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHD57H1DmLb0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -21801,49 +22134,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" - }, - "lineStyle": 1, - "points": "1078:301;650:513", + "left": 320, + "top": 416, + "width": 78, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFLOrmbKScA=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHEnioFRDKv4=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFLOrmbLk18=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHEnioFRI9Fg=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFLOrmbMoOA=" + "operationCompartment": { + "$ref": "AAAAAAFbHEnioFRJUvU=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHEnioVRKoaw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHEnioVRLRew=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFLVhGbauTg=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHEnm6FSU+Cc=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFLVg2bYTxg=" + "$ref": "AAAAAAFbHEnm51SSihM=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLVhGbb8tE=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHEnm6FSVyd8=", "_parent": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, "model": { - "$ref": "AAAAAAFbHFLVg2bYTxg=" + "$ref": "AAAAAAFbHEnm51SSihM=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnm6FSW87Q=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSVyd8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 680, + "top": 296, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnm6FSXl80=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSVyd8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 973, + "top": 519, + "width": 95, + "height": 13, + "autoResize": false, + "underline": false, + "text": "subThread.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnm6FSYpro=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSVyd8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 680, + "top": 296, + "width": 73, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from thread)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHEnm6FSZT0o=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSVyd8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 680, + "top": 296, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21852,32 +22300,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 786, - "top": 411, - "width": 0, - "height": 13, + "left": 968, + "top": 512, + "width": 105, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHEnm6FSW87Q=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbHEnm6FSXl80=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHEnm6FSYpro=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHEnm6FSZT0o=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLVhGbcJHU=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHEnm6FSaFHY=", "_parent": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, "model": { - "$ref": "AAAAAAFbHFLVg2bYTxg=" + "$ref": "AAAAAAFbHEnm51SSihM=" }, - "visible": null, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -21886,30 +22336,44 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 795, - "top": 423, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "left": 968, + "top": 537, + "width": 105, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHEnm6FSbAhI=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "model": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 968, + "top": 547, + "width": 105, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLVhGbdG/o=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHEnm6VScCD0=", "_parent": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, "model": { - "$ref": "AAAAAAFbHFLVg2bYTxg=" + "$ref": "AAAAAAFbHEnm51SSihM=" }, "visible": false, "enabled": true, @@ -21920,23 +22384,40 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 767, - "top": 388, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFLVhGbauTg=" + "left": 280, + "top": 144, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHEnm6VSdjck=", + "_parent": { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "model": { + "$ref": "AAAAAAFbHEnm51SSihM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 280, + "top": 144, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHD57H1DmLb0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -21944,47 +22425,58 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "lineStyle": 1, - "points": "916:301;638:511", + "left": 968, + "top": 512, + "width": 105, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFLVhGbb8tE=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHEnm6FSVyd8=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFLVhGbcJHU=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHEnm6FSaFHY=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFLVhGbdG/o=" + "operationCompartment": { + "$ref": "AAAAAAFbHEnm6FSbAhI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHEnm6VScCD0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHEnm6VSdjck=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFLbJWbr3kk=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHE4SvGKriPI=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFLbJGbpfa4=" + "$ref": "AAAAAAFbHE4Su2KpLQ0=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLbJWbsXj4=", + "_id": "AAAAAAFbHE4SvGKsTCg=", "_parent": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "model": { - "$ref": "AAAAAAFbHFLbJGbpfa4=" + "$ref": "AAAAAAFbHE4Su2KpLQ0=" }, "visible": false, "enabled": true, @@ -21995,15 +22487,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 703, - "top": 408, + "left": 600, + "top": 473, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "edgePosition": 1, "underline": false, @@ -22013,12 +22505,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLbJWbt66c=", + "_id": "AAAAAAFbHE4SvWKtAzU=", "_parent": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "model": { - "$ref": "AAAAAAFbHFLbJGbpfa4=" + "$ref": "AAAAAAFbHE4Su2KpLQ0=" }, "visible": null, "enabled": true, @@ -22029,15 +22521,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 716, - "top": 416, + "left": 614, + "top": 467, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "edgePosition": 1, "underline": false, @@ -22047,12 +22539,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFLbJWbuMUI=", + "_id": "AAAAAAFbHE4SvWKulD8=", "_parent": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "model": { - "$ref": "AAAAAAFbHFLbJGbpfa4=" + "$ref": "AAAAAAFbHE4Su2KpLQ0=" }, "visible": false, "enabled": true, @@ -22063,15 +22555,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 678, - "top": 391, + "left": 573, + "top": 486, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFLbJWbr3kk=" + "$ref": "AAAAAAFbHE4SvGKriPI=" }, "edgePosition": 1, "underline": false, @@ -22093,41 +22585,41 @@ "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "tail": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFbHEn0GFWK4v0=" }, "lineStyle": 1, - "points": "760:301;623:511", + "points": "577:461;598:511", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHFLbJWbsXj4=" + "$ref": "AAAAAAFbHE4SvGKsTCg=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHFLbJWbt66c=" + "$ref": "AAAAAAFbHE4SvWKtAzU=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFLbJWbuMUI=" + "$ref": "AAAAAAFbHE4SvWKulD8=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHFQeV2isSK8=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFEy7mX7MZk=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiogQE=" + "$ref": "AAAAAAFbHFEy7mX58e8=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2itD50=", + "_id": "AAAAAAFbHFEy7mX8Fx0=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiogQE=" + "$ref": "AAAAAAFbHFEy7mX58e8=" }, "visible": false, "enabled": true, @@ -22138,15 +22630,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 550, - "top": 341, + "left": 997, + "top": 395, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "edgePosition": 1, "underline": false, @@ -22156,12 +22648,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2iuDNY=", + "_id": "AAAAAAFbHFEy7mX9b8A=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiogQE=" + "$ref": "AAAAAAFbHFEy7mX58e8=" }, "visible": null, "enabled": true, @@ -22172,15 +22664,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 545, - "top": 327, + "left": 1011, + "top": 391, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "edgePosition": 1, "underline": false, @@ -22190,12 +22682,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2ivXyI=", + "_id": "AAAAAAFbHFEy7mX+OoQ=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiogQE=" + "$ref": "AAAAAAFbHFEy7mX58e8=" }, "visible": false, "enabled": true, @@ -22206,30 +22698,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 561, - "top": 370, + "left": 968, + "top": 404, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFEy7mX7MZk=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" + }, + "tail": { + "$ref": "AAAAAAFbHEn3mFXc1PI=" + }, + "lineStyle": 1, + "points": "953:301;1013:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFEy7mX8Fx0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFEy7mX9b8A=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFEy7mX+OoQ=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFE3zmYM/sU=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFE3zmYKLpE=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2iw0mg=", + "_id": "AAAAAAFbHFE3zmYNI3c=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, "model": { - "$ref": "AAAAAAFbHFQeVmipwtU=" + "$ref": "AAAAAAFbHFE3zmYKLpE=" }, "visible": false, "enabled": true, @@ -22240,17 +22773,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 416, - "top": 393, + "left": 1085, + "top": 405, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22258,14 +22791,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2ix8hs=", + "_id": "AAAAAAFbHFE3zmYO0Cc=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, "model": { - "$ref": "AAAAAAFbHFQeVmipwtU=" + "$ref": "AAAAAAFbHFE3zmYKLpE=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -22274,17 +22807,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 414, - "top": 380, + "left": 1099, + "top": 411, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, + "alpha": 1.5707963267948966, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22292,12 +22825,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2iyWqs=", + "_id": "AAAAAAFbHFE3zmYPRzo=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, "model": { - "$ref": "AAAAAAFbHFQeVmipwtU=" + "$ref": "AAAAAAFbHFE3zmYKLpE=" }, "visible": false, "enabled": true, @@ -22308,30 +22841,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 422, - "top": 420, + "left": 1058, + "top": 394, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, + "alpha": -1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFE3zmYM/sU=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" + }, + "tail": { + "$ref": "AAAAAAFbHEnx8FVhJLU=" + }, + "lineStyle": 1, + "points": "1115:301;1029:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFE3zmYNI3c=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFE3zmYO0Cc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFE3zmYPRzo=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFFAV2YdE9A=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFFAV2Ybm/c=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2izp58=", + "_id": "AAAAAAFbHFFAV2YeqIY=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiqFCU=" + "$ref": "AAAAAAFbHFFAV2Ybm/c=" }, "visible": false, "enabled": true, @@ -22342,17 +22916,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 685, - "top": 290, + "left": 1091, + "top": 491, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22360,14 +22934,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2i0Kdw=", + "_id": "AAAAAAFbHFFAV2YftCo=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiqFCU=" + "$ref": "AAAAAAFbHFFAV2Ybm/c=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -22376,17 +22950,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 678, - "top": 278, + "left": 1100, + "top": 503, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, + "alpha": 1.5707963267948966, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22394,12 +22968,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQeV2i1pAg=", + "_id": "AAAAAAFbHFFAWGYgCiQ=", "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, "model": { - "$ref": "AAAAAAFbHFQeVmiqFCU=" + "$ref": "AAAAAAFbHFFAV2Ybm/c=" }, "visible": false, "enabled": true, @@ -22410,69 +22984,21 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 699, - "top": 314, + "left": 1072, + "top": 468, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, + "alpha": -1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQeV2isSK8=" + "$ref": "AAAAAAFbHFFAV2YdE9A=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, - { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQeV2i2W/I=", - "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" - }, - "model": { - "$ref": "AAAAAAFbHFQeVmipwtU=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 120, - "top": -200, - "width": 10, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQeWGi3mw4=", - "_parent": { - "$ref": "AAAAAAFbHFQeV2isSK8=" - }, - "model": { - "$ref": "AAAAAAFbHFQeVmiqFCU=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 120, - "top": -200, - "width": 10, - "height": 10, - "autoResize": false } ], "visible": true, @@ -22485,70 +23011,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" + "$ref": "AAAAAAFbHEnm6FSU+Cc=" }, "tail": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEno0FS9jUU=" }, "lineStyle": 1, - "points": "398:423;715:301", + "points": "1115:461;1050:511", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHFQeV2itD50=" + "$ref": "AAAAAAFbHFFAV2YeqIY=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHFQeV2iuDNY=" + "$ref": "AAAAAAFbHFFAV2YftCo=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFQeV2ivXyI=" - }, - "showMultiplicity": true, - "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHFQeV2iw0mg=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHFQeV2ix8hs=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHFQeV2iyWqs=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHFQeV2izp58=" - }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHFQeV2i0Kdw=" - }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHFQeV2i1pAg=" - }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHFQeV2i2W/I=" - }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHFQeWGi3mw4=" + "$ref": "AAAAAAFbHFFAWGYgCiQ=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHFQiRmjvWbM=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFFI52YuT1M=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" + "$ref": "AAAAAAFbHFFI5mYsLlc=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmjw1Zg=", + "_id": "AAAAAAFbHFFI52YvCAU=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" + "$ref": "AAAAAAFbHFFI5mYsLlc=" }, "visible": false, "enabled": true, @@ -22559,15 +23059,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 625, - "top": 343, + "left": 907, + "top": 389, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "edgePosition": 1, "underline": false, @@ -22577,12 +23077,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmjxmXo=", + "_id": "AAAAAAFbHFFI6GYwrOI=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" + "$ref": "AAAAAAFbHFFI5mYsLlc=" }, "visible": null, "enabled": true, @@ -22593,15 +23093,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 621, - "top": 329, + "left": 918, + "top": 379, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "edgePosition": 1, "underline": false, @@ -22611,12 +23111,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmjyrR8=", + "_id": "AAAAAAFbHFFI6GYx7ZI=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjrWgc=" + "$ref": "AAAAAAFbHFFI5mYsLlc=" }, "visible": false, "enabled": true, @@ -22627,30 +23127,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 632, - "top": 372, + "left": 886, + "top": 410, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFFI52YuT1M=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnm6FSU+Cc=" + }, + "tail": { + "$ref": "AAAAAAFbHEmZ6lPGa/A=" + }, + "lineStyle": 1, + "points": "797:301;998:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFFI52YvCAU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFFI6GYwrOI=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFFI6GYx7ZI=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFLJUWa4bg0=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFLJUWa2aeA=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmjzvwU=", + "_id": "AAAAAAFbHFLJUWa5U/4=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjsEHI=" + "$ref": "AAAAAAFbHFLJUWa2aeA=" }, "visible": false, "enabled": true, @@ -22661,17 +23202,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 419, - "top": 399, + "left": 858, + "top": 497, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22679,14 +23220,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmj0UHw=", + "_id": "AAAAAAFbHFLJUWa6X6E=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjsEHI=" + "$ref": "AAAAAAFbHFLJUWa2aeA=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -22695,17 +23236,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 417, - "top": 386, + "left": 861, + "top": 512, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, + "alpha": 1.5707963267948966, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22713,12 +23254,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmj1uro=", + "_id": "AAAAAAFbHFLJUWa73h0=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjsEHI=" + "$ref": "AAAAAAFbHFLJUWa2aeA=" }, "visible": false, "enabled": true, @@ -22729,30 +23270,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 422, - "top": 427, + "left": 853, + "top": 468, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, + "alpha": -1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLJUWa4bg0=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + "tail": { + "$ref": "AAAAAAFbHEno0FS9jUU=" + }, + "lineStyle": 1, + "points": "1063:453;650:526", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFLJUWa5U/4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFLJUWa6X6E=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFLJUWa73h0=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFLOrmbJ7YQ=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFLOrmbH+pY=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmj2EJw=", + "_id": "AAAAAAFbHFLOrmbKScA=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjtdWU=" + "$ref": "AAAAAAFbHFLOrmbH+pY=" }, "visible": false, "enabled": true, @@ -22763,17 +23345,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 831, - "top": 287, + "left": 870, + "top": 414, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22781,14 +23363,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmj3IpU=", + "_id": "AAAAAAFbHFLOrmbLk18=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjtdWU=" + "$ref": "AAAAAAFbHFLOrmbH+pY=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -22797,17 +23379,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 826, - "top": 275, + "left": 877, + "top": 427, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, + "alpha": 1.5707963267948966, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -22815,12 +23397,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQiRmj4rc0=", + "_id": "AAAAAAFbHFLOrmbMoOA=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjtdWU=" + "$ref": "AAAAAAFbHFLOrmbH+pY=" }, "visible": false, "enabled": true, @@ -22831,30 +23413,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 843, - "top": 312, + "left": 857, + "top": 387, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, + "alpha": -1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLOrmbJ7YQ=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + "tail": { + "$ref": "AAAAAAFbHEnx8FVhJLU=" + }, + "lineStyle": 1, + "points": "1078:301;650:513", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFLOrmbKScA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFLOrmbLk18=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFLOrmbMoOA=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFLVhGbauTg=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFLVg2bYTxg=" + }, + "subViews": [ { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQiRmj5wmk=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLVhGbb8tE=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLVhGbauTg=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjsEHI=" + "$ref": "AAAAAAFbHFLVg2bYTxg=" }, "visible": false, "enabled": true, @@ -22865,20 +23488,64 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": -200, - "width": 10, - "height": 10, - "autoResize": false + "left": 786, + "top": 411, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFLVhGbauTg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQiRmj6dPU=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLVhGbcJHU=", "_parent": { - "$ref": "AAAAAAFbHFQiRmjvWbM=" + "$ref": "AAAAAAFbHFLVhGbauTg=" }, "model": { - "$ref": "AAAAAAFbHFQiRmjtdWU=" + "$ref": "AAAAAAFbHFLVg2bYTxg=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 795, + "top": 423, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFLVhGbauTg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLVhGbdG/o=", + "_parent": { + "$ref": "AAAAAAFbHFLVhGbauTg=" + }, + "model": { + "$ref": "AAAAAAFbHFLVg2bYTxg=" }, "visible": false, "enabled": true, @@ -22889,11 +23556,21 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": -200, - "width": 10, - "height": 10, - "autoResize": false + "left": 767, + "top": 388, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFLVhGbauTg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], "visible": true, @@ -22906,70 +23583,187 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, "tail": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "lineStyle": 1, - "points": "398:427;861:301", + "points": "916:301;638:511", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHFQiRmjw1Zg=" + "$ref": "AAAAAAFbHFLVhGbb8tE=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHFQiRmjxmXo=" + "$ref": "AAAAAAFbHFLVhGbcJHU=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFQiRmjyrR8=" - }, - "showMultiplicity": true, - "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHFQiRmjzvwU=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHFQiRmj0UHw=" + "$ref": "AAAAAAFbHFLVhGbdG/o=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFLbJWbr3kk=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHFQiRmj1uro=" + "model": { + "$ref": "AAAAAAFbHFLbJGbpfa4=" }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHFQiRmj2EJw=" + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLbJWbsXj4=", + "_parent": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "model": { + "$ref": "AAAAAAFbHFLbJGbpfa4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 703, + "top": 408, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLbJWbt66c=", + "_parent": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "model": { + "$ref": "AAAAAAFbHFLbJGbpfa4=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 716, + "top": 416, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFLbJWbuMUI=", + "_parent": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "model": { + "$ref": "AAAAAAFbHFLbJGbpfa4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 678, + "top": 391, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFLbJWbr3kk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHFQiRmj3IpU=" + "tail": { + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHFQiRmj4rc0=" + "lineStyle": 1, + "points": "760:301;623:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFLbJWbsXj4=" }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHFQiRmj5wmk=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFLbJWbt66c=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHFQiRmj6dPU=" + "propertyLabel": { + "$ref": "AAAAAAFbHFLbJWbuMUI=" } }, { "_type": "UMLAssociationView", - "_id": "AAAAAAFbHFQnL2lBLAY=", + "_id": "AAAAAAFbHFQeV2isSK8=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" + "$ref": "AAAAAAFbHFQeVmiogQE=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lCimE=", + "_id": "AAAAAAFbHFQeV2itD50=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" + "$ref": "AAAAAAFbHFQeVmiogQE=" }, "visible": false, "enabled": true, @@ -22980,15 +23774,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 714, - "top": 342, + "left": 550, + "top": 341, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 1, "underline": false, @@ -22998,12 +23792,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lDmqc=", + "_id": "AAAAAAFbHFQeV2iuDNY=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" + "$ref": "AAAAAAFbHFQeVmiogQE=" }, "visible": null, "enabled": true, @@ -23014,7 +23808,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 711, + "left": 545, "top": 327, "width": 0, "height": 13, @@ -23022,7 +23816,7 @@ "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 1, "underline": false, @@ -23032,12 +23826,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lEAh0=", + "_id": "AAAAAAFbHFQeV2ivXyI=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnLmk9eHc=" + "$ref": "AAAAAAFbHFQeVmiogQE=" }, "visible": false, "enabled": true, @@ -23048,15 +23842,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 721, - "top": 371, + "left": 561, + "top": 370, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 1, "underline": false, @@ -23066,12 +23860,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lFCUk=", + "_id": "AAAAAAFbHFQeV2iw0mg=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k+i+w=" + "$ref": "AAAAAAFbHFQeVmipwtU=" }, "visible": false, "enabled": true, @@ -23082,15 +23876,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 420, - "top": 404, + "left": 416, + "top": 393, "width": 0, "height": 13, "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 2, "underline": false, @@ -23100,12 +23894,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lGfOA=", + "_id": "AAAAAAFbHFQeV2ix8hs=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k+i+w=" + "$ref": "AAAAAAFbHFQeVmipwtU=" }, "visible": false, "enabled": true, @@ -23116,15 +23910,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 419, - "top": 390, + "left": 414, + "top": 380, "width": 0, "height": 13, "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 2, "underline": false, @@ -23134,12 +23928,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lHpLU=", + "_id": "AAAAAAFbHFQeV2iyWqs=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k+i+w=" + "$ref": "AAAAAAFbHFQeVmipwtU=" }, "visible": false, "enabled": true, @@ -23150,15 +23944,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 421, - "top": 431, + "left": 422, + "top": 420, "width": 0, "height": 13, "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 2, "underline": false, @@ -23168,12 +23962,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lI9wY=", + "_id": "AAAAAAFbHFQeV2izp58=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k/CCk=" + "$ref": "AAAAAAFbHFQeVmiqFCU=" }, "visible": false, "enabled": true, @@ -23184,15 +23978,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1010, - "top": 280, + "left": 685, + "top": 290, "width": 0, "height": 13, "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 0, "underline": false, @@ -23202,12 +23996,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lJNEs=", + "_id": "AAAAAAFbHFQeV2i0Kdw=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k/CCk=" + "$ref": "AAAAAAFbHFQeVmiqFCU=" }, "visible": false, "enabled": true, @@ -23218,15 +24012,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1005, - "top": 268, + "left": 678, + "top": 278, "width": 0, "height": 13, "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 0, "underline": false, @@ -23236,12 +24030,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQnL2lK+lA=", + "_id": "AAAAAAFbHFQeV2i1pAg=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k/CCk=" + "$ref": "AAAAAAFbHFQeVmiqFCU=" }, "visible": false, "enabled": true, @@ -23252,15 +24046,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1020, - "top": 306, + "left": 699, + "top": 314, "width": 0, "height": 13, "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "edgePosition": 0, "underline": false, @@ -23270,12 +24064,12 @@ }, { "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQnL2lLMzY=", + "_id": "AAAAAAFbHFQeV2i2W/I=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k+i+w=" + "$ref": "AAAAAAFbHFQeVmipwtU=" }, "visible": false, "enabled": true, @@ -23286,7 +24080,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, + "left": 120, "top": -200, "width": 10, "height": 10, @@ -23294,12 +24088,12 @@ }, { "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHFQnL2lMrW8=", + "_id": "AAAAAAFbHFQeWGi3mw4=", "_parent": { - "$ref": "AAAAAAFbHFQnL2lBLAY=" + "$ref": "AAAAAAFbHFQeV2isSK8=" }, "model": { - "$ref": "AAAAAAFbHFQnL2k/CCk=" + "$ref": "AAAAAAFbHFQeVmiqFCU=" }, "visible": false, "enabled": true, @@ -23310,7 +24104,7 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, + "left": 120, "top": -200, "width": 10, "height": 10, @@ -23327,70 +24121,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHEmZ6lPGa/A=" }, "tail": { "$ref": "AAAAAAFbHEnioFRCaRA=" }, "lineStyle": 1, - "points": "398:430;1039:296", + "points": "398:423;715:301", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHFQnL2lCimE=" + "$ref": "AAAAAAFbHFQeV2itD50=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHFQnL2lDmqc=" + "$ref": "AAAAAAFbHFQeV2iuDNY=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFQnL2lEAh0=" + "$ref": "AAAAAAFbHFQeV2ivXyI=" }, "showMultiplicity": true, "showType": true, "tailRoleNameLabel": { - "$ref": "AAAAAAFbHFQnL2lFCUk=" + "$ref": "AAAAAAFbHFQeV2iw0mg=" }, "tailPropertyLabel": { - "$ref": "AAAAAAFbHFQnL2lGfOA=" + "$ref": "AAAAAAFbHFQeV2ix8hs=" }, "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHFQnL2lHpLU=" + "$ref": "AAAAAAFbHFQeV2iyWqs=" }, "headRoleNameLabel": { - "$ref": "AAAAAAFbHFQnL2lI9wY=" + "$ref": "AAAAAAFbHFQeV2izp58=" }, "headPropertyLabel": { - "$ref": "AAAAAAFbHFQnL2lJNEs=" + "$ref": "AAAAAAFbHFQeV2i0Kdw=" }, "headMultiplicityLabel": { - "$ref": "AAAAAAFbHFQnL2lK+lA=" + "$ref": "AAAAAAFbHFQeV2i1pAg=" }, "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHFQnL2lLMzY=" + "$ref": "AAAAAAFbHFQeV2i2W/I=" }, "headQualifiersCompartment": { - "$ref": "AAAAAAFbHFQnL2lMrW8=" + "$ref": "AAAAAAFbHFQeWGi3mw4=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFQ49moQuhI=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHFQiRmjvWbM=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFQ49moO8PE=" + "$ref": "AAAAAAFbHFQiRmjrWgc=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQ49moRiNA=", + "_id": "AAAAAAFbHFQiRmjw1Zg=", "_parent": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "model": { - "$ref": "AAAAAAFbHFQ49moO8PE=" + "$ref": "AAAAAAFbHFQiRmjrWgc=" }, "visible": false, "enabled": true, @@ -23401,15 +24195,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 721, - "top": 371, + "left": 625, + "top": 343, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "edgePosition": 1, "underline": false, @@ -23419,12 +24213,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQ492oSBSk=", + "_id": "AAAAAAFbHFQiRmjxmXo=", "_parent": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "model": { - "$ref": "AAAAAAFbHFQ49moO8PE=" + "$ref": "AAAAAAFbHFQiRmjrWgc=" }, "visible": null, "enabled": true, @@ -23435,15 +24229,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 724, - "top": 386, + "left": 621, + "top": 329, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "edgePosition": 1, "underline": false, @@ -23453,12 +24247,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFQ492oTIHc=", + "_id": "AAAAAAFbHFQiRmjyrR8=", "_parent": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "model": { - "$ref": "AAAAAAFbHFQ49moO8PE=" + "$ref": "AAAAAAFbHFQiRmjrWgc=" }, "visible": false, "enabled": true, @@ -23469,21 +24263,273 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 714, - "top": 342, + "left": 632, + "top": 372, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFQ49moQuhI=" + "$ref": "AAAAAAFbHFQiRmjvWbM=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmjzvwU=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjsEHI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 419, + "top": 399, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmj0UHw=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjsEHI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 417, + "top": 386, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmj1uro=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjsEHI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 422, + "top": 427, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmj2EJw=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjtdWU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 831, + "top": 287, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmj3IpU=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjtdWU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 826, + "top": 275, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQiRmj4rc0=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjtdWU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 843, + "top": 312, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHFQiRmj5wmk=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjsEHI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -200, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHFQiRmj6dPU=", + "_parent": { + "$ref": "AAAAAAFbHFQiRmjvWbM=" + }, + "model": { + "$ref": "AAAAAAFbHFQiRmjtdWU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -200, + "width": 10, + "height": 10, + "autoResize": false } ], "visible": true, @@ -23496,44 +24542,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHEnioFRCaRA=" + "$ref": "AAAAAAFbHEn3mFXc1PI=" }, "tail": { - "$ref": "AAAAAAFbHEnx8FVhJLU=" + "$ref": "AAAAAAFbHEnioFRCaRA=" }, "lineStyle": 1, - "points": "1039:296;398:430", + "points": "398:427;861:301", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHFQ49moRiNA=" + "$ref": "AAAAAAFbHFQiRmjw1Zg=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHFQ492oSBSk=" + "$ref": "AAAAAAFbHFQiRmjxmXo=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFQ492oTIHc=" + "$ref": "AAAAAAFbHFQiRmjyrR8=" + }, + "showMultiplicity": true, + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHFQiRmjzvwU=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFbHFQiRmj0UHw=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHFQiRmj1uro=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFbHFQiRmj2EJw=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHFQiRmj3IpU=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHFQiRmj4rc0=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHFQiRmj5wmk=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHFQiRmj6dPU=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFRdk2tDT7A=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHFQnL2lBLAY=", "_parent": { "$ref": "AAAAAAFbHDfDwV2pYSY=" }, "model": { - "$ref": "AAAAAAFbHFRdk2tBzNI=" + "$ref": "AAAAAAFbHFQnLmk9eHc=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRdk2tEZ1c=", + "_id": "AAAAAAFbHFQnL2lCimE=", "_parent": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "model": { - "$ref": "AAAAAAFbHFRdk2tBzNI=" + "$ref": "AAAAAAFbHFQnLmk9eHc=" }, "visible": false, "enabled": true, @@ -23544,15 +24616,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 632, - "top": 372, + "left": 714, + "top": 342, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "edgePosition": 1, "underline": false, @@ -23562,12 +24634,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRdmmtFJVw=", + "_id": "AAAAAAFbHFQnL2lDmqc=", "_parent": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "model": { - "$ref": "AAAAAAFbHFRdk2tBzNI=" + "$ref": "AAAAAAFbHFQnLmk9eHc=" }, "visible": null, "enabled": true, @@ -23578,15 +24650,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 636, - "top": 386, + "left": 711, + "top": 327, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "edgePosition": 1, "underline": false, @@ -23596,12 +24668,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRdmmtGb3M=", + "_id": "AAAAAAFbHFQnL2lEAh0=", "_parent": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "model": { - "$ref": "AAAAAAFbHFRdk2tBzNI=" + "$ref": "AAAAAAFbHFQnLmk9eHc=" }, "visible": false, "enabled": true, @@ -23612,359 +24684,2578 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 625, - "top": 343, + "left": 721, + "top": 371, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHFRdk2tDT7A=" + "$ref": "AAAAAAFbHFQnL2lBLAY=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lFCUk=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k+i+w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 420, + "top": 404, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lGfOA=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k+i+w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 419, + "top": 390, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lHpLU=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k+i+w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 421, + "top": 431, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lI9wY=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k/CCk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 1010, + "top": 280, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lJNEs=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k/CCk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 1005, + "top": 268, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQnL2lK+lA=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k/CCk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 1020, + "top": 306, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHFQnL2lLMzY=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k+i+w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -200, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHFQnL2lMrW8=", + "_parent": { + "$ref": "AAAAAAFbHFQnL2lBLAY=" + }, + "model": { + "$ref": "AAAAAAFbHFQnL2k/CCk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -200, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnx8FVhJLU=" + }, + "tail": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "lineStyle": 1, + "points": "398:430;1039:296", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFQnL2lCimE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFQnL2lDmqc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFQnL2lEAh0=" + }, + "showMultiplicity": true, + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHFQnL2lFCUk=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFbHFQnL2lGfOA=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHFQnL2lHpLU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFbHFQnL2lI9wY=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHFQnL2lJNEs=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHFQnL2lK+lA=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHFQnL2lLMzY=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHFQnL2lMrW8=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFQ49moQuhI=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFQ49moO8PE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQ49moRiNA=", + "_parent": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "model": { + "$ref": "AAAAAAFbHFQ49moO8PE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 721, + "top": 371, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQ492oSBSk=", + "_parent": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "model": { + "$ref": "AAAAAAFbHFQ49moO8PE=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 724, + "top": 386, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFQ492oTIHc=", + "_parent": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "model": { + "$ref": "AAAAAAFbHFQ49moO8PE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 714, + "top": 342, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFQ49moQuhI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "tail": { + "$ref": "AAAAAAFbHEnx8FVhJLU=" + }, + "lineStyle": 1, + "points": "1039:296;398:430", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFQ49moRiNA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFQ492oSBSk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFQ492oTIHc=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFRdk2tDT7A=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFRdk2tBzNI=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRdk2tEZ1c=", + "_parent": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "model": { + "$ref": "AAAAAAFbHFRdk2tBzNI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 632, + "top": 372, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRdmmtFJVw=", + "_parent": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "model": { + "$ref": "AAAAAAFbHFRdk2tBzNI=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 636, + "top": 386, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRdmmtGb3M=", + "_parent": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "model": { + "$ref": "AAAAAAFbHFRdk2tBzNI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 625, + "top": 343, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFRdk2tDT7A=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "tail": { + "$ref": "AAAAAAFbHEn3mFXc1PI=" + }, + "lineStyle": 1, + "points": "861:301;398:427", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFRdk2tEZ1c=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFRdmmtFJVw=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFRdmmtGb3M=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFRirmuQiiM=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFRirmuODQA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRirmuRq4o=", + "_parent": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "model": { + "$ref": "AAAAAAFbHFRirmuODQA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 561, + "top": 369, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRirmuStkk=", + "_parent": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "model": { + "$ref": "AAAAAAFbHFRirmuODQA=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 566, + "top": 383, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFRirmuT0SQ=", + "_parent": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "model": { + "$ref": "AAAAAAFbHFRirmuODQA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 550, + "top": 342, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFRirmuQiiM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "tail": { + "$ref": "AAAAAAFbHEmZ6lPGa/A=" + }, + "lineStyle": 1, + "points": "715:301;398:423", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFRirmuRq4o=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFRirmuStkk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFRirmuT0SQ=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFXDcnLRtNk=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFXDcXLPDXQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXDcnLS7eA=", + "_parent": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "model": { + "$ref": "AAAAAAFbHFXDcXLPDXQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 730, + "top": 496, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXDc3LTJYo=", + "_parent": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "model": { + "$ref": "AAAAAAFbHFXDcXLPDXQ=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 735, + "top": 510, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXDc3LUne0=", + "_parent": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "model": { + "$ref": "AAAAAAFbHFXDcXLPDXQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 719, + "top": 469, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFXDcnLRtNk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + "tail": { + "$ref": "AAAAAAFbHEn2CFWzvuI=" + }, + "lineStyle": 1, + "points": "800:461;650:518", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFXDcnLS7eA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFXDc3LTJYo=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFXDc3LUne0=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHFXJlnMP9g0=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFXJlnMNtRc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXJlnMQeXY=", + "_parent": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "model": { + "$ref": "AAAAAAFbHFXJlnMNtRc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 670, + "top": 491, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXJlnMRaxg=", + "_parent": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "model": { + "$ref": "AAAAAAFbHFXJlnMNtRc=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 680, + "top": 502, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFXJlnMSsuU=", + "_parent": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "model": { + "$ref": "AAAAAAFbHFXJlnMNtRc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 649, + "top": 468, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFXJlnMP9g0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + "tail": { + "$ref": "AAAAAAFbHEnr2FTmbGs=" + }, + "lineStyle": 1, + "points": "687:461;633:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFXJlnMQeXY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFXJlnMRaxg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFXJlnMSsuU=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFamNnpnLb8=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFamNXplyYs=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFamNnpokyE=", + "_parent": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "model": { + "$ref": "AAAAAAFbHFamNXplyYs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 374, + "top": 284, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFamNnpprvg=", + "_parent": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "model": { + "$ref": "AAAAAAFbHFamNXplyYs=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 389, + "top": 284, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFamNnpqQBY=", + "_parent": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "model": { + "$ref": "AAAAAAFbHFamNXplyYs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 345, + "top": 283, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFamNnpnLb8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnioFRCaRA=" + }, + "tail": { + "$ref": "AAAAAAFbHEntqFUPpoU=" + }, + "lineStyle": 1, + "points": "363:165;358:415", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFamNnpokyE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFamNnpprvg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFamNnpqQBY=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFa6T3qlSqA=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFa6TnqjrOU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFa6T3qmXZg=", + "_parent": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "model": { + "$ref": "AAAAAAFbHFa6TnqjrOU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": 341, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFa6T3qnYY8=", + "_parent": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "model": { + "$ref": "AAAAAAFbHFa6TnqjrOU=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 236, + "top": 350, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFa6T3qoMuc=", + "_parent": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "model": { + "$ref": "AAAAAAFbHFa6TnqjrOU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 201, + "top": 322, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFa6T3qlSqA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnwN1U4NBM=" + }, + "tail": { + "$ref": "AAAAAAFbHEntqFUPpoU=" + }, + "lineStyle": 1, + "points": "345:165;81:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFa6T3qmXZg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFa6T3qnYY8=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFa6T3qoMuc=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHFhC6If9J/c=", + "_parent": { + "$ref": "AAAAAAFbHDfDwV2pYSY=" + }, + "model": { + "$ref": "AAAAAAFbHFhC54f7Eks=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFhC6If+xmU=", + "_parent": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "model": { + "$ref": "AAAAAAFbHFhC54f7Eks=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 497, + "top": 324, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFhC6If/tiE=", + "_parent": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "model": { + "$ref": "AAAAAAFbHFhC54f7Eks=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 510, + "top": 316, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHFhC6IgAHIg=", + "_parent": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "model": { + "$ref": "AAAAAAFbHFhC54f7Eks=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 472, + "top": 339, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHFhC6If9J/c=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHEnk4FRra2Q=" + }, + "tail": { + "$ref": "AAAAAAFbHEntqFUPpoU=" + }, + "lineStyle": 1, + "points": "377:165;594:511", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHFhC6If+xmU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFhC6If/tiE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFhC6IgAHIg=" + } + } + ] + }, + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFbHDdYEV2Qawk=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "pose", + "ownedElements": [ + { + "_type": "UMLPackage", + "_id": "AAAAAAFbHFxkJJWoCjs=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "name": "pose", + "ownedElements": [ + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyaDZXtVSk=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "wPoseExtractor.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHHCH1K22V0Q=", + "_parent": { + "$ref": "AAAAAAFbHFyaDZXtVSk=" + }, + "source": { + "$ref": "AAAAAAFbHFyaDZXtVSk=" + }, + "target": { + "$ref": "AAAAAAFbHG/RJqxmjag=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHD7mq+0ft0=", + "_parent": { + "$ref": "AAAAAAFbHFyaDZXtVSk=" + }, + "source": { + "$ref": "AAAAAAFbHFyaDZXtVSk=" + }, + "target": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyblZYWiRQ=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "wPoseRenderer.hpp", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHHB2E612aDc=", + "_parent": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "source": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "target": { + "$ref": "AAAAAAFbHG/RJqxmjag=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHD2Aq92KiE=", + "_parent": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "source": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "target": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyptZbjGLg=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "poseParameters.hpp", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHGw5J6MXrlI=", + "_parent": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHGw5J6MYVBM=", + "_parent": { + "$ref": "AAAAAAFbHGw5J6MXrlI=" + }, + "reference": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHGw5J6MZyXA=", + "_parent": { + "$ref": "AAAAAAFbHGw5J6MXrlI=" + }, + "reference": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyjIpa6NmI=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "enumClasses.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyhxZaRGg0=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "headers.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFzELZhbldE=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "renderPose", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFzB0pgy9QE=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "poseExtractorCaffe", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHDrEq8VKcc=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHDrEq8WF48=", + "_parent": { + "$ref": "AAAAAAFbHHDrEq8VKcc=" + }, + "reference": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHDrEq8X3Y0=", + "_parent": { + "$ref": "AAAAAAFbHHDrEq8VKcc=" + }, + "reference": { + "$ref": "AAAAAAFbHFyaDZXtVSk=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAFbHHGZKrGqXrE=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "source": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "target": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHIq0rUjTho=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "source": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "target": { + "$ref": "AAAAAAFbHFy95Zfg+a8=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHIvkrWOA8M=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "source": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "target": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHI0w7X5fe0=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "source": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "target": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHKsO71y8uU=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHKsO71zxWo=", + "_parent": { + "$ref": "AAAAAAFbHHKsO71y8uU=" + }, + "reference": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHKsO710h4k=", + "_parent": { + "$ref": "AAAAAAFbHHKsO71y8uU=" + }, + "reference": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHTZc8YMcWg=", + "_parent": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "source": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "target": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFy/tZgJmKs=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "poseRenderer", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHDZ/K7DPvI=", + "_parent": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHDZ/K7EAnY=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/K7DPvI=" + }, + "reference": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHDZ/K7FK4E=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/K7DPvI=" + }, + "reference": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHK6E74POAA=", + "_parent": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "source": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "target": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHHSf7MWSFj4=", + "_parent": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "source": { + "$ref": "AAAAAAFbHFy/tZgJmKs=" + }, + "target": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFzK5ZiEMoA=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "poseExtractor", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGqxTKG5wjw=", + "_parent": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "source": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "target": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGrME6HKk7E=", + "_parent": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "source": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "target": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFyW9ZXECgk=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "bodyPartConnectorBase", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGLjx6FvWeI=", + "_parent": { + "$ref": "AAAAAAFbHFyW9ZXECgk=" + }, + "source": { + "$ref": "AAAAAAFbHFyW9ZXECgk=" + }, + "target": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGMlpKGFzvA=", + "_parent": { + "$ref": "AAAAAAFbHFyW9ZXECgk=" + }, + "source": { + "$ref": "AAAAAAFbHFyW9ZXECgk=" + }, + "target": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbHFytbZcMIfs=", + "_parent": { + "$ref": "AAAAAAFbHFxkJJWoCjs=" + }, + "name": "bodyPartConnectorCaffe", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGwQTKLXKW4=", + "_parent": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "source": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "target": { + "$ref": "AAAAAAFbHFyW9ZXECgk=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGwVTKL3GS0=", + "_parent": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "source": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "target": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbHGxt3qOc9Cg=", + "_parent": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "source": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "target": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "visibility": "public" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHHIVkrSVUkA=", + "_parent": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHIVkrSW4DQ=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSVUkA=" + }, + "reference": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHHIVkrSXJ+E=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSVUkA=" + }, + "reference": { + "$ref": "AAAAAAFbHFzB0pgy9QE=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnioFRCaRA=" - }, - "tail": { - "$ref": "AAAAAAFbHEn3mFXc1PI=" - }, - "lineStyle": 1, - "points": "861:301;398:427", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFRdk2tEZ1c=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFRdmmtFJVw=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFRdmmtGb3M=" - } + "visibility": "public" }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFRirmuQiiM=", + "_type": "UMLPackage", + "_id": "AAAAAAFbHGJipqEm58o=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFRirmuODQA=" + "$ref": "AAAAAAFbHDdYEV2Qawk=" }, - "subViews": [ + "name": "core", + "ownedElements": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRirmuRq4o=", + "_type": "UMLClass", + "_id": "AAAAAAFbHGJ4XKFAf+Y=", "_parent": { - "$ref": "AAAAAAFbHFRirmuQiiM=" - }, - "model": { - "$ref": "AAAAAAFbHFRirmuODQA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 561, - "top": 369, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFRirmuQiiM=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "array.hpp", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFbHGrWHKHbh/M=", + "_parent": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHGrWHKHcSME=", + "_parent": { + "$ref": "AAAAAAFbHGrWHKHbh/M=" + }, + "reference": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFbHGrWHKHd2lk=", + "_parent": { + "$ref": "AAAAAAFbHGrWHKHbh/M=" + }, + "reference": { + "$ref": "AAAAAAFbHFzK5ZiEMoA=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRirmuStkk=", + "_type": "UMLClass", + "_id": "AAAAAAFcswXRoLSckR0=", "_parent": { - "$ref": "AAAAAAFbHFRirmuQiiM=" - }, - "model": { - "$ref": "AAAAAAFbHFRirmuODQA=" - }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 566, - "top": 383, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFRirmuQiiM=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, + "name": "rectangle.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + } + ], + "visibility": "public" + }, + { + "_type": "UMLPackage", + "_id": "AAAAAAFbHG/kZKylPT8=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "name": "thread", + "ownedElements": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFRirmuT0SQ=", + "_type": "UMLClass", + "_id": "AAAAAAFbHG/RJqxmjag=", "_parent": { - "$ref": "AAAAAAFbHFRirmuQiiM=" - }, - "model": { - "$ref": "AAAAAAFbHFRirmuODQA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 550, - "top": 342, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFRirmuQiiM=" + "$ref": "AAAAAAFbHG/kZKylPT8=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "worker.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false } ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnioFRCaRA=" - }, - "tail": { - "$ref": "AAAAAAFbHEmZ6lPGa/A=" - }, - "lineStyle": 1, - "points": "715:301;398:423", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFRirmuRq4o=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFRirmuStkk=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFRirmuT0SQ=" - } - }, + "visibility": "public" + } + ], + "visible": true, + "defaultDiagram": false, + "ownedViews": [ { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFXDcnLRtNk=", + "_type": "UMLPackageView", + "_id": "AAAAAAFbHFxkJJWqH+E=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFXDcXLPDXQ=" + "$ref": "AAAAAAFbHFxkJJWoCjs=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXDcnLS7eA=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFxkJZWrwUc=", "_parent": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" + "$ref": "AAAAAAFbHFxkJJWqH+E=" }, "model": { - "$ref": "AAAAAAFbHFXDcXLPDXQ=" + "$ref": "AAAAAAFbHFxkJJWoCjs=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFxkJZWsAEM=", + "_parent": { + "$ref": "AAAAAAFbHFxkJZWrwUc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -400, + "top": -304, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFxkJ5WtH/8=", + "_parent": { + "$ref": "AAAAAAFbHFxkJZWrwUc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 5, + "top": 22, + "width": 1023, + "height": 13, + "autoResize": false, + "underline": false, + "text": "pose", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFxkJ5WuAo4=", + "_parent": { + "$ref": "AAAAAAFbHFxkJZWrwUc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -400, + "top": -304, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFxkJ5WvYrw=", + "_parent": { + "$ref": "AAAAAAFbHFxkJZWrwUc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -400, + "top": -304, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 730, - "top": 496, - "width": 0, - "height": 13, + "left": 0, + "top": 15, + "width": 1033, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXDc3LTJYo=", - "_parent": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFxkJZWsAEM=" }, - "model": { - "$ref": "AAAAAAFbHFXDcXLPDXQ=" + "nameLabel": { + "$ref": "AAAAAAFbHFxkJ5WtH/8=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 735, - "top": 510, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFxkJ5WuAo4=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFxkJ5WvYrw=" + } + } + ], + "containedViews": [ + { + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXDc3LUne0=", - "_parent": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" - }, - "model": { - "$ref": "AAAAAAFbHFXDcXLPDXQ=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 719, - "top": 469, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFXDcnLRtNk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "$ref": "AAAAAAFbHFyaDpXvuYI=" + }, + { + "$ref": "AAAAAAFbHFyblZYYzdE=" + }, + { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + { + "$ref": "AAAAAAFbHFyjI5a8Kvc=" + }, + { + "$ref": "AAAAAAFbHFyhxZaTi+g=" + }, + { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + { + "$ref": "AAAAAAFbHFzELphdmCE=" + }, + { + "$ref": "AAAAAAFbHFzB0pg0a44=" + }, + { + "$ref": "AAAAAAFbHFy/tZgLHvQ=" + }, + { + "$ref": "AAAAAAFbHFzK5piG7DA=" } ], "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEn2CFWzvuI=" - }, - "lineStyle": 1, - "points": "800:461;650:518", + "left": 0, + "top": 0, + "width": 1033, + "height": 625, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFXDcnLS7eA=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFXDc3LTJYo=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFxkJZWrwUc=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFXDc3LUne0=" - } + "wordWrap": false }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHFXJlnMP9g0=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyW9pXGlaM=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFXJlnMNtRc=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXJlnMQeXY=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyW9pXHj64=", "_parent": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, "model": { - "$ref": "AAAAAAFbHFXJlnMNtRc=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyW9pXIA24=", + "_parent": { + "$ref": "AAAAAAFbHFyW9pXHj64=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 560, + "top": 152, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyW95XJedc=", + "_parent": { + "$ref": "AAAAAAFbHFyW9pXHj64=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 637, + "top": 463, + "width": 153, + "height": 13, + "autoResize": false, + "underline": false, + "text": "bodyPartConnectorBase", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyW95XKpHI=", + "_parent": { + "$ref": "AAAAAAFbHFyW9pXHj64=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 560, + "top": 152, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyW95XL7o8=", + "_parent": { + "$ref": "AAAAAAFbHFyW9pXHj64=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 560, + "top": 152, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -23973,66 +27264,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 670, - "top": 491, - "width": 0, - "height": 13, + "left": 632, + "top": 456, + "width": 163, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXJlnMRaxg=", - "_parent": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyW9pXIA24=" }, - "model": { - "$ref": "AAAAAAFbHFXJlnMNtRc=" + "nameLabel": { + "$ref": "AAAAAAFbHFyW95XJedc=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 680, - "top": 502, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFyW95XKpHI=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFyW95XL7o8=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFXJlnMSsuU=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyW95XMewg=", "_parent": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, "model": { - "$ref": "AAAAAAFbHFXJlnMNtRc=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24041,73 +27300,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 649, - "top": 468, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFXJlnMP9g0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEnr2FTmbGs=" - }, - "lineStyle": 1, - "points": "687:461;633:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFXJlnMQeXY=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFXJlnMRaxg=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFXJlnMSsuU=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFamNnpnLb8=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFamNXplyYs=" - }, - "subViews": [ + "left": 632, + "top": 481, + "width": 163, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFamNnpokyE=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyW95XNtN4=", "_parent": { - "$ref": "AAAAAAFbHFamNnpnLb8=" + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, "model": { - "$ref": "AAAAAAFbHFamNXplyYs=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24116,32 +27324,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 374, - "top": 284, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFamNnpnLb8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 632, + "top": 491, + "width": 163, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFamNnpprvg=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyW95XO+CE=", "_parent": { - "$ref": "AAAAAAFbHFamNnpnLb8=" + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, "model": { - "$ref": "AAAAAAFbHFamNXplyYs=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24150,30 +27348,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 389, - "top": 284, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFamNnpnLb8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 288, + "top": 48, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFamNnpqQBY=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyW+JXPekA=", "_parent": { - "$ref": "AAAAAAFbHFamNnpnLb8=" + "$ref": "AAAAAAFbHFyW9pXGlaM=" }, "model": { - "$ref": "AAAAAAFbHFamNXplyYs=" + "$ref": "AAAAAAFbHFyW9ZXECgk=" }, "visible": false, "enabled": true, @@ -24184,23 +27372,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 345, - "top": 283, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFamNnpnLb8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 288, + "top": 48, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -24208,49 +27389,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnioFRCaRA=" - }, - "tail": { - "$ref": "AAAAAAFbHEntqFUPpoU=" - }, - "lineStyle": 1, - "points": "363:165;358:415", + "left": 632, + "top": 456, + "width": 163, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFamNnpokyE=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyW9pXHj64=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFamNnpprvg=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyW95XMewg=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFamNnpqQBY=" + "operationCompartment": { + "$ref": "AAAAAAFbHFyW95XNtN4=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyW95XO+CE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyW+JXPekA=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFa6T3qlSqA=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyaDpXvuYI=", "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" + "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFa6TnqjrOU=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFa6T3qmXZg=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyaDpXwCEs=", "_parent": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "model": { - "$ref": "AAAAAAFbHFa6TnqjrOU=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyaDpXxuhY=", + "_parent": { + "$ref": "AAAAAAFbHFyaDpXwCEs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 336, + "top": -504, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyaDpXySIQ=", + "_parent": { + "$ref": "AAAAAAFbHFyaDpXwCEs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 653, + "top": 159, + "width": 127, + "height": 13, + "autoResize": false, + "underline": false, + "text": "wPoseExtractor.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyaDpXzeyQ=", + "_parent": { + "$ref": "AAAAAAFbHFyaDpXwCEs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 336, + "top": -504, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyaDpX0VSw=", + "_parent": { + "$ref": "AAAAAAFbHFyaDpXwCEs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 336, + "top": -504, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24259,66 +27555,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 341, - "width": 0, - "height": 13, + "left": 648, + "top": 152, + "width": 137, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFa6T3qnYY8=", - "_parent": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyaDpXxuhY=" }, - "model": { - "$ref": "AAAAAAFbHFa6TnqjrOU=" + "nameLabel": { + "$ref": "AAAAAAFbHFyaDpXySIQ=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 236, - "top": 350, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFyaDpXzeyQ=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFyaDpX0VSw=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFa6T3qoMuc=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyaDpX1Aso=", "_parent": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "model": { - "$ref": "AAAAAAFbHFa6TnqjrOU=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24327,73 +27591,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 201, - "top": 322, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFa6T3qlSqA=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnwN1U4NBM=" - }, - "tail": { - "$ref": "AAAAAAFbHEntqFUPpoU=" - }, - "lineStyle": 1, - "points": "345:165;81:511", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFa6T3qmXZg=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFa6T3qnYY8=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFa6T3qoMuc=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHFhC6If9J/c=", - "_parent": { - "$ref": "AAAAAAFbHDfDwV2pYSY=" - }, - "model": { - "$ref": "AAAAAAFbHFhC54f7Eks=" - }, - "subViews": [ + "left": 648, + "top": 177, + "width": 137, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFhC6If+xmU=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyaDpX2nYg=", "_parent": { - "$ref": "AAAAAAFbHFhC6If9J/c=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "model": { - "$ref": "AAAAAAFbHFhC54f7Eks=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24402,32 +27615,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 497, - "top": 324, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFhC6If9J/c=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 648, + "top": 187, + "width": 137, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFhC6If/tiE=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyaDpX3s8Y=", "_parent": { - "$ref": "AAAAAAFbHFhC6If9J/c=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "model": { - "$ref": "AAAAAAFbHFhC54f7Eks=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -24436,30 +27639,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 510, - "top": 316, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHFhC6If9J/c=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 208, + "top": -288, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHFhC6IgAHIg=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyaDpX4fmk=", "_parent": { - "$ref": "AAAAAAFbHFhC6If9J/c=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "model": { - "$ref": "AAAAAAFbHFhC54f7Eks=" + "$ref": "AAAAAAFbHFyaDZXtVSk=" }, "visible": false, "enabled": true, @@ -24470,23 +27663,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 472, - "top": 339, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHFhC6If9J/c=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 208, + "top": -288, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -24494,996 +27680,1241 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHEnk4FRra2Q=" - }, - "tail": { - "$ref": "AAAAAAFbHEntqFUPpoU=" - }, - "lineStyle": 1, - "points": "377:165;594:511", + "left": 648, + "top": 152, + "width": 137, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHFhC6If+xmU=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyaDpXwCEs=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFhC6If/tiE=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyaDpX1Aso=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFhC6IgAHIg=" + "operationCompartment": { + "$ref": "AAAAAAFbHFyaDpX2nYg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyaDpX3s8Y=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyaDpX4fmk=" } - } - ] - }, - { - "_type": "UMLClassDiagram", - "_id": "AAAAAAFbHDdYEV2Qawk=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "pose", - "ownedElements": [ + }, { - "_type": "UMLPackage", - "_id": "AAAAAAFbHFxkJJWoCjs=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "name": "pose", - "ownedElements": [ - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyW9ZXECgk=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "bodyPartConnectorBase", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGLjx6FvWeI=", - "_parent": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" - }, - "source": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" - }, - "target": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGMlpKGFzvA=", - "_parent": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" - }, - "source": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" - }, - "target": { - "$ref": "AAAAAAFbHFyptZbjGLg=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyaDZXtVSk=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "wPoseExtractor.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHHCH1K22V0Q=", - "_parent": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" - }, - "source": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" - }, - "target": { - "$ref": "AAAAAAFbHG/RJqxmjag=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHD7mq+0ft0=", - "_parent": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" - }, - "source": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" - }, - "target": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyblZYWiRQ=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "wPoseRenderer.hpp", - "ownedElements": [ - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHHB2E612aDc=", - "_parent": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" - }, - "source": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" - }, - "target": { - "$ref": "AAAAAAFbHG/RJqxmjag=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHD2Aq92KiE=", - "_parent": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" - }, - "source": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" - }, - "target": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyptZbjGLg=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "poseParameters.hpp", - "ownedElements": [ - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHGw5J6MXrlI=", - "_parent": { - "$ref": "AAAAAAFbHFyptZbjGLg=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHGw5J6MYVBM=", - "_parent": { - "$ref": "AAAAAAFbHGw5J6MXrlI=" - }, - "reference": { - "$ref": "AAAAAAFbHFyptZbjGLg=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHGw5J6MZyXA=", - "_parent": { - "$ref": "AAAAAAFbHGw5J6MXrlI=" - }, - "reference": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyjIpa6NmI=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "enumClasses.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyblZYYzdE=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "subViews": [ { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyhxZaRGg0=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyblZYZdp4=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, - "name": "headers.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFytbZcMIfs=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" }, - "name": "bodyPartConnectorCaffe", - "ownedElements": [ + "subViews": [ { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGwQTKLXKW4=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyblZYa+Pg=", "_parent": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "source": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "target": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFyblZYZdp4=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -568, + "top": -504, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGwVTKL3GS0=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyblpYbqOk=", "_parent": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "source": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "target": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFyblZYZdp4=" }, - "visibility": "public" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 378, + "top": 159, + "width": 129, + "height": 13, + "autoResize": false, + "underline": false, + "text": "wPoseRenderer.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGxt3qOc9Cg=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyblpYcoGk=", "_parent": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "source": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "target": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" + "$ref": "AAAAAAFbHFyblZYZdp4=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -568, + "top": -504, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHIVkrSVUkA=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyblpYdToA=", "_parent": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHIVkrSW4DQ=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" - }, - "reference": { - "$ref": "AAAAAAFbHFytbZcMIfs=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHIVkrSXJ+E=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" - }, - "reference": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "$ref": "AAAAAAFbHFyblZYZdp4=" }, - "visibility": "public", - "isDerived": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -568, + "top": -504, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 373, + "top": 152, + "width": 139, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyblZYa+Pg=" + }, + "nameLabel": { + "$ref": "AAAAAAFbHFyblpYbqOk=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHFyblpYcoGk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFyblpYdToA=" + } }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFyvbZc1D+I=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyblpYeB4w=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, - "name": "resizeAndMergeBase", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 373, + "top": 177, + "width": 139, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFy4FZeOtro=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyblpYf788=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, - "name": "resizeAndMergeCaffe", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGnvtqGnGyg=", - "_parent": { - "$ref": "AAAAAAFbHFy4FZeOtro=" - }, - "source": { - "$ref": "AAAAAAFbHFy4FZeOtro=" - }, - "target": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" - }, - "visibility": "public" - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHIBi7QWc3M=", - "_parent": { - "$ref": "AAAAAAFbHFy4FZeOtro=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHIBi7QXMuA=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" - }, - "reference": { - "$ref": "AAAAAAFbHFy4FZeOtro=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHIBi7QYUYc=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" - }, - "reference": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 373, + "top": 187, + "width": 139, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFzELZhbldE=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyblpYgxEE=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, - "name": "poseRenderGpu", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -232, + "top": -288, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFzB0pgy9QE=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyblpYh2tI=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, - "name": "poseExtractorCaffe", - "ownedElements": [ - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHDrEq8VKcc=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHDrEq8WF48=", - "_parent": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" - }, - "reference": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHDrEq8X3Y0=", - "_parent": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" - }, - "reference": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - }, - { - "_type": "UMLGeneralization", - "_id": "AAAAAAFbHHGZKrGqXrE=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "source": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "target": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHIq0rUjTho=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "source": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "target": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" - }, - "visibility": "public" - }, + "model": { + "$ref": "AAAAAAFbHFyblZYWiRQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -232, + "top": -288, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 373, + "top": 152, + "width": 139, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyblZYZdp4=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyblpYeB4w=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFyblpYf788=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyblpYgxEE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyblpYh2tI=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyptpbluc8=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFypt5bm7YA=", + "_parent": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "subViews": [ { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHIvkrWOA8M=", + "_type": "LabelView", + "_id": "AAAAAAFbHFypt5bnhj8=", "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "source": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "target": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHFypt5bm7YA=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -496, + "top": 24, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHI0w7X5fe0=", + "_type": "LabelView", + "_id": "AAAAAAFbHFypt5boQvY=", "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "source": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "target": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHFypt5bm7YA=" }, - "visibility": "public" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 717, + "top": 567, + "width": 131, + "height": 13, + "autoResize": false, + "underline": false, + "text": "poseParameters.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHKsO71y8uU=", + "_type": "LabelView", + "_id": "AAAAAAFbHFypt5bp3gk=", "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHKsO71zxWo=", - "_parent": { - "$ref": "AAAAAAFbHHKsO71y8uU=" - }, - "reference": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHKsO710h4k=", - "_parent": { - "$ref": "AAAAAAFbHHKsO71y8uU=" - }, - "reference": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "$ref": "AAAAAAFbHFypt5bm7YA=" }, - "visibility": "public", - "isDerived": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -496, + "top": 24, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHTZc8YMcWg=", + "_type": "LabelView", + "_id": "AAAAAAFbHFypt5bqBOw=", "_parent": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "source": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "target": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHFypt5bm7YA=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -496, + "top": 24, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 712, + "top": 560, + "width": 141, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFypt5bnhj8=" + }, + "nameLabel": { + "$ref": "AAAAAAFbHFypt5boQvY=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHFypt5bp3gk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFypt5bqBOw=" + } }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFy/tZgJmKs=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFypt5bra6Q=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyptpbluc8=" }, - "name": "poseRenderer", - "ownedElements": [ + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 712, + "top": 585, + "width": 141, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFypt5bsGF8=", + "_parent": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 712, + "top": 595, + "width": 141, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFypuJbtp1Y=", + "_parent": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -504, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFypuJbu7BE=", + "_parent": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "model": { + "$ref": "AAAAAAFbHFyptZbjGLg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -504, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 712, + "top": 560, + "width": 141, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFypt5bm7YA=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFypt5bra6Q=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFypt5bsGF8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFypuJbtp1Y=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFypuJbu7BE=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyjI5a8Kvc=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyjI5a9GDw=", + "_parent": { + "$ref": "AAAAAAFbHFyjI5a8Kvc=" + }, + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "subViews": [ { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHDZ/K7DPvI=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyjI5a+Amg=", "_parent": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHDZ/K7EAnY=", - "_parent": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" - }, - "reference": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHDZ/K7FK4E=", - "_parent": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" - }, - "reference": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "$ref": "AAAAAAFbHFyjI5a9GDw=" }, - "visibility": "public", - "isDerived": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": 128, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHK6E74POAA=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyjI5a/XRk=", "_parent": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "source": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "target": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHFyjI5a9GDw=" }, - "visibility": "public" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 877, + "top": 567, + "width": 111, + "height": 13, + "autoResize": false, + "underline": false, + "text": "enumClasses.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHHSf7MWSFj4=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "source": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" - }, - "target": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbHFzK5ZiEMoA=", - "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" - }, - "name": "poseExtractor", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGqxTKG5wjw=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyjI5bA0nY=", "_parent": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "source": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "target": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFyjI5a9GDw=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": 128, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGrME6HKk7E=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyjI5bBIDk=", "_parent": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "source": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "target": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHFyjI5a9GDw=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": 128, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 872, + "top": 560, + "width": 121, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyjI5a+Amg=" + }, + "nameLabel": { + "$ref": "AAAAAAFbHFyjI5a/XRk=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHFyjI5bA0nY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFyjI5bBIDk=" + } }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFy7rZe3LU0=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyjI5bC5g8=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyjI5a8Kvc=" }, - "name": "nmsBase", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 872, + "top": 585, + "width": 121, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHFy95Zfg+a8=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyjI5bDMpo=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFyjI5a8Kvc=" }, - "name": "nmsCaffe", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbHGnq5qGWd3A=", - "_parent": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" - }, - "source": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" - }, - "target": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" - }, - "visibility": "public" - }, - { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHHH8ArOmRco=", - "_parent": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" - }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHH8ArOnTL8=", - "_parent": { - "$ref": "AAAAAAFbHHH8ArOmRco=" - }, - "reference": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHHH8ArOo1Sw=", - "_parent": { - "$ref": "AAAAAAFbHHH8ArOmRco=" - }, - "reference": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false - }, - "visibility": "public", - "isDerived": false - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 872, + "top": 595, + "width": 121, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyjI5bEt24=", + "_parent": { + "$ref": "AAAAAAFbHFyjI5a8Kvc=" + }, + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 80, + "top": 56, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyjI5bFW0Q=", + "_parent": { + "$ref": "AAAAAAFbHFyjI5a8Kvc=" + }, + "model": { + "$ref": "AAAAAAFbHFyjIpa6NmI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 80, + "top": 56, + "width": 10, + "height": 10, + "autoResize": false } ], - "visibility": "public" + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 872, + "top": 560, + "width": 121, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyjI5a9GDw=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyjI5bC5g8=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFyjI5bDMpo=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyjI5bEt24=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyjI5bFW0Q=" + } }, { - "_type": "UMLPackage", - "_id": "AAAAAAFbHGJipqEm58o=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyhxZaTi+g=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, - "name": "core", - "ownedElements": [ + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "subViews": [ { - "_type": "UMLClass", - "_id": "AAAAAAFbHGJ4XKFAf+Y=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyhxZaUYZM=", "_parent": { - "$ref": "AAAAAAFbHGJipqEm58o=" + "$ref": "AAAAAAFbHFyhxZaTi+g=" }, - "name": "array.hpp", - "ownedElements": [ + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "subViews": [ { - "_type": "UMLAssociation", - "_id": "AAAAAAFbHGrWHKHbh/M=", + "_type": "LabelView", + "_id": "AAAAAAFbHFyhxZaVJ84=", "_parent": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHFyhxZaUYZM=" }, - "end1": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHGrWHKHcSME=", - "_parent": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" - }, - "reference": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "none", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -936, + "top": -864, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyhxZaWako=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaUYZM=" }, - "end2": { - "_type": "UMLAssociationEnd", - "_id": "AAAAAAFbHGrWHKHd2lk=", - "_parent": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" - }, - "reference": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "visibility": "public", - "navigable": true, - "aggregation": "composite", - "isReadOnly": false, - "isOrdered": false, - "isUnique": false, - "isDerived": false, - "isID": false + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 77, + "top": 95, + "width": 79, + "height": 13, + "autoResize": false, + "underline": false, + "text": "headers.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyhxpaXwQE=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaUYZM=" }, - "visibility": "public", - "isDerived": false + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -936, + "top": -864, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyhxpaYN0M=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaUYZM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -936, + "top": -864, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - } - ], - "visibility": "public" - }, - { - "_type": "UMLPackage", - "_id": "AAAAAAFbHG/kZKylPT8=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "name": "thread", - "ownedElements": [ + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 72, + "top": 88, + "width": 89, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyhxZaVJ84=" + }, + "nameLabel": { + "$ref": "AAAAAAFbHFyhxZaWako=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHFyhxpaXwQE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFyhxpaYN0M=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyhxpaZ9ug=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaTi+g=" + }, + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 72, + "top": 113, + "width": 89, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyhxpaaNVI=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaTi+g=" + }, + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 72, + "top": 123, + "width": 89, + "height": 10, + "autoResize": false + }, { - "_type": "UMLClass", - "_id": "AAAAAAFbHG/RJqxmjag=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyhxpabYMc=", "_parent": { - "$ref": "AAAAAAFbHG/kZKylPT8=" + "$ref": "AAAAAAFbHFyhxZaTi+g=" }, - "name": "worker.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -496, + "top": -448, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyhxpacmW4=", + "_parent": { + "$ref": "AAAAAAFbHFyhxZaTi+g=" + }, + "model": { + "$ref": "AAAAAAFbHFyhxZaRGg0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -496, + "top": -448, + "width": 10, + "height": 10, + "autoResize": false } ], - "visibility": "public" - } - ], - "visible": true, - "defaultDiagram": false, - "ownedViews": [ + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 72, + "top": 88, + "width": 89, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyhxZaUYZM=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyhxpaZ9ug=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFyhxpaaNVI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyhxpabYMc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyhxpacmW4=" + } + }, { - "_type": "UMLPackageView", - "_id": "AAAAAAFbHFxkJJWqH+E=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFytbpcOd/U=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFytbZcMIfs=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFxkJZWrwUc=", + "_id": "AAAAAAFbHFytbpcPX8s=", "_parent": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" + "$ref": "AAAAAAFbHFytbpcOd/U=" }, "model": { - "$ref": "AAAAAAFbHFxkJJWoCjs=" + "$ref": "AAAAAAFbHFytbZcMIfs=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFxkJZWsAEM=", + "_id": "AAAAAAFbHFytbpcQXNs=", "_parent": { - "$ref": "AAAAAAFbHFxkJZWrwUc=" + "$ref": "AAAAAAFbHFytbpcPX8s=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -400, - "top": -304, + "left": 752, + "top": -624, "width": 0, "height": 13, "autoResize": false, @@ -25494,47 +28925,47 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFxkJ5WtH/8=", + "_id": "AAAAAAFbHFytbpcRAmU=", "_parent": { - "$ref": "AAAAAAFbHFxkJZWrwUc=" + "$ref": "AAAAAAFbHFytbpcPX8s=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 5, - "top": 22, - "width": 1023, + "left": 741, + "top": 367, + "width": 155, "height": 13, "autoResize": false, "underline": false, - "text": "pose", + "text": "bodyPartConnectorCaffe", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFxkJ5WuAo4=", + "_id": "AAAAAAFbHFytbpcS4Xg=", "_parent": { - "$ref": "AAAAAAFbHFxkJZWrwUc=" + "$ref": "AAAAAAFbHFytbpcPX8s=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -400, - "top": -304, + "left": 752, + "top": -624, "width": 72, "height": 13, "autoResize": false, @@ -25546,21 +28977,21 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFxkJ5WvYrw=", + "_id": "AAAAAAFbHFytbpcT5Us=", "_parent": { - "$ref": "AAAAAAFbHFxkJZWrwUc=" + "$ref": "AAAAAAFbHFytbpcPX8s=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -400, - "top": -304, + "left": 752, + "top": -624, "width": 0, "height": 13, "autoResize": false, @@ -25573,91 +29004,143 @@ "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": 15, - "width": 1033, + "left": 736, + "top": 360, + "width": 165, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFxkJZWsAEM=" + "$ref": "AAAAAAFbHFytbpcQXNs=" }, "nameLabel": { - "$ref": "AAAAAAFbHFxkJ5WtH/8=" + "$ref": "AAAAAAFbHFytbpcRAmU=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFxkJ5WuAo4=" + "$ref": "AAAAAAFbHFytbpcS4Xg=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFxkJ5WvYrw=" + "$ref": "AAAAAAFbHFytbpcT5Us=" } - } - ], - "containedViews": [ - { - "$ref": "AAAAAAFbHFyW9pXGlaM=" - }, - { - "$ref": "AAAAAAFbHFyaDpXvuYI=" - }, - { - "$ref": "AAAAAAFbHFyblZYYzdE=" - }, - { - "$ref": "AAAAAAFbHFyptpbluc8=" - }, - { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - { - "$ref": "AAAAAAFbHFyhxZaTi+g=" - }, - { - "$ref": "AAAAAAFbHFytbpcOd/U=" - }, - { - "$ref": "AAAAAAFbHFyvbZc3RwA=" - }, - { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" - }, - { - "$ref": "AAAAAAFbHFzELphdmCE=" - }, - { - "$ref": "AAAAAAFbHFzB0pg0a44=" }, { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFytbpcU1BI=", + "_parent": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "model": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 736, + "top": 385, + "width": 165, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFytbpcV3u8=", + "_parent": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "model": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 736, + "top": 395, + "width": 165, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFytbpcWeGU=", + "_parent": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "model": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 416, + "top": -336, + "width": 10, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFytb5cXWA4=", + "_parent": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "model": { + "$ref": "AAAAAAFbHFytbZcMIfs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 416, + "top": -336, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHFxkJJWqH+E=" + }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 0, - "top": 0, - "width": 1033, - "height": 625, + "left": 736, + "top": 360, + "width": 165, + "height": 45, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -25665,35 +29148,52 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFxkJZWrwUc=" + "$ref": "AAAAAAFbHFytbpcPX8s=" }, - "wordWrap": false + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFytbpcU1BI=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFytbpcV3u8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFytbpcWeGU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFytb5cXWA4=" + } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFyW9pXGlaM=", + "_id": "AAAAAAFbHFzELphdmCE=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyW9pXHj64=", + "_id": "AAAAAAFbHFzELpheFqI=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" + "$ref": "AAAAAAFbHFzELphdmCE=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFyW9pXIA24=", + "_id": "AAAAAAFbHFzELphfvaU=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXHj64=" + "$ref": "AAAAAAFbHFzELpheFqI=" }, "visible": false, "enabled": true, @@ -25704,8 +29204,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 560, - "top": 152, + "left": -984, + "top": -248, "width": 0, "height": 13, "autoResize": false, @@ -25716,9 +29216,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyW95XJedc=", + "_id": "AAAAAAFbHFzELphgEv8=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXHj64=" + "$ref": "AAAAAAFbHFzELpheFqI=" }, "visible": true, "enabled": true, @@ -25729,22 +29229,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 637, - "top": 463, - "width": 153, + "left": 525, + "top": 567, + "width": 147, "height": 13, "autoResize": false, "underline": false, - "text": "bodyPartConnectorBase", + "text": "renderPose", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyW95XKpHI=", + "_id": "AAAAAAFbHFzELphhOIY=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXHj64=" + "$ref": "AAAAAAFbHFzELpheFqI=" }, "visible": false, "enabled": true, @@ -25755,8 +29255,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 560, - "top": 152, + "left": -984, + "top": -248, "width": 72, "height": 13, "autoResize": false, @@ -25768,9 +29268,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyW95XL7o8=", + "_id": "AAAAAAFbHFzEL5hiHSo=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXHj64=" + "$ref": "AAAAAAFbHFzELpheFqI=" }, "visible": false, "enabled": true, @@ -25781,8 +29281,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 560, - "top": 152, + "left": -984, + "top": -248, "width": 0, "height": 13, "autoResize": false, @@ -25801,32 +29301,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 632, - "top": 456, - "width": 163, + "left": 520, + "top": 560, + "width": 157, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFyW9pXIA24=" + "$ref": "AAAAAAFbHFzELphfvaU=" }, "nameLabel": { - "$ref": "AAAAAAFbHFyW95XJedc=" + "$ref": "AAAAAAFbHFzELphgEv8=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFyW95XKpHI=" + "$ref": "AAAAAAFbHFzELphhOIY=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFyW95XL7o8=" + "$ref": "AAAAAAFbHFzEL5hiHSo=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyW95XMewg=", + "_id": "AAAAAAFbHFzEL5hj/mI=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" + "$ref": "AAAAAAFbHFzELphdmCE=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "visible": true, "enabled": true, @@ -25837,20 +29337,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 632, - "top": 481, - "width": 163, + "left": 520, + "top": 585, + "width": 157, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyW95XNtN4=", + "_id": "AAAAAAFbHFzEL5hko7w=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" + "$ref": "AAAAAAFbHFzELphdmCE=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "visible": true, "enabled": true, @@ -25861,20 +29361,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 632, - "top": 491, - "width": 163, + "left": 520, + "top": 595, + "width": 157, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyW95XO+CE=", + "_id": "AAAAAAFbHFzEL5hlMOA=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" + "$ref": "AAAAAAFbHFzELphdmCE=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "visible": false, "enabled": true, @@ -25885,20 +29385,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 288, - "top": 48, + "left": -240, + "top": -240, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyW+JXPekA=", + "_id": "AAAAAAFbHFzEL5hmQ8c=", "_parent": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" + "$ref": "AAAAAAFbHFzELphdmCE=" }, "model": { - "$ref": "AAAAAAFbHFyW9ZXECgk=" + "$ref": "AAAAAAFbHFzELZhbldE=" }, "visible": false, "enabled": true, @@ -25909,8 +29409,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 288, - "top": 48, + "left": -240, + "top": -240, "width": 10, "height": 10, "autoResize": false @@ -25928,9 +29428,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 632, - "top": 456, - "width": 163, + "left": 520, + "top": 560, + "width": 157, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -25939,7 +29439,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFyW9pXHj64=" + "$ref": "AAAAAAFbHFzELpheFqI=" }, "wordWrap": false, "suppressAttributes": false, @@ -25948,43 +29448,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFyW95XMewg=" + "$ref": "AAAAAAFbHFzEL5hj/mI=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFyW95XNtN4=" + "$ref": "AAAAAAFbHFzEL5hko7w=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFyW95XO+CE=" + "$ref": "AAAAAAFbHFzEL5hlMOA=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyW+JXPekA=" + "$ref": "AAAAAAFbHFzEL5hmQ8c=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFyaDpXvuYI=", + "_id": "AAAAAAFbHFzB0pg0a44=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyaDpXwCEs=", + "_id": "AAAAAAFbHFzB0pg1+dg=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFyaDpXxuhY=", + "_id": "AAAAAAFbHFzB05g2u1A=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXwCEs=" + "$ref": "AAAAAAFbHFzB0pg1+dg=" }, "visible": false, "enabled": true, @@ -25995,8 +29495,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 336, - "top": -504, + "left": -1712, + "top": -1040, "width": 0, "height": 13, "autoResize": false, @@ -26007,9 +29507,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyaDpXySIQ=", + "_id": "AAAAAAFbHFzB05g3rcg=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXwCEs=" + "$ref": "AAAAAAFbHFzB0pg1+dg=" }, "visible": true, "enabled": true, @@ -26020,22 +29520,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 653, - "top": 159, - "width": 127, + "left": 133, + "top": 327, + "width": 120, "height": 13, "autoResize": false, "underline": false, - "text": "wPoseExtractor.hpp", + "text": "poseExtractorCaffe", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyaDpXzeyQ=", + "_id": "AAAAAAFbHFzB05g4+VU=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXwCEs=" + "$ref": "AAAAAAFbHFzB0pg1+dg=" }, "visible": false, "enabled": true, @@ -26046,8 +29546,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 336, - "top": -504, + "left": -1712, + "top": -1040, "width": 72, "height": 13, "autoResize": false, @@ -26059,9 +29559,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyaDpX0VSw=", + "_id": "AAAAAAFbHFzB05g5atM=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXwCEs=" + "$ref": "AAAAAAFbHFzB0pg1+dg=" }, "visible": false, "enabled": true, @@ -26072,8 +29572,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 336, - "top": -504, + "left": -1712, + "top": -1040, "width": 0, "height": 13, "autoResize": false, @@ -26092,32 +29592,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 648, - "top": 152, - "width": 137, + "left": 128, + "top": 320, + "width": 130, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFyaDpXxuhY=" + "$ref": "AAAAAAFbHFzB05g2u1A=" }, "nameLabel": { - "$ref": "AAAAAAFbHFyaDpXySIQ=" + "$ref": "AAAAAAFbHFzB05g3rcg=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFyaDpXzeyQ=" + "$ref": "AAAAAAFbHFzB05g4+VU=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFyaDpX0VSw=" + "$ref": "AAAAAAFbHFzB05g5atM=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyaDpX1Aso=", + "_id": "AAAAAAFbHFzB05g6+M8=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "visible": true, "enabled": true, @@ -26128,20 +29628,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 648, - "top": 177, - "width": 137, + "left": 128, + "top": 345, + "width": 130, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyaDpX2nYg=", + "_id": "AAAAAAFbHFzB05g7NxU=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "visible": true, "enabled": true, @@ -26152,20 +29652,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 648, - "top": 187, - "width": 137, + "left": 128, + "top": 355, + "width": 130, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyaDpX3s8Y=", + "_id": "AAAAAAFbHFzB05g8emo=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "visible": false, "enabled": true, @@ -26176,20 +29676,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 208, - "top": -288, + "left": -880, + "top": -560, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyaDpX4fmk=", + "_id": "AAAAAAFbHFzB05g9l4g=", "_parent": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "model": { - "$ref": "AAAAAAFbHFyaDZXtVSk=" + "$ref": "AAAAAAFbHFzB0pgy9QE=" }, "visible": false, "enabled": true, @@ -26200,8 +29700,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 208, - "top": -288, + "left": -880, + "top": -560, "width": 10, "height": 10, "autoResize": false @@ -26219,9 +29719,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 648, - "top": 152, - "width": 137, + "left": 128, + "top": 320, + "width": 130, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -26230,7 +29730,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFyaDpXwCEs=" + "$ref": "AAAAAAFbHFzB0pg1+dg=" }, "wordWrap": false, "suppressAttributes": false, @@ -26239,43 +29739,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFyaDpX1Aso=" + "$ref": "AAAAAAFbHFzB05g6+M8=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFyaDpX2nYg=" + "$ref": "AAAAAAFbHFzB05g7NxU=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFyaDpX3s8Y=" + "$ref": "AAAAAAFbHFzB05g8emo=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyaDpX4fmk=" + "$ref": "AAAAAAFbHFzB05g9l4g=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFyblZYYzdE=", + "_id": "AAAAAAFbHFy/tZgLHvQ=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyblZYZdp4=", + "_id": "AAAAAAFbHFy/tZgM8Sw=", "_parent": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFyblZYa+Pg=", + "_id": "AAAAAAFbHFy/tZgN0qE=", "_parent": { - "$ref": "AAAAAAFbHFyblZYZdp4=" + "$ref": "AAAAAAFbHFy/tZgM8Sw=" }, "visible": false, "enabled": true, @@ -26286,8 +29786,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -568, - "top": -504, + "left": -1248, + "top": -1192, "width": 0, "height": 13, "autoResize": false, @@ -26298,9 +29798,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyblpYbqOk=", + "_id": "AAAAAAFbHFy/tpgOw7k=", "_parent": { - "$ref": "AAAAAAFbHFyblZYZdp4=" + "$ref": "AAAAAAFbHFy/tZgM8Sw=" }, "visible": true, "enabled": true, @@ -26311,22 +29811,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 378, - "top": 159, - "width": 129, + "left": 250, + "top": 255, + "width": 89, "height": 13, "autoResize": false, "underline": false, - "text": "wPoseRenderer.hpp", + "text": "poseRenderer", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyblpYcoGk=", + "_id": "AAAAAAFbHFy/tpgP1VA=", "_parent": { - "$ref": "AAAAAAFbHFyblZYZdp4=" + "$ref": "AAAAAAFbHFy/tZgM8Sw=" }, "visible": false, "enabled": true, @@ -26337,8 +29837,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -568, - "top": -504, + "left": -1248, + "top": -1192, "width": 72, "height": 13, "autoResize": false, @@ -26350,9 +29850,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyblpYdToA=", + "_id": "AAAAAAFbHFy/tpgQIKk=", "_parent": { - "$ref": "AAAAAAFbHFyblZYZdp4=" + "$ref": "AAAAAAFbHFy/tZgM8Sw=" }, "visible": false, "enabled": true, @@ -26363,8 +29863,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -568, - "top": -504, + "left": -1248, + "top": -1192, "width": 0, "height": 13, "autoResize": false, @@ -26383,32 +29883,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 373, - "top": 152, - "width": 139, + "left": 245, + "top": 248, + "width": 99, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFyblZYa+Pg=" + "$ref": "AAAAAAFbHFy/tZgN0qE=" }, "nameLabel": { - "$ref": "AAAAAAFbHFyblpYbqOk=" + "$ref": "AAAAAAFbHFy/tpgOw7k=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFyblpYcoGk=" + "$ref": "AAAAAAFbHFy/tpgP1VA=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFyblpYdToA=" + "$ref": "AAAAAAFbHFy/tpgQIKk=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyblpYeB4w=", + "_id": "AAAAAAFbHFy/tpgRD3I=", "_parent": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "visible": true, "enabled": true, @@ -26419,20 +29919,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 373, - "top": 177, - "width": 139, + "left": 245, + "top": 273, + "width": 99, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyblpYf788=", + "_id": "AAAAAAFbHFy/tpgSS8U=", "_parent": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "visible": true, "enabled": true, @@ -26443,20 +29943,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 373, - "top": 187, - "width": 139, + "left": 245, + "top": 283, + "width": 99, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyblpYgxEE=", + "_id": "AAAAAAFbHFy/tpgT52s=", "_parent": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "visible": false, "enabled": true, @@ -26467,20 +29967,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -232, - "top": -288, + "left": -632, + "top": -640, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyblpYh2tI=", + "_id": "AAAAAAFbHFy/tpgUfCU=", "_parent": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "model": { - "$ref": "AAAAAAFbHFyblZYWiRQ=" + "$ref": "AAAAAAFbHFy/tZgJmKs=" }, "visible": false, "enabled": true, @@ -26491,8 +29991,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -232, - "top": -288, + "left": -632, + "top": -640, "width": 10, "height": 10, "autoResize": false @@ -26510,9 +30010,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 373, - "top": 152, - "width": 139, + "left": 245, + "top": 248, + "width": 99, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -26521,7 +30021,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFyblZYZdp4=" + "$ref": "AAAAAAFbHFy/tZgM8Sw=" }, "wordWrap": false, "suppressAttributes": false, @@ -26530,43 +30030,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFyblpYeB4w=" + "$ref": "AAAAAAFbHFy/tpgRD3I=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFyblpYf788=" + "$ref": "AAAAAAFbHFy/tpgSS8U=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFyblpYgxEE=" + "$ref": "AAAAAAFbHFy/tpgT52s=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyblpYh2tI=" + "$ref": "AAAAAAFbHFy/tpgUfCU=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFyptpbluc8=", + "_id": "AAAAAAFbHFzK5piG7DA=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFypt5bm7YA=", + "_id": "AAAAAAFbHFzK5piHWYU=", "_parent": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFypt5bnhj8=", + "_id": "AAAAAAFbHFzK5piImrY=", "_parent": { - "$ref": "AAAAAAFbHFypt5bm7YA=" + "$ref": "AAAAAAFbHFzK5piHWYU=" }, "visible": false, "enabled": true, @@ -26577,8 +30077,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -496, - "top": 24, + "left": -856, + "top": -568, "width": 0, "height": 13, "autoResize": false, @@ -26589,9 +30089,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFypt5boQvY=", + "_id": "AAAAAAFbHFzK5piJse4=", "_parent": { - "$ref": "AAAAAAFbHFypt5bm7YA=" + "$ref": "AAAAAAFbHFzK5piHWYU=" }, "visible": true, "enabled": true, @@ -26602,22 +30102,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 717, - "top": 567, - "width": 131, + "left": 426, + "top": 463, + "width": 87, "height": 13, "autoResize": false, "underline": false, - "text": "poseParameters.hpp", + "text": "poseExtractor", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFypt5bp3gk=", + "_id": "AAAAAAFbHFzK5piKVAg=", "_parent": { - "$ref": "AAAAAAFbHFypt5bm7YA=" + "$ref": "AAAAAAFbHFzK5piHWYU=" }, "visible": false, "enabled": true, @@ -26628,8 +30128,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -496, - "top": 24, + "left": -856, + "top": -568, "width": 72, "height": 13, "autoResize": false, @@ -26641,9 +30141,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFypt5bqBOw=", + "_id": "AAAAAAFbHFzK5piLYAw=", "_parent": { - "$ref": "AAAAAAFbHFypt5bm7YA=" + "$ref": "AAAAAAFbHFzK5piHWYU=" }, "visible": false, "enabled": true, @@ -26654,8 +30154,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -496, - "top": 24, + "left": -856, + "top": -568, "width": 0, "height": 13, "autoResize": false, @@ -26674,32 +30174,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 712, - "top": 560, - "width": 141, + "left": 421, + "top": 456, + "width": 97, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFypt5bnhj8=" + "$ref": "AAAAAAFbHFzK5piImrY=" }, "nameLabel": { - "$ref": "AAAAAAFbHFypt5boQvY=" + "$ref": "AAAAAAFbHFzK5piJse4=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFypt5bp3gk=" + "$ref": "AAAAAAFbHFzK5piKVAg=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFypt5bqBOw=" + "$ref": "AAAAAAFbHFzK5piLYAw=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFypt5bra6Q=", + "_id": "AAAAAAFbHFzK55iMy7I=", "_parent": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "visible": true, "enabled": true, @@ -26710,20 +30210,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 712, - "top": 585, - "width": 141, + "left": 421, + "top": 481, + "width": 97, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFypt5bsGF8=", + "_id": "AAAAAAFbHFzK55iN7WY=", "_parent": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "visible": true, "enabled": true, @@ -26734,20 +30234,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 712, - "top": 595, - "width": 141, + "left": 421, + "top": 491, + "width": 97, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFypuJbtp1Y=", + "_id": "AAAAAAFbHFzK55iOXTg=", "_parent": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "visible": false, "enabled": true, @@ -26758,20 +30258,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -504, - "top": 0, + "left": -696, + "top": -296, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFypuJbu7BE=", + "_id": "AAAAAAFbHFzK55iPcVc=", "_parent": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "model": { - "$ref": "AAAAAAFbHFyptZbjGLg=" + "$ref": "AAAAAAFbHFzK5ZiEMoA=" }, "visible": false, "enabled": true, @@ -26782,8 +30282,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -504, - "top": 0, + "left": -696, + "top": -296, "width": 10, "height": 10, "autoResize": false @@ -26801,9 +30301,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 712, - "top": 560, - "width": 141, + "left": 421, + "top": 456, + "width": 97, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -26812,7 +30312,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFypt5bm7YA=" + "$ref": "AAAAAAFbHFzK5piHWYU=" }, "wordWrap": false, "suppressAttributes": false, @@ -26821,55 +30321,55 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFypt5bra6Q=" + "$ref": "AAAAAAFbHFzK55iMy7I=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFypt5bsGF8=" + "$ref": "AAAAAAFbHFzK55iN7WY=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFypuJbtp1Y=" + "$ref": "AAAAAAFbHFzK55iOXTg=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFypuJbu7BE=" + "$ref": "AAAAAAFbHFzK55iPcVc=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFyjI5a8Kvc=", + "_type": "UMLPackageView", + "_id": "AAAAAAFbHGJip6EoNT0=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyjI5a9GDw=", + "_id": "AAAAAAFbHGJiqKEpUGs=", "_parent": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" + "$ref": "AAAAAAFbHGJip6EoNT0=" }, "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFyjI5a+Amg=", + "_id": "AAAAAAFbHGJiqKEq9GM=", "_parent": { - "$ref": "AAAAAAFbHFyjI5a9GDw=" + "$ref": "AAAAAAFbHGJiqKEpUGs=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 128, + "left": 384, + "top": -448, "width": 0, "height": 13, "autoResize": false, @@ -26880,47 +30380,47 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyjI5a/XRk=", + "_id": "AAAAAAFbHGJiqKErHZE=", "_parent": { - "$ref": "AAAAAAFbHFyjI5a9GDw=" + "$ref": "AAAAAAFbHGJiqKEpUGs=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 877, - "top": 567, - "width": 111, + "left": 141, + "top": 710, + "width": 655, "height": 13, "autoResize": false, "underline": false, - "text": "enumClasses.hpp", + "text": "core", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyjI5bA0nY=", + "_id": "AAAAAAFbHGJiqKEso2w=", "_parent": { - "$ref": "AAAAAAFbHFyjI5a9GDw=" + "$ref": "AAAAAAFbHGJiqKEpUGs=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 128, + "left": 384, + "top": -448, "width": 72, "height": 13, "autoResize": false, @@ -26932,21 +30432,21 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyjI5bBIDk=", + "_id": "AAAAAAFbHGJiqKEtkgk=", "_parent": { - "$ref": "AAAAAAFbHFyjI5a9GDw=" + "$ref": "AAAAAAFbHGJiqKEpUGs=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 128, + "left": 384, + "top": -448, "width": 0, "height": 13, "autoResize": false, @@ -26959,143 +30459,64 @@ "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 872, - "top": 560, - "width": 121, + "left": 136, + "top": 703, + "width": 665, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFyjI5a+Amg=" + "$ref": "AAAAAAFbHGJiqKEq9GM=" }, "nameLabel": { - "$ref": "AAAAAAFbHFyjI5a/XRk=" + "$ref": "AAAAAAFbHGJiqKErHZE=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFyjI5bA0nY=" + "$ref": "AAAAAAFbHGJiqKEso2w=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFyjI5bBIDk=" + "$ref": "AAAAAAFbHGJiqKEtkgk=" } + } + ], + "containedViews": [ + { + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyjI5bC5g8=", - "_parent": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 872, - "top": 585, - "width": 121, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFcswZnYipVtjM=" }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyjI5bDMpo=", - "_parent": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 872, - "top": 595, - "width": 121, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyjI5bEt24=", - "_parent": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 80, - "top": 56, - "width": 10, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyjI5bFW0Q=", - "_parent": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - "model": { - "$ref": "AAAAAAFbHFyjIpa6NmI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 80, - "top": 56, - "width": 10, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHFy7rZe5yb0=" + }, + { + "$ref": "AAAAAAFbHFy95Zfi54c=" } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 872, - "top": 560, - "width": 121, - "height": 45, + "left": 136, + "top": 688, + "width": 665, + "height": 160, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -27103,52 +30524,35 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFyjI5a9GDw=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFyjI5bC5g8=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFyjI5bDMpo=" - }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFyjI5bEt24=" + "$ref": "AAAAAAFbHGJiqKEpUGs=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyjI5bFW0Q=" - } + "wordWrap": false }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFyhxZaTi+g=", + "_id": "AAAAAAFbHGJ4XaFCtvY=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyhxZaUYZM=", + "_id": "AAAAAAFbHGJ4XaFD3us=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaTi+g=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFyhxZaVJ84=", + "_id": "AAAAAAFbHGJ4XqFEmic=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaUYZM=" + "$ref": "AAAAAAFbHGJ4XaFD3us=" }, "visible": false, "enabled": true, @@ -27159,8 +30563,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -936, - "top": -864, + "left": 272, + "top": -384, "width": 0, "height": 13, "autoResize": false, @@ -27171,9 +30575,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyhxZaWako=", + "_id": "AAAAAAFbHGJ4XqFFD/Y=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaUYZM=" + "$ref": "AAAAAAFbHGJ4XaFD3us=" }, "visible": true, "enabled": true, @@ -27184,22 +30588,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 77, - "top": 95, - "width": 79, + "left": 557, + "top": 775, + "width": 61, "height": 13, "autoResize": false, "underline": false, - "text": "headers.hpp", + "text": "array.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyhxpaXwQE=", + "_id": "AAAAAAFbHGJ4XqFGd2A=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaUYZM=" + "$ref": "AAAAAAFbHGJ4XaFD3us=" }, "visible": false, "enabled": true, @@ -27210,22 +30614,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -936, - "top": -864, + "left": 272, + "top": -384, "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "(from pose)", + "text": "(from core)", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFyhxpaYN0M=", + "_id": "AAAAAAFbHGJ4XqFHybI=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaUYZM=" + "$ref": "AAAAAAFbHGJ4XaFD3us=" }, "visible": false, "enabled": true, @@ -27236,8 +30640,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -936, - "top": -864, + "left": 272, + "top": -384, "width": 0, "height": 13, "autoResize": false, @@ -27256,32 +30660,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 72, - "top": 88, - "width": 89, + "left": 552, + "top": 768, + "width": 71, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFyhxZaVJ84=" + "$ref": "AAAAAAFbHGJ4XqFEmic=" }, "nameLabel": { - "$ref": "AAAAAAFbHFyhxZaWako=" + "$ref": "AAAAAAFbHGJ4XqFFD/Y=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFyhxpaXwQE=" + "$ref": "AAAAAAFbHGJ4XqFGd2A=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFyhxpaYN0M=" + "$ref": "AAAAAAFbHGJ4XqFHybI=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyhxpaZ9ug=", + "_id": "AAAAAAFbHGJ4XqFIVZg=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaTi+g=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "visible": true, "enabled": true, @@ -27292,20 +30696,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 72, - "top": 113, - "width": 89, + "left": 552, + "top": 793, + "width": 71, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyhxpaaNVI=", + "_id": "AAAAAAFbHGJ4XqFJEe0=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaTi+g=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "visible": true, "enabled": true, @@ -27316,20 +30720,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 72, - "top": 123, - "width": 89, + "left": 552, + "top": 803, + "width": 71, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyhxpabYMc=", + "_id": "AAAAAAFbHGJ4X6FKx4o=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaTi+g=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "visible": false, "enabled": true, @@ -27340,20 +30744,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -496, - "top": -448, + "left": 72, + "top": -184, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyhxpacmW4=", + "_id": "AAAAAAFbHGJ4X6FLYgE=", "_parent": { - "$ref": "AAAAAAFbHFyhxZaTi+g=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "model": { - "$ref": "AAAAAAFbHFyhxZaRGg0=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "visible": false, "enabled": true, @@ -27364,15 +30768,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -496, - "top": -448, + "left": 72, + "top": -184, "width": 10, "height": 10, "autoResize": false } ], "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" + "$ref": "AAAAAAFbHGJip6EoNT0=" }, "visible": true, "enabled": true, @@ -27383,9 +30787,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 72, - "top": 88, - "width": 89, + "left": 552, + "top": 768, + "width": 71, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -27394,7 +30798,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFyhxZaUYZM=" + "$ref": "AAAAAAFbHGJ4XaFD3us=" }, "wordWrap": false, "suppressAttributes": false, @@ -27403,142 +30807,324 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFyhxpaZ9ug=" + "$ref": "AAAAAAFbHGJ4XqFIVZg=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFyhxpaaNVI=" + "$ref": "AAAAAAFbHGJ4XqFJEe0=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFyhxpabYMc=" + "$ref": "AAAAAAFbHGJ4X6FKx4o=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyhxpacmW4=" + "$ref": "AAAAAAFbHGJ4X6FLYgE=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFytbpcOd/U=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGLjx6Fxl7k=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGLjx6FvWeI=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFytbpcPX8s=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGLjyKFyffk=", "_parent": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHGLjx6Fxl7k=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGLjx6FvWeI=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFytbpcQXNs=", - "_parent": { - "$ref": "AAAAAAFbHFytbpcPX8s=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 752, - "top": -624, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFytbpcRAmU=", - "_parent": { - "$ref": "AAAAAAFbHFytbpcPX8s=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 741, - "top": 367, - "width": 155, - "height": 13, - "autoResize": false, - "underline": false, - "text": "bodyPartConnectorCaffe", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFytbpcS4Xg=", - "_parent": { - "$ref": "AAAAAAFbHFytbpcPX8s=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 752, - "top": -624, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFytbpcT5Us=", - "_parent": { - "$ref": "AAAAAAFbHFytbpcPX8s=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 752, - "top": -624, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 663, + "top": 633, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGLjx6Fxl7k=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGLjyKFzJeM=", + "_parent": { + "$ref": "AAAAAAFbHGLjx6Fxl7k=" + }, + "model": { + "$ref": "AAAAAAFbHGLjx6FvWeI=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 677, + "top": 639, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGLjx6Fxl7k=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGLjyKF0ltY=", + "_parent": { + "$ref": "AAAAAAFbHGLjx6Fxl7k=" + }, + "model": { + "$ref": "AAAAAAFbHGLjx6FvWeI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 636, + "top": 622, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGLjx6Fxl7k=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHGJ4XaFCtvY=" + }, + "tail": { + "$ref": "AAAAAAFbHFyW9pXGlaM=" + }, + "lineStyle": 1, + "points": "704:501;596:767", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHGLjyKFyffk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGLjyKFzJeM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGLjyKF0ltY=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGMlpKGHAQA=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHGMlpKGFzvA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGMlpKGI1RY=", + "_parent": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "model": { + "$ref": "AAAAAAFbHGMlpKGFzvA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 759, + "top": 515, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGMlpKGJiN4=", + "_parent": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "model": { + "$ref": "AAAAAAFbHGMlpKGFzvA=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 771, + "top": 506, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGMlpKGKDAY=", + "_parent": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "model": { + "$ref": "AAAAAAFbHGMlpKGFzvA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 734, + "top": 532, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGMlpKGHAQA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "tail": { + "$ref": "AAAAAAFbHFyW9pXGlaM=" + }, + "lineStyle": 1, + "points": "728:501;767:559", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHGMlpKGI1RY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGMlpKGJiN4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGMlpKGKDAY=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGnq56GYALc=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnq6KGZqFA=", + "_parent": { + "$ref": "AAAAAAFbHGnq56GYALc=" + }, + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" + }, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27547,34 +31133,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 736, - "top": 360, - "width": 165, - "height": 25, + "left": 201, + "top": 770, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFytbpcQXNs=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGnq56GYALc=" }, - "nameLabel": { - "$ref": "AAAAAAFbHFytbpcRAmU=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnq6KGafLE=", + "_parent": { + "$ref": "AAAAAAFbHGnq56GYALc=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFytbpcS4Xg=" + "model": { + "$ref": "AAAAAAFbHGnq5qGWd3A=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFytbpcT5Us=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 216, + "top": 769, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGnq56GYALc=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFytbpcU1BI=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnq6KGbkos=", "_parent": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHGnq56GYALc=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGnq5qGWd3A=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27583,22 +31201,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 736, - "top": 385, - "width": 165, - "height": 10, - "autoResize": false - }, + "left": 172, + "top": 773, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGnq56GYALc=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFy7rZe5yb0=" + }, + "tail": { + "$ref": "AAAAAAFbHFy95Zfi54c=" + }, + "lineStyle": 1, + "points": "187:765;188:791", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHGnq6KGZqFA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGnq6KGafLE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGnq6KGbkos=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGnvt6Gp5ew=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHGnvtqGnGyg=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFytbpcV3u8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnvt6GqbGE=", "_parent": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHGnvt6Gp5ew=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGnvtqGnGyg=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27607,22 +31276,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 736, - "top": 395, - "width": 165, - "height": 10, - "autoResize": false + "left": 333, + "top": 771, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGnvt6Gp5ew=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFytbpcWeGU=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnvt6Grtqg=", "_parent": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHGnvt6Gp5ew=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGnvtqGnGyg=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27631,20 +31310,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 416, - "top": -336, - "width": 10, - "height": 10, - "autoResize": false + "left": 348, + "top": 771, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGnvt6Gp5ew=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFytb5cXWA4=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGnvt6GsNlg=", "_parent": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHGnvt6Gp5ew=" }, "model": { - "$ref": "AAAAAAFbHFytbZcMIfs=" + "$ref": "AAAAAAFbHGnvtqGnGyg=" }, "visible": false, "enabled": true, @@ -27655,16 +31344,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 416, - "top": -336, - "width": 10, - "height": 10, - "autoResize": false + "left": 304, + "top": 772, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGnvt6Gp5ew=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -27672,164 +31368,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 736, - "top": 360, - "width": 165, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFyvbZc3RwA=" + }, + "tail": { + "$ref": "AAAAAAFbHFy4FZeQTuQ=" + }, + "lineStyle": 1, + "points": "320:765;319:791", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFytbpcPX8s=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFytbpcU1BI=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFytbpcV3u8=" + "nameLabel": { + "$ref": "AAAAAAFbHGnvt6GqbGE=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFytbpcWeGU=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHGnvt6Grtqg=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFytb5cXWA4=" + "propertyLabel": { + "$ref": "AAAAAAFbHGnvt6GsNlg=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFyvbZc3RwA=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGqxTKG7bkA=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGqxTKG5wjw=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFyvbZc4C3A=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGqxTaG8XBI=", "_parent": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHGqxTKG7bkA=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGqxTKG5wjw=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFyvbZc5kUI=", - "_parent": { - "$ref": "AAAAAAFbHFyvbZc4C3A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -656, - "top": -200, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFyvbZc6THM=", - "_parent": { - "$ref": "AAAAAAFbHFyvbZc4C3A=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 229, - "top": 567, - "width": 134, - "height": 13, - "autoResize": false, - "underline": false, - "text": "resizeAndMergeBase", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFyvbZc7p48=", - "_parent": { - "$ref": "AAAAAAFbHFyvbZc4C3A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -656, - "top": -200, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFyvbZc8l9I=", - "_parent": { - "$ref": "AAAAAAFbHFyvbZc4C3A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -656, - "top": -200, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27838,34 +31419,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 560, - "width": 144, - "height": 25, + "left": 619, + "top": 505, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFyvbZc5kUI=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGqxTKG7bkA=" }, - "nameLabel": { - "$ref": "AAAAAAFbHFyvbZc6THM=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGqxTaG9igY=", + "_parent": { + "$ref": "AAAAAAFbHGqxTKG7bkA=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFyvbZc7p48=" + "model": { + "$ref": "AAAAAAFbHGqxTKG5wjw=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFyvbZc8l9I=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 624, + "top": 491, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGqxTKG7bkA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFyvbpc9Q/A=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGqxTaG+s6U=", "_parent": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHGqxTKG7bkA=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGqxTKG5wjw=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27874,22 +31487,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 585, - "width": 144, - "height": 10, - "autoResize": false - }, + "left": 610, + "top": 534, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGqxTKG7bkA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "tail": { + "$ref": "AAAAAAFbHFzK5piG7DA=" + }, + "lineStyle": 1, + "points": "518:494;713:559", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHGqxTaG8XBI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGqxTaG9igY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGqxTaG+s6U=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGrMFKHMaow=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHGrME6HKk7E=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFyvbpc+c/o=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrMFKHNzoM=", "_parent": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHGrMFKHMaow=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGrME6HKk7E=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27898,22 +31562,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 595, - "width": 144, - "height": 10, - "autoResize": false + "left": 542, + "top": 622, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGrMFKHMaow=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFyvbpc/wXI=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrMFKHOvNI=", "_parent": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHGrMFKHMaow=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGrME6HKk7E=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -27922,20 +31596,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -536, - "top": -112, - "width": 10, - "height": 10, - "autoResize": false + "left": 556, + "top": 617, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGrMFKHMaow=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFyvbpdAAyo=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrMFKHPiVU=", "_parent": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHGrMFKHMaow=" }, "model": { - "$ref": "AAAAAAFbHFyvbZc1D+I=" + "$ref": "AAAAAAFbHGrME6HKk7E=" }, "visible": false, "enabled": true, @@ -27946,16 +31630,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -536, - "top": -112, - "width": 10, - "height": 10, - "autoResize": false + "left": 513, + "top": 633, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGrMFKHMaow=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -27963,164 +31654,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 560, - "width": 144, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHGJ4XaFCtvY=" + }, + "tail": { + "$ref": "AAAAAAFbHFzK5piG7DA=" + }, + "lineStyle": 1, + "points": "478:501;578:767", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFyvbZc4C3A=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFyvbpc9Q/A=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFyvbpc+c/o=" + "nameLabel": { + "$ref": "AAAAAAFbHGrMFKHNzoM=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFyvbpc/wXI=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHGrMFKHOvNI=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFyvbpdAAyo=" + "propertyLabel": { + "$ref": "AAAAAAFbHGrMFKHPiVU=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFy4FZeQTuQ=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHGrWHaHfwls=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHGrWHKHbh/M=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFy4FpeRMeY=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHaHgtBU=", "_parent": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHGrWHKHbh/M=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy4FpeSFbU=", - "_parent": { - "$ref": "AAAAAAFbHFy4FpeRMeY=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1000, - "top": -416, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy4FpeTkoY=", - "_parent": { - "$ref": "AAAAAAFbHFy4FpeRMeY=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 229, - "top": 463, - "width": 136, - "height": 13, - "autoResize": false, - "underline": false, - "text": "resizeAndMergeCaffe", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy4FpeUTNc=", - "_parent": { - "$ref": "AAAAAAFbHFy4FpeRMeY=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1000, - "top": -416, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy4FpeVlXs=", - "_parent": { - "$ref": "AAAAAAFbHFy4FpeRMeY=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1000, - "top": -416, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28129,34 +31705,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 456, - "width": 146, - "height": 25, + "left": 513, + "top": 633, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFy4FpeSFbU=" - }, - "nameLabel": { - "$ref": "AAAAAAFbHFy4FpeTkoY=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFy4FpeUTNc=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFy4FpeVlXs=" - } + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFy4FpeWkb8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHhSD4=", "_parent": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHGrWHKHbh/M=" }, - "visible": true, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28165,44 +31739,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": 481, - "width": 146, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFy4FpeXKZk=", - "_parent": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" - }, - "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "left": 499, + "top": 638, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 224, - "top": 491, - "width": 146, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFy4FpeYWpw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHirZI=", "_parent": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHGrWHKHbh/M=" }, "visible": false, "enabled": true, @@ -28213,205 +31773,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -712, - "top": -224, - "width": 10, - "height": 10, - "autoResize": false + "left": 542, + "top": 622, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFy4F5eZQQc=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHja2g=", "_parent": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFy4FZeOtro=" + "$ref": "AAAAAAFbHGrWHKHcSME=" }, "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -712, - "top": -224, - "width": 10, - "height": 10, - "autoResize": false - } - ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": true, - "containerExtending": false, - "left": 224, - "top": 456, - "width": 146, - "height": 45, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFy4FpeRMeY=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFy4FpeWkb8=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFy4FpeXKZk=" - }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFy4FpeYWpw=" - }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFy4F5eZQQc=" - } - }, - { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFzELphdmCE=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" - }, - "subViews": [ - { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFzELpheFqI=", - "_parent": { - "$ref": "AAAAAAFbHFzELphdmCE=" - }, - "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" - }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzELphfvaU=", - "_parent": { - "$ref": "AAAAAAFbHFzELpheFqI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -984, - "top": -248, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzELphgEv8=", - "_parent": { - "$ref": "AAAAAAFbHFzELpheFqI=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 525, - "top": 567, - "width": 147, - "height": 13, - "autoResize": false, - "underline": false, - "text": "poseRenderGpu", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzELphhOIY=", - "_parent": { - "$ref": "AAAAAAFbHFzELpheFqI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -984, - "top": -248, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzEL5hiHSo=", - "_parent": { - "$ref": "AAAAAAFbHFzELpheFqI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -984, - "top": -248, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 554, + "top": 741, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHkS3I=", + "_parent": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "model": { + "$ref": "AAAAAAFbHGrWHKHcSME=" + }, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28420,34 +31841,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 520, - "top": 560, - "width": 157, - "height": 25, + "left": 541, + "top": 744, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFzELphfvaU=" + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" }, - "nameLabel": { - "$ref": "AAAAAAFbHFzELphgEv8=" + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHllT0=", + "_parent": { + "$ref": "AAAAAAFbHGrWHaHfwls=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFzELphhOIY=" + "model": { + "$ref": "AAAAAAFbHGrWHKHcSME=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFzEL5hiHSo=" - } + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 582, + "top": 736, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFzEL5hj/mI=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHmElU=", "_parent": { - "$ref": "AAAAAAFbHFzELphdmCE=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" + "$ref": "AAAAAAFbHGrWHKHd2lk=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28456,22 +31909,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 520, - "top": 585, - "width": 157, - "height": 10, - "autoResize": false + "left": 473, + "top": 524, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFzEL5hko7w=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHnxtU=", "_parent": { - "$ref": "AAAAAAFbHFzELphdmCE=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" + "$ref": "AAAAAAFbHGrWHKHd2lk=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28480,20 +31943,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 520, - "top": 595, - "width": 157, - "height": 10, - "autoResize": false + "left": 461, + "top": 531, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFzEL5hlMOA=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGrWHqHowKw=", "_parent": { - "$ref": "AAAAAAFbHFzELphdmCE=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" + "$ref": "AAAAAAFbHGrWHKHd2lk=" }, "visible": false, "enabled": true, @@ -28504,20 +31977,54 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -240, - "top": -240, + "left": 497, + "top": 510, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHGrWHqHpIPM=", + "_parent": { + "$ref": "AAAAAAFbHGrWHaHfwls=" + }, + "model": { + "$ref": "AAAAAAFbHGrWHKHcSME=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -320, + "top": -88, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFzEL5hmQ8c=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHGrWH6HqQKg=", "_parent": { - "$ref": "AAAAAAFbHFzELphdmCE=" + "$ref": "AAAAAAFbHGrWHaHfwls=" }, "model": { - "$ref": "AAAAAAFbHFzELZhbldE=" + "$ref": "AAAAAAFbHGrWHKHd2lk=" }, "visible": false, "enabled": true, @@ -28528,16 +32035,13 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -240, - "top": -240, + "left": -320, + "top": -88, "width": 10, "height": 10, "autoResize": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -28545,164 +32049,75 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 520, - "top": 560, - "width": 157, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFzK5piG7DA=" + }, + "tail": { + "$ref": "AAAAAAFbHGJ4XaFCtvY=" + }, + "lineStyle": 1, + "points": "578:767;478:501", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFzELpheFqI=" + "nameLabel": { + "$ref": "AAAAAAFbHGrWHaHgtBU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGrWHqHhSD4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGrWHqHirZI=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFzEL5hj/mI=" + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHGrWHqHja2g=" }, - "operationCompartment": { - "$ref": "AAAAAAFbHFzEL5hko7w=" + "tailPropertyLabel": { + "$ref": "AAAAAAFbHGrWHqHkS3I=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFzEL5hlMOA=" + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHGrWHqHllT0=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFzEL5hmQ8c=" + "headRoleNameLabel": { + "$ref": "AAAAAAFbHGrWHqHmElU=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHGrWHqHnxtU=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHGrWHqHowKw=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHGrWHqHpIPM=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHGrWH6HqQKg=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFzB0pg0a44=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGwQTaLZZfc=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwQTKLXKW4=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFzB0pg1+dg=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwQTaLaU44=", "_parent": { - "$ref": "AAAAAAFbHFzB0pg0a44=" + "$ref": "AAAAAAFbHGwQTaLZZfc=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwQTKLXKW4=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzB05g2u1A=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pg1+dg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1152, - "top": -1072, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzB05g3rcg=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pg1+dg=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 413, - "top": 311, - "width": 120, - "height": 13, - "autoResize": false, - "underline": false, - "text": "poseExtractorCaffe", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzB05g4+VU=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pg1+dg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1152, - "top": -1072, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFzB05g5atM=", - "_parent": { - "$ref": "AAAAAAFbHFzB0pg1+dg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1152, - "top": -1072, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28711,34 +32126,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 304, - "width": 130, - "height": 25, + "left": 775, + "top": 435, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFzB05g2u1A=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGwQTaLZZfc=" }, - "nameLabel": { - "$ref": "AAAAAAFbHFzB05g3rcg=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwQTaLbjgM=", + "_parent": { + "$ref": "AAAAAAFbHGwQTaLZZfc=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFzB05g4+VU=" + "model": { + "$ref": "AAAAAAFbHGwQTKLXKW4=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFzB05g5atM=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 785, + "top": 446, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGwQTaLZZfc=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFzB05g6+M8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwQTaLc9A0=", "_parent": { - "$ref": "AAAAAAFbHFzB0pg0a44=" + "$ref": "AAAAAAFbHGwQTaLZZfc=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwQTKLXKW4=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28747,22 +32194,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 329, - "width": 130, - "height": 10, - "autoResize": false - }, + "left": 754, + "top": 412, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGwQTaLZZfc=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFyW9pXGlaM=" + }, + "tail": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "lineStyle": 1, + "points": "793:405;738:455", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHGwQTaLaU44=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHGwQTaLbjgM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHGwQTaLc9A0=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGwVTaL50Do=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHGwVTKL3GS0=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFzB05g7NxU=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwVTaL6WAw=", "_parent": { - "$ref": "AAAAAAFbHFzB0pg0a44=" + "$ref": "AAAAAAFbHGwVTaL50Do=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwVTKL3GS0=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28771,22 +32269,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 339, - "width": 130, - "height": 10, - "autoResize": false + "left": 814, + "top": 478, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGwVTaL50Do=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFzB05g8emo=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwVTaL75lI=", "_parent": { - "$ref": "AAAAAAFbHFzB0pg0a44=" + "$ref": "AAAAAAFbHGwVTaL50Do=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwVTKL3GS0=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -28795,20 +32303,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -600, - "top": -576, - "width": 10, - "height": 10, - "autoResize": false + "left": 829, + "top": 481, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGwVTaL50Do=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFzB05g9l4g=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGwVTaL8zNw=", "_parent": { - "$ref": "AAAAAAFbHFzB0pg0a44=" + "$ref": "AAAAAAFbHGwVTaL50Do=" }, "model": { - "$ref": "AAAAAAFbHFzB0pgy9QE=" + "$ref": "AAAAAAFbHGwVTKL3GS0=" }, "visible": false, "enabled": true, @@ -28819,16 +32337,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -600, - "top": -576, - "width": 10, - "height": 10, - "autoResize": false + "left": 785, + "top": 473, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGwVTaL50Do=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -28836,164 +32361,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": 304, - "width": 130, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFyptpbluc8=" + }, + "tail": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "lineStyle": 1, + "points": "814:405;786:559", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFzB0pg1+dg=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFzB05g6+M8=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFzB05g7NxU=" + "nameLabel": { + "$ref": "AAAAAAFbHGwVTaL6WAw=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFzB05g8emo=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHGwVTaL75lI=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFzB05g9l4g=" + "propertyLabel": { + "$ref": "AAAAAAFbHGwVTaL8zNw=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFy/tZgLHvQ=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHGxt3qOegCY=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "$ref": "AAAAAAFbHGxt3qOc9Cg=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFy/tZgM8Sw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGxt36OfnEY=", "_parent": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "$ref": "AAAAAAFbHGxt3qOegCY=" }, "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "$ref": "AAAAAAFbHGxt3qOc9Cg=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy/tZgN0qE=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgM8Sw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1248, - "top": -1192, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy/tpgOw7k=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgM8Sw=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 250, - "top": 255, - "width": 89, - "height": 13, - "autoResize": false, - "underline": false, - "text": "poseRenderer", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy/tpgP1VA=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgM8Sw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1248, - "top": -1192, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy/tpgQIKk=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgM8Sw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1248, - "top": -1192, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29002,34 +32412,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 245, - "top": 248, - "width": 99, - "height": 25, + "left": 888, + "top": 468, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFy/tZgN0qE=" - }, - "nameLabel": { - "$ref": "AAAAAAFbHFy/tpgOw7k=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFy/tpgP1VA=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGxt3qOegCY=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFy/tpgQIKk=" - } + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFy/tpgRD3I=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGxt36OgDrc=", "_parent": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "$ref": "AAAAAAFbHGxt3qOegCY=" }, "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "$ref": "AAAAAAFbHGxt3qOc9Cg=" }, - "visible": true, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29038,44 +32446,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 245, - "top": 273, - "width": 99, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFy/tpgSS8U=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" - }, - "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "left": 901, + "top": 461, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHGxt3qOegCY=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 245, - "top": 283, - "width": 99, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFy/tpgT52s=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHGxt36OhbhI=", "_parent": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "$ref": "AAAAAAFbHGxt3qOegCY=" }, "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "$ref": "AAAAAAFbHGxt3qOc9Cg=" }, "visible": false, "enabled": true, @@ -29086,40 +32480,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -632, - "top": -640, - "width": 10, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFy/tpgUfCU=", - "_parent": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" - }, - "model": { - "$ref": "AAAAAAFbHFy/tZgJmKs=" + "left": 861, + "top": 483, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHGxt3qOegCY=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -632, - "top": -640, - "width": 10, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -29127,77 +32504,66 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 245, - "top": 248, - "width": 99, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFyjI5a8Kvc=" + }, + "tail": { + "$ref": "AAAAAAFbHFytbpcOd/U=" + }, + "lineStyle": 1, + "points": "831:405;919:559", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFy/tZgM8Sw=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFy/tpgRD3I=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFy/tpgSS8U=" + "nameLabel": { + "$ref": "AAAAAAFbHGxt36OfnEY=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFy/tpgT52s=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHGxt36OgDrc=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFy/tpgUfCU=" + "propertyLabel": { + "$ref": "AAAAAAFbHGxt36OhbhI=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFzK5piG7DA=", + "_type": "UMLPackageView", + "_id": "AAAAAAFbHG/kZKynkHQ=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" + "$ref": "AAAAAAFbHG/kZKylPT8=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFzK5piHWYU=", + "_id": "AAAAAAFbHG/kZayohYE=", "_parent": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "$ref": "AAAAAAFbHG/kZKynkHQ=" }, "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" + "$ref": "AAAAAAFbHG/kZKylPT8=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFzK5piImrY=", + "_id": "AAAAAAFbHG/kZaypHSw=", "_parent": { - "$ref": "AAAAAAFbHFzK5piHWYU=" + "$ref": "AAAAAAFbHG/kZayohYE=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -856, - "top": -568, + "left": 1792, + "top": -1168, "width": 0, "height": 13, "autoResize": false, @@ -29208,47 +32574,47 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFzK5piJse4=", + "_id": "AAAAAAFbHG/kZayqMV4=", "_parent": { - "$ref": "AAAAAAFbHFzK5piHWYU=" + "$ref": "AAAAAAFbHG/kZayohYE=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 426, - "top": 463, - "width": 87, + "left": 1069, + "top": 382, + "width": 199, "height": 13, "autoResize": false, "underline": false, - "text": "poseExtractor", + "text": "thread", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFzK5piKVAg=", + "_id": "AAAAAAFbHG/kZayrLik=", "_parent": { - "$ref": "AAAAAAFbHFzK5piHWYU=" + "$ref": "AAAAAAFbHG/kZayohYE=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -856, - "top": -568, + "left": 1792, + "top": -1168, "width": 72, "height": 13, "autoResize": false, @@ -29260,170 +32626,76 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFzK5piLYAw=", + "_id": "AAAAAAFbHG/kZaysAlM=", "_parent": { - "$ref": "AAAAAAFbHFzK5piHWYU=" + "$ref": "AAAAAAFbHG/kZayohYE=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, - "containerExtending": false, - "left": -856, - "top": -568, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 421, - "top": 456, - "width": 97, - "height": 25, - "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFzK5piImrY=" - }, - "nameLabel": { - "$ref": "AAAAAAFbHFzK5piJse4=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFzK5piKVAg=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHFzK5piLYAw=" - } - }, - { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFzK55iMy7I=", - "_parent": { - "$ref": "AAAAAAFbHFzK5piG7DA=" - }, - "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, + "containerExtending": false, + "left": 1792, + "top": -1168, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 421, - "top": 481, - "width": 97, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFzK55iN7WY=", - "_parent": { - "$ref": "AAAAAAFbHFzK5piG7DA=" - }, - "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" + "left": 1064, + "top": 375, + "width": 209, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbHG/kZaypHSw=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 421, - "top": 491, - "width": 97, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFzK55iOXTg=", - "_parent": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "nameLabel": { + "$ref": "AAAAAAFbHG/kZayqMV4=" }, - "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" + "namespaceLabel": { + "$ref": "AAAAAAFbHG/kZayrLik=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -696, - "top": -296, - "width": 10, - "height": 10, - "autoResize": false - }, + "propertyLabel": { + "$ref": "AAAAAAFbHG/kZaysAlM=" + } + } + ], + "containedViews": [ { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFzK55iPcVc=", - "_parent": { - "$ref": "AAAAAAFbHFzK5piG7DA=" - }, - "model": { - "$ref": "AAAAAAFbHFzK5ZiEMoA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -696, - "top": -296, - "width": 10, - "height": 10, - "autoResize": false + "$ref": "AAAAAAFbHG/RJ6xo2hI=" } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 421, - "top": 456, - "width": 97, - "height": 45, + "left": 1064, + "top": 360, + "width": 209, + "height": 168, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -29431,52 +32703,35 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFzK5piHWYU=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFzK55iMy7I=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFzK55iN7WY=" - }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFzK55iOXTg=" + "$ref": "AAAAAAFbHG/kZayohYE=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFzK55iPcVc=" - } + "wordWrap": false }, { "_type": "UMLClassView", - "_id": "AAAAAAFbHFy7rZe5yb0=", + "_id": "AAAAAAFbHG/RJ6xo2hI=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFy7rpe6V8M=", + "_id": "AAAAAAFbHG/RJ6xpDDM=", "_parent": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "$ref": "AAAAAAFbHG/RJ6xo2hI=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHFy7rpe70Ts=", + "_id": "AAAAAAFbHG/RKKxq450=", "_parent": { - "$ref": "AAAAAAFbHFy7rpe6V8M=" + "$ref": "AAAAAAFbHG/RJ6xpDDM=" }, "visible": false, "enabled": true, @@ -29487,8 +32742,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -440, - "top": -472, + "left": 1872, + "top": -952, "width": 0, "height": 13, "autoResize": false, @@ -29499,9 +32754,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHFy7rpe8JrM=", + "_id": "AAAAAAFbHG/RKKxrs6s=", "_parent": { - "$ref": "AAAAAAFbHFy7rpe6V8M=" + "$ref": "AAAAAAFbHG/RJ6xpDDM=" }, "visible": true, "enabled": true, @@ -29512,22 +32767,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 73, - "top": 567, - "width": 57, + "left": 1133, + "top": 431, + "width": 72, "height": 13, "autoResize": false, "underline": false, - "text": "nmsBase", + "text": "worker.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFy7rpe9fX8=", + "_id": "AAAAAAFbHG/RKKxsn6c=", "_parent": { - "$ref": "AAAAAAFbHFy7rpe6V8M=" + "$ref": "AAAAAAFbHG/RJ6xpDDM=" }, "visible": false, "enabled": true, @@ -29538,22 +32793,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -440, - "top": -472, - "width": 72, + "left": 1872, + "top": -952, + "width": 73, "height": 13, "autoResize": false, "underline": false, - "text": "(from pose)", + "text": "(from thread)", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHFy7rpe+Aic=", + "_id": "AAAAAAFbHG/RKKxtXbA=", "_parent": { - "$ref": "AAAAAAFbHFy7rpe6V8M=" + "$ref": "AAAAAAFbHG/RJ6xpDDM=" }, "visible": false, "enabled": true, @@ -29564,8 +32819,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -440, - "top": -472, + "left": 1872, + "top": -952, "width": 0, "height": 13, "autoResize": false, @@ -29584,32 +32839,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 560, - "width": 67, + "left": 1128, + "top": 424, + "width": 82, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHFy7rpe70Ts=" + "$ref": "AAAAAAFbHG/RKKxq450=" }, "nameLabel": { - "$ref": "AAAAAAFbHFy7rpe8JrM=" + "$ref": "AAAAAAFbHG/RKKxrs6s=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHFy7rpe9fX8=" + "$ref": "AAAAAAFbHG/RKKxsn6c=" }, "propertyLabel": { - "$ref": "AAAAAAFbHFy7rpe+Aic=" + "$ref": "AAAAAAFbHG/RKKxtXbA=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFy7rpe/fWU=", + "_id": "AAAAAAFbHG/RKKxurXM=", "_parent": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "$ref": "AAAAAAFbHG/RJ6xo2hI=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "visible": true, "enabled": true, @@ -29620,20 +32875,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 585, - "width": 67, + "left": 1128, + "top": 449, + "width": 82, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFy7rpfAyfc=", + "_id": "AAAAAAFbHG/RKKxvzKM=", "_parent": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "$ref": "AAAAAAFbHG/RJ6xo2hI=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "visible": true, "enabled": true, @@ -29644,20 +32899,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 595, - "width": 67, + "left": 1128, + "top": 459, + "width": 82, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFy7rpfBpkI=", + "_id": "AAAAAAFbHG/RKaxwRyc=", "_parent": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "$ref": "AAAAAAFbHG/RJ6xo2hI=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "visible": false, "enabled": true, @@ -29668,20 +32923,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -400, - "top": -256, + "left": 944, + "top": -424, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFy7rpfC4aM=", + "_id": "AAAAAAFbHG/RKaxxtCs=", "_parent": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" + "$ref": "AAAAAAFbHG/RJ6xo2hI=" }, "model": { - "$ref": "AAAAAAFbHFy7rZe3LU0=" + "$ref": "AAAAAAFbHG/RJqxmjag=" }, "visible": false, "enabled": true, @@ -29692,15 +32947,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -400, - "top": -256, + "left": 944, + "top": -424, "width": 10, "height": 10, "autoResize": false } ], "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" + "$ref": "AAAAAAFbHG/kZKynkHQ=" }, "visible": true, "enabled": true, @@ -29711,9 +32966,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 68, - "top": 560, - "width": 67, + "left": 1128, + "top": 424, + "width": 82, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -29722,7 +32977,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHFy7rpe6V8M=" + "$ref": "AAAAAAFbHG/RJ6xpDDM=" }, "wordWrap": false, "suppressAttributes": false, @@ -29731,142 +32986,38 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbHFy7rpe/fWU=" + "$ref": "AAAAAAFbHG/RKKxurXM=" }, "operationCompartment": { - "$ref": "AAAAAAFbHFy7rpfAyfc=" + "$ref": "AAAAAAFbHG/RKKxvzKM=" }, "receptionCompartment": { - "$ref": "AAAAAAFbHFy7rpfBpkI=" + "$ref": "AAAAAAFbHG/RKaxwRyc=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbHFy7rpfC4aM=" + "$ref": "AAAAAAFbHG/RKaxxtCs=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbHFy95Zfi54c=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHHB2Fq14MJo=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHB2E612aDc=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHFy95pfjA10=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHB2F615c1c=", "_parent": { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "$ref": "AAAAAAFbHHB2Fq14MJo=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHB2E612aDc=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy95pfk5rs=", - "_parent": { - "$ref": "AAAAAAFbHFy95pfjA10=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1032, - "top": -768, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy95pflDeI=", - "_parent": { - "$ref": "AAAAAAFbHFy95pfjA10=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 73, - "top": 463, - "width": 59, - "height": 13, - "autoResize": false, - "underline": false, - "text": "nmsCaffe", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy95pfmtA4=", - "_parent": { - "$ref": "AAAAAAFbHFy95pfjA10=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1032, - "top": -768, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHFy95pfnV80=", - "_parent": { - "$ref": "AAAAAAFbHFy95pfjA10=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -1032, - "top": -768, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29875,34 +33026,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 456, - "width": 69, - "height": 25, + "left": 820, + "top": 293, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHFy95pfk5rs=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHB2Fq14MJo=" }, - "nameLabel": { - "$ref": "AAAAAAFbHFy95pflDeI=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHB2F616N3I=", + "_parent": { + "$ref": "AAAAAAFbHHB2Fq14MJo=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHFy95pfmtA4=" + "model": { + "$ref": "AAAAAAFbHHB2E612aDc=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHFy95pfnV80=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 825, + "top": 279, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHB2Fq14MJo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHFy95pfogx8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHB2F617nKw=", "_parent": { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "$ref": "AAAAAAFbHHB2Fq14MJo=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHB2E612aDc=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29911,22 +33094,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 481, - "width": 69, - "height": 10, - "autoResize": false - }, + "left": 809, + "top": 322, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHB2Fq14MJo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHG/RJ6xo2hI=" + }, + "tail": { + "$ref": "AAAAAAFbHFyblZYYzdE=" + }, + "lineStyle": 1, + "points": "503:197;1127:431", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHHB2F615c1c=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHHB2F616N3I=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHHB2F617nKw=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHHCH1K24vVY=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHHCH1K22V0Q=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHFy95pfpvIw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHCH1K25cGg=", "_parent": { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "$ref": "AAAAAAFbHHCH1K24vVY=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHCH1K22V0Q=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29935,22 +33169,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 491, - "width": 69, - "height": 10, - "autoResize": false + "left": 949, + "top": 291, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHCH1K24vVY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHFy95pfqAaA=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHCH1a26amA=", "_parent": { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "$ref": "AAAAAAFbHHCH1K24vVY=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHCH1K22V0Q=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -29959,20 +33203,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -744, - "top": -432, - "width": 10, - "height": 10, - "autoResize": false + "left": 957, + "top": 278, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHCH1K24vVY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHFy95pfr/Ks=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHCH1a27Pvc=", "_parent": { - "$ref": "AAAAAAFbHFy95Zfi54c=" + "$ref": "AAAAAAFbHHCH1K24vVY=" }, "model": { - "$ref": "AAAAAAFbHFy95Zfg+a8=" + "$ref": "AAAAAAFbHHCH1K22V0Q=" }, "visible": false, "enabled": true, @@ -29983,16 +33237,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -744, - "top": -432, - "width": 10, - "height": 10, - "autoResize": false + "left": 934, + "top": 316, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHCH1K24vVY=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHFxkJJWqH+E=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -30000,344 +33261,219 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 68, - "top": 456, - "width": 69, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHG/RJ6xo2hI=" + }, + "tail": { + "$ref": "AAAAAAFbHFyaDpXvuYI=" + }, + "lineStyle": 1, + "points": "754:197;1130:423", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHFy95pfjA10=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHFy95pfogx8=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbHFy95pfpvIw=" + "nameLabel": { + "$ref": "AAAAAAFbHHCH1K25cGg=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHFy95pfqAaA=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHHCH1a26amA=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHFy95pfr/Ks=" + "propertyLabel": { + "$ref": "AAAAAAFbHHCH1a27Pvc=" } }, { - "_type": "UMLPackageView", - "_id": "AAAAAAFbHGJip6EoNT0=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHHDZ/a7HVbM=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGJipqEm58o=" + "$ref": "AAAAAAFbHHDZ/K7DPvI=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHGJiqKEpUGs=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/a7IYeg=", "_parent": { - "$ref": "AAAAAAFbHGJip6EoNT0=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJipqEm58o=" + "$ref": "AAAAAAFbHHDZ/K7DPvI=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJiqKEq9GM=", - "_parent": { - "$ref": "AAAAAAFbHGJiqKEpUGs=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 448, - "top": -384, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJiqKErHZE=", - "_parent": { - "$ref": "AAAAAAFbHGJiqKEpUGs=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 501, - "top": 742, - "width": 191, - "height": 13, - "autoResize": false, - "underline": false, - "text": "core", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJiqKEso2w=", - "_parent": { - "$ref": "AAAAAAFbHGJiqKEpUGs=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 448, - "top": -384, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJiqKEtkgk=", - "_parent": { - "$ref": "AAAAAAFbHGJiqKEpUGs=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 448, - "top": -384, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 496, - "top": 735, - "width": 201, - "height": 25, + "left": 359, + "top": 203, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGJiqKEq9GM=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, - "nameLabel": { - "$ref": "AAAAAAFbHGJiqKErHZE=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/a7JE0Y=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHGJiqKEso2w=" + "model": { + "$ref": "AAAAAAFbHHDZ/K7DPvI=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHGJiqKEtkgk=" - } - } - ], - "containedViews": [ + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 351, + "top": 190, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": true, - "containerExtending": false, - "left": 496, - "top": 720, - "width": 201, - "height": 160, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHGJiqKEpUGs=" - }, - "wordWrap": false - }, - { - "_type": "UMLClassView", - "_id": "AAAAAAFbHGJ4XaFCtvY=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" - }, - "subViews": [ + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/a7KIGE=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "model": { + "$ref": "AAAAAAFbHHDZ/K7DPvI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 376, + "top": 228, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHGJ4XaFD3us=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7L1+g=", "_parent": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHHDZ/K7EAnY=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJ4XqFEmic=", - "_parent": { - "$ref": "AAAAAAFbHGJ4XaFD3us=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 304, - "top": -336, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJ4XqFFD/Y=", - "_parent": { - "$ref": "AAAAAAFbHGJ4XaFD3us=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 573, - "top": 799, - "width": 61, - "height": 13, - "autoResize": false, - "underline": false, - "text": "array.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJ4XqFGd2A=", - "_parent": { - "$ref": "AAAAAAFbHGJ4XaFD3us=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 304, - "top": -336, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from core)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHGJ4XqFHybI=", - "_parent": { - "$ref": "AAAAAAFbHGJ4XaFD3us=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 304, - "top": -336, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 342, + "top": 214, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7MFrg=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "model": { + "$ref": "AAAAAAFbHHDZ/K7EAnY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 337, + "top": 201, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7N9/I=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "model": { + "$ref": "AAAAAAFbHHDZ/K7EAnY=" + }, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30346,34 +33482,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 792, - "width": 71, - "height": 25, + "left": 353, + "top": 239, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGJ4XqFEmic=" + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, - "nameLabel": { - "$ref": "AAAAAAFbHGJ4XqFFD/Y=" + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7OpJY=", + "_parent": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHGJ4XqFGd2A=" + "model": { + "$ref": "AAAAAAFbHHDZ/K7FK4E=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHGJ4XqFHybI=" - } + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 377, + "top": 192, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHGJ4XqFIVZg=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7PCYY=", "_parent": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHHDZ/K7FK4E=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30382,22 +33550,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 817, - "width": 71, - "height": 10, - "autoResize": false + "left": 367, + "top": 182, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHGJ4XqFJEe0=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHDZ/q7Qdr8=", "_parent": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHHDZ/K7FK4E=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30406,20 +33584,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 827, - "width": 71, - "height": 10, - "autoResize": false + "left": 395, + "top": 213, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHDZ/a7HVbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHGJ4X6FKx4o=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHDZ/q7R75I=", "_parent": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHHDZ/K7EAnY=" }, "visible": false, "enabled": true, @@ -30430,20 +33618,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 128, - "top": -160, + "left": -336, + "top": -80, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHGJ4X6FLYgE=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHDZ/q7SvXQ=", "_parent": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHHDZ/a7HVbM=" }, "model": { - "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + "$ref": "AAAAAAFbHHDZ/K7FK4E=" }, "visible": false, "enabled": true, @@ -30454,16 +33642,13 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 128, - "top": -160, + "left": -336, + "top": -80, "width": 10, "height": 10, "autoResize": false } ], - "containerView": { - "$ref": "AAAAAAFbHGJip6EoNT0=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -30471,58 +33656,73 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 792, - "width": 71, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFyblZYYzdE=" + }, + "tail": { + "$ref": "AAAAAAFbHFy/tZgLHvQ=" + }, + "lineStyle": 1, + "points": "329:247;407:197", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHGJ4XaFD3us=" + "nameLabel": { + "$ref": "AAAAAAFbHHDZ/a7IYeg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHHDZ/a7JE0Y=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHHDZ/a7KIGE=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHGJ4XqFIVZg=" + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHHDZ/q7L1+g=" }, - "operationCompartment": { - "$ref": "AAAAAAFbHGJ4XqFJEe0=" + "tailPropertyLabel": { + "$ref": "AAAAAAFbHHDZ/q7MFrg=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHGJ4X6FKx4o=" + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHHDZ/q7N9/I=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHGJ4X6FLYgE=" + "headRoleNameLabel": { + "$ref": "AAAAAAFbHHDZ/q7OpJY=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHHDZ/q7PCYY=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHHDZ/q7Qdr8=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHHDZ/q7R75I=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHHDZ/q7SvXQ=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGLjx6Fxl7k=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHHDrE68ZoBE=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGLjx6FvWeI=" + "$ref": "AAAAAAFbHHDrEq8VKcc=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGLjyKFyffk=", + "_id": "AAAAAAFbHHDrE68adsE=", "_parent": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGLjx6FvWeI=" + "$ref": "AAAAAAFbHHDrEq8VKcc=" }, "visible": false, "enabled": true, @@ -30533,15 +33733,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 672, - "top": 644, + "left": 580, + "top": 310, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "edgePosition": 1, "underline": false, @@ -30551,12 +33751,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGLjyKFzJeM=", + "_id": "AAAAAAFbHHDrE68bB7M=", "_parent": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGLjx6FvWeI=" + "$ref": "AAAAAAFbHHDrEq8VKcc=" }, "visible": null, "enabled": true, @@ -30567,15 +33767,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 686, - "top": 649, + "left": 568, + "top": 301, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "edgePosition": 1, "underline": false, @@ -30585,12 +33785,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGLjyKF0ltY=", + "_id": "AAAAAAFbHHDrE68c2s0=", "_parent": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGLjx6FvWeI=" + "$ref": "AAAAAAFbHHDrEq8VKcc=" }, "visible": false, "enabled": true, @@ -30601,90 +33801,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 643, - "top": 635, + "left": 603, + "top": 329, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGLjx6Fxl7k=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" - }, - "tail": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" - }, - "lineStyle": 1, - "points": "705:501;611:791", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHGLjyKFyffk=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGLjyKFzJeM=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGLjyKF0ltY=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGMlpKGHAQA=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHGMlpKGFzvA=" - }, - "subViews": [ - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGMlpKGI1RY=", - "_parent": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" - }, - "model": { - "$ref": "AAAAAAFbHGMlpKGFzvA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 759, - "top": 515, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "edgePosition": 1, "underline": false, @@ -30694,14 +33819,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGMlpKGJiN4=", + "_id": "AAAAAAFbHHDrE68dz0w=", "_parent": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGMlpKGFzvA=" + "$ref": "AAAAAAFbHHDrEq8WF48=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30710,17 +33835,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 771, - "top": 506, + "left": 492, + "top": 419, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, + "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -30728,12 +33853,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGMlpKGKDAY=", + "_id": "AAAAAAFbHHDrE68eESM=", "_parent": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGMlpKGFzvA=" + "$ref": "AAAAAAFbHHDrEq8WF48=" }, "visible": false, "enabled": true, @@ -30744,71 +33869,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 734, - "top": 532, + "left": 483, + "top": 409, "width": 0, "height": 13, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, + "alpha": 0.7853981633974483, + "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHGMlpKGHAQA=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFyptpbluc8=" - }, - "tail": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" - }, - "lineStyle": 1, - "points": "728:501;767:559", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHGMlpKGI1RY=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGMlpKGJiN4=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGMlpKGKDAY=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGnq56GYALc=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHGnq5qGWd3A=" - }, - "subViews": [ + }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnq6KGZqFA=", + "_id": "AAAAAAFbHHDrE68f3k0=", "_parent": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnq5qGWd3A=" + "$ref": "AAAAAAFbHHDrEq8WF48=" }, "visible": false, "enabled": true, @@ -30819,17 +33903,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 115, - "top": 523, + "left": 511, + "top": 440, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, + "alpha": -0.5235987755982988, + "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -30837,14 +33921,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnq6KGafLE=", + "_id": "AAAAAAFbHHDrE68gyRw=", "_parent": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnq5qGWd3A=" + "$ref": "AAAAAAFbHHDrEq8X3Y0=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30853,17 +33937,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 130, - "top": 523, + "left": 668, + "top": 201, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, + "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -30871,12 +33955,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnq6KGbkos=", + "_id": "AAAAAAFbHHDrE68hHGA=", "_parent": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnq5qGWd3A=" + "$ref": "AAAAAAFbHHDrEq8X3Y0=" }, "visible": false, "enabled": true, @@ -30887,71 +33971,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 86, - "top": 524, + "left": 657, + "top": 195, "width": 0, "height": 13, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, + "alpha": -0.7853981633974483, + "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHGnq56GYALc=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFy7rZe5yb0=" - }, - "tail": { - "$ref": "AAAAAAFbHFy95Zfi54c=" - }, - "lineStyle": 1, - "points": "102:501;101:559", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHGnq6KGZqFA=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGnq6KGafLE=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGnq6KGbkos=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGnvt6Gp5ew=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHGnvtqGnGyg=" - }, - "subViews": [ + }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnvt6GqbGE=", + "_id": "AAAAAAFbHHDrE68i5gI=", "_parent": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnvtqGnGyg=" + "$ref": "AAAAAAFbHHDrEq8X3Y0=" }, "visible": false, "enabled": true, @@ -30962,32 +34005,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 309, - "top": 523, + "left": 693, + "top": 215, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, + "alpha": 0.5235987755982988, + "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnvt6Grtqg=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHDrE68jf8Q=", "_parent": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnvtqGnGyg=" + "$ref": "AAAAAAFbHHDrEq8WF48=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -30996,30 +34039,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 324, - "top": 523, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 0, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGnvt6GsNlg=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHDrE68kubs=", "_parent": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" + "$ref": "AAAAAAFbHHDrE68ZoBE=" }, "model": { - "$ref": "AAAAAAFbHGnvtqGnGyg=" + "$ref": "AAAAAAFbHHDrEq8X3Y0=" }, "visible": false, "enabled": true, @@ -31030,21 +34063,11 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 280, - "top": 524, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHGnvt6Gp5ew=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 0, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false } ], "visible": true, @@ -31057,44 +34080,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFyvbZc3RwA=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "tail": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "lineStyle": 1, - "points": "296:501;295:559", + "points": "488:455;697:197", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHGnvt6GqbGE=" + "$ref": "AAAAAAFbHHDrE68adsE=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHGnvt6Grtqg=" + "$ref": "AAAAAAFbHHDrE68bB7M=" }, "propertyLabel": { - "$ref": "AAAAAAFbHGnvt6GsNlg=" + "$ref": "AAAAAAFbHHDrE68c2s0=" + }, + "showMultiplicity": true, + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHHDrE68dz0w=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFbHHDrE68eESM=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHHDrE68f3k0=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFbHHDrE68gyRw=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHHDrE68hHGA=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHHDrE68i5gI=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHHDrE68jf8Q=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHHDrE68kubs=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGqxTKG7bkA=", + "_id": "AAAAAAFbHHD2Aq94xHI=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGqxTKG5wjw=" + "$ref": "AAAAAAFbHHD2Aq92KiE=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGqxTaG8XBI=", + "_id": "AAAAAAFbHHD2Aq95ppo=", "_parent": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "model": { - "$ref": "AAAAAAFbHGqxTKG5wjw=" + "$ref": "AAAAAAFbHHD2Aq92KiE=" }, "visible": false, "enabled": true, @@ -31105,15 +34154,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 619, - "top": 505, + "left": 376, + "top": 228, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "edgePosition": 1, "underline": false, @@ -31123,12 +34172,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGqxTaG9igY=", + "_id": "AAAAAAFbHHD2Aq96k04=", "_parent": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "model": { - "$ref": "AAAAAAFbHGqxTKG5wjw=" + "$ref": "AAAAAAFbHHD2Aq92KiE=" }, "visible": null, "enabled": true, @@ -31139,15 +34188,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 624, - "top": 491, + "left": 384, + "top": 241, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "edgePosition": 1, "underline": false, @@ -31157,12 +34206,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGqxTaG+s6U=", + "_id": "AAAAAAFbHHD2Aq97XLY=", "_parent": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "model": { - "$ref": "AAAAAAFbHGqxTKG5wjw=" + "$ref": "AAAAAAFbHHD2Aq92KiE=" }, "visible": false, "enabled": true, @@ -31173,15 +34222,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 610, - "top": 534, + "left": 359, + "top": 203, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGqxTKG7bkA=" + "$ref": "AAAAAAFbHHD2Aq94xHI=" }, "edgePosition": 1, "underline": false, @@ -31200,44 +34249,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "tail": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "$ref": "AAAAAAFbHFyblZYYzdE=" }, "lineStyle": 1, - "points": "518:494;713:559", + "points": "407:197;329:247", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHGqxTaG8XBI=" + "$ref": "AAAAAAFbHHD2Aq95ppo=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHGqxTaG9igY=" + "$ref": "AAAAAAFbHHD2Aq96k04=" }, "propertyLabel": { - "$ref": "AAAAAAFbHGqxTaG+s6U=" + "$ref": "AAAAAAFbHHD2Aq97XLY=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGrMFKHMaow=", + "_id": "AAAAAAFbHHD7mq+2IXM=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGrME6HKk7E=" + "$ref": "AAAAAAFbHHD7mq+0ft0=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrMFKHNzoM=", + "_id": "AAAAAAFbHHD7mq+3mv4=", "_parent": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "model": { - "$ref": "AAAAAAFbHGrME6HKk7E=" + "$ref": "AAAAAAFbHHD7mq+0ft0=" }, "visible": false, "enabled": true, @@ -31248,15 +34297,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 549, - "top": 634, + "left": 603, + "top": 329, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "edgePosition": 1, "underline": false, @@ -31266,12 +34315,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrMFKHOvNI=", + "_id": "AAAAAAFbHHD7m6+4324=", "_parent": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "model": { - "$ref": "AAAAAAFbHGrME6HKk7E=" + "$ref": "AAAAAAFbHHD7mq+0ft0=" }, "visible": null, "enabled": true, @@ -31282,15 +34331,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 563, - "top": 628, + "left": 615, + "top": 338, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "edgePosition": 1, "underline": false, @@ -31300,12 +34349,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrMFKHPiVU=", + "_id": "AAAAAAFbHHD7m6+5leg=", "_parent": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "model": { - "$ref": "AAAAAAFbHGrME6HKk7E=" + "$ref": "AAAAAAFbHHD7mq+0ft0=" }, "visible": false, "enabled": true, @@ -31316,15 +34365,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 522, - "top": 645, + "left": 580, + "top": 310, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGrMFKHMaow=" + "$ref": "AAAAAAFbHHD7mq+2IXM=" }, "edgePosition": 1, "underline": false, @@ -31343,44 +34392,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHFzK5piG7DA=" }, "tail": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "$ref": "AAAAAAFbHFyaDpXvuYI=" }, "lineStyle": 1, - "points": "478:501;594:791", + "points": "697:197;488:455", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHGrMFKHNzoM=" + "$ref": "AAAAAAFbHHD7mq+3mv4=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHGrMFKHOvNI=" + "$ref": "AAAAAAFbHHD7m6+4324=" }, "propertyLabel": { - "$ref": "AAAAAAFbHGrMFKHPiVU=" + "$ref": "AAAAAAFbHHD7m6+5leg=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHGrWHaHfwls=", + "_type": "UMLGeneralizationView", + "_id": "AAAAAAFbHHGZKrGsQOQ=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" + "$ref": "AAAAAAFbHHGZKrGqXrE=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHaHgtBU=", + "_id": "AAAAAAFbHHGZKrGtPkg=", "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "model": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" + "$ref": "AAAAAAFbHHGZKrGqXrE=" }, "visible": false, "enabled": true, @@ -31391,15 +34440,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 522, - "top": 645, + "left": 336, + "top": 390, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "edgePosition": 1, "underline": false, @@ -31409,12 +34458,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHhSD4=", + "_id": "AAAAAAFbHHGZKrGuu2Q=", "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "model": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" + "$ref": "AAAAAAFbHHGZKrGqXrE=" }, "visible": null, "enabled": true, @@ -31425,15 +34474,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 508, - "top": 651, + "left": 343, + "top": 377, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "edgePosition": 1, "underline": false, @@ -31443,12 +34492,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHirZI=", + "_id": "AAAAAAFbHHGZKrGvTkE=", "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "model": { - "$ref": "AAAAAAFbHGrWHKHbh/M=" + "$ref": "AAAAAAFbHHGZKrGqXrE=" }, "visible": false, "enabled": true, @@ -31459,273 +34508,21 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 549, - "top": 634, + "left": 323, + "top": 417, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" + "$ref": "AAAAAAFbHHGZKrGsQOQ=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHja2g=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHcSME=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 570, - "top": 766, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHkS3I=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHcSME=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 557, - "top": 769, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHllT0=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHcSME=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 597, - "top": 760, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHmElU=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHd2lk=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 473, - "top": 524, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHnxtU=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHd2lk=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 462, - "top": 531, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGrWHqHowKw=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHd2lk=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 497, - "top": 510, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHGrWHqHpIPM=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHcSME=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -496, - "top": -96, - "width": 10, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHGrWH6HqQKg=", - "_parent": { - "$ref": "AAAAAAFbHGrWHaHfwls=" - }, - "model": { - "$ref": "AAAAAAFbHGrWHKHd2lk=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -496, - "top": -96, - "width": 10, - "height": 10, - "autoResize": false } ], "visible": true, @@ -31741,67 +34538,41 @@ "$ref": "AAAAAAFbHFzK5piG7DA=" }, "tail": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "lineStyle": 1, - "points": "594:791;478:501", + "points": "239:365;422:455", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHGrWHaHgtBU=" + "$ref": "AAAAAAFbHHGZKrGtPkg=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHGrWHqHhSD4=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGrWHqHirZI=" - }, - "showMultiplicity": true, - "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHGrWHqHja2g=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHGrWHqHkS3I=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHGrWHqHllT0=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHGrWHqHmElU=" - }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHGrWHqHnxtU=" - }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHGrWHqHowKw=" - }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHGrWHqHpIPM=" + "$ref": "AAAAAAFbHHGZKrGuu2Q=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHGrWH6HqQKg=" + "propertyLabel": { + "$ref": "AAAAAAFbHHGZKrGvTkE=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGwQTaLZZfc=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHHH8ArOqILQ=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGwQTKLXKW4=" + "$ref": "AAAAAAFbHHH8ArOmRco=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwQTaLaU44=", + "_id": "AAAAAAFbHHH8A7OrREk=", "_parent": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwQTKLXKW4=" + "$ref": "AAAAAAFbHHH8ArOmRco=" }, "visible": false, "enabled": true, @@ -31812,15 +34583,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 775, - "top": 435, + "left": 174, + "top": 535, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "edgePosition": 1, "underline": false, @@ -31830,12 +34601,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwQTaLbjgM=", + "_id": "AAAAAAFbHHH8A7Osjo4=", "_parent": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwQTKLXKW4=" + "$ref": "AAAAAAFbHHH8ArOmRco=" }, "visible": null, "enabled": true, @@ -31846,15 +34617,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 785, - "top": 446, + "left": 159, + "top": 535, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "edgePosition": 1, "underline": false, @@ -31864,12 +34635,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwQTaLc9A0=", + "_id": "AAAAAAFbHHH8A7Ot5wI=", "_parent": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwQTKLXKW4=" + "$ref": "AAAAAAFbHHH8ArOmRco=" }, "visible": false, "enabled": true, @@ -31880,71 +34651,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 754, - "top": 412, + "left": 203, + "top": 536, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGwQTaLZZfc=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFyW9pXGlaM=" - }, - "tail": { - "$ref": "AAAAAAFbHFytbpcOd/U=" - }, - "lineStyle": 1, - "points": "793:405;738:455", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHGwQTaLaU44=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGwQTaLbjgM=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGwQTaLc9A0=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGwVTaL50Do=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHGwVTKL3GS0=" - }, - "subViews": [ + }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwVTaL6WAw=", + "_id": "AAAAAAFbHHH8A7Oup18=", "_parent": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwVTKL3GS0=" + "$ref": "AAAAAAFbHHH8ArOnTL8=" }, "visible": false, "enabled": true, @@ -31955,17 +34685,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 814, - "top": 478, + "left": 171, + "top": 686, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, + "alpha": 0.5235987755982988, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -31973,14 +34703,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwVTaL75lI=", + "_id": "AAAAAAFbHHH8A7OvGVc=", "_parent": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwVTKL3GS0=" + "$ref": "AAAAAAFbHHH8ArOnTL8=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -31989,17 +34719,85 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 829, - "top": 481, + "left": 158, + "top": 684, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHH8A7OwbLo=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "model": { + "$ref": "AAAAAAFbHHH8ArOnTL8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 198, + "top": 691, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHH8A7Ox7vM=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "model": { + "$ref": "AAAAAAFbHHH8ArOo1Sw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 176, + "top": 384, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -32007,12 +34805,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGwVTaL8zNw=", + "_id": "AAAAAAFbHHH8A7OyZWo=", "_parent": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, "model": { - "$ref": "AAAAAAFbHGwVTKL3GS0=" + "$ref": "AAAAAAFbHHH8ArOo1Sw=" }, "visible": false, "enabled": true, @@ -32023,21 +34821,103 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 785, - "top": 473, + "left": 163, + "top": 386, "width": 0, "height": 13, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, + "alpha": -0.7853981633974483, + "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHGwVTaL50Do=" + "$ref": "AAAAAAFbHHH8ArOqILQ=" }, - "edgePosition": 1, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHH8A7Oz/6g=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "model": { + "$ref": "AAAAAAFbHHH8ArOo1Sw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 204, + "top": 380, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHH8A7O0MlY=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "model": { + "$ref": "AAAAAAFbHHH8ArOnTL8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 0, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHH8A7O1Xbs=", + "_parent": { + "$ref": "AAAAAAFbHHH8ArOqILQ=" + }, + "model": { + "$ref": "AAAAAAFbHHH8ArOo1Sw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 0, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false } ], "visible": true, @@ -32050,44 +34930,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFyptpbluc8=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "tail": { - "$ref": "AAAAAAFbHFytbpcOd/U=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "lineStyle": 1, - "points": "814:405;786:559", + "points": "186:719;192:365", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHGwVTaL6WAw=" + "$ref": "AAAAAAFbHHH8A7OrREk=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHGwVTaL75lI=" + "$ref": "AAAAAAFbHHH8A7Osjo4=" }, "propertyLabel": { - "$ref": "AAAAAAFbHGwVTaL8zNw=" + "$ref": "AAAAAAFbHHH8A7Ot5wI=" + }, + "showMultiplicity": true, + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHHH8A7Oup18=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFbHHH8A7OvGVc=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHHH8A7OwbLo=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFbHHH8A7Ox7vM=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHHH8A7OyZWo=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHHH8A7Oz/6g=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHHH8A7O0MlY=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHHH8A7O1Xbs=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHGxt3qOegCY=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHHIBi7QajbM=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHGxt3qOc9Cg=" + "$ref": "AAAAAAFbHHIBi7QWc3M=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGxt36OfnEY=", + "_id": "AAAAAAFbHHIBi7QbkGo=", "_parent": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHGxt3qOc9Cg=" + "$ref": "AAAAAAFbHHIBi7QWc3M=" }, "visible": false, "enabled": true, @@ -32098,15 +35004,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 888, - "top": 468, + "left": 241, + "top": 540, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "edgePosition": 1, "underline": false, @@ -32116,12 +35022,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGxt36OgDrc=", + "_id": "AAAAAAFbHHIBi7Qc74o=", "_parent": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHGxt3qOc9Cg=" + "$ref": "AAAAAAFbHHIBi7QWc3M=" }, "visible": null, "enabled": true, @@ -32132,15 +35038,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 901, - "top": 461, + "left": 227, + "top": 545, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "edgePosition": 1, "underline": false, @@ -32150,12 +35056,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHGxt36OhbhI=", + "_id": "AAAAAAFbHHIBi7QdBnw=", "_parent": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHGxt3qOc9Cg=" + "$ref": "AAAAAAFbHHIBi7QWc3M=" }, "visible": false, "enabled": true, @@ -32166,357 +35072,100 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 861, - "top": 483, + "left": 270, + "top": 531, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHGxt3qOegCY=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFyjI5a8Kvc=" - }, - "tail": { - "$ref": "AAAAAAFbHFytbpcOd/U=" - }, - "lineStyle": 1, - "points": "831:405;919:559", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHGxt36OfnEY=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHGxt36OgDrc=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHGxt36OhbhI=" - } - }, - { - "_type": "UMLPackageView", - "_id": "AAAAAAFbHG/kZKynkHQ=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHG/kZKylPT8=" - }, - "subViews": [ + }, { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHG/kZayohYE=", - "_parent": { - "$ref": "AAAAAAFbHG/kZKynkHQ=" - }, - "model": { - "$ref": "AAAAAAFbHG/kZKylPT8=" - }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/kZaypHSw=", - "_parent": { - "$ref": "AAAAAAFbHG/kZayohYE=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1792, - "top": -1168, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/kZayqMV4=", - "_parent": { - "$ref": "AAAAAAFbHG/kZayohYE=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1069, - "top": 382, - "width": 199, - "height": 13, - "autoResize": false, - "underline": false, - "text": "thread", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/kZayrLik=", - "_parent": { - "$ref": "AAAAAAFbHG/kZayohYE=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1792, - "top": -1168, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from pose)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/kZaysAlM=", - "_parent": { - "$ref": "AAAAAAFbHG/kZayohYE=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1792, - "top": -1168, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7Qe1Gc=", + "_parent": { + "$ref": "AAAAAAFbHHIBi7QajbM=" + }, + "model": { + "$ref": "AAAAAAFbHHIBi7QXMuA=" + }, + "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1064, - "top": 375, - "width": 209, - "height": 25, + "left": 290, + "top": 692, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHG/kZaypHSw=" + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" }, - "nameLabel": { - "$ref": "AAAAAAFbHG/kZayqMV4=" + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7QfrTw=", + "_parent": { + "$ref": "AAAAAAFbHHIBi7QajbM=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHG/kZayrLik=" + "model": { + "$ref": "AAAAAAFbHHIBi7QXMuA=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHG/kZaysAlM=" - } - } - ], - "containedViews": [ - { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#e2e2e2", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": true, - "containerExtending": false, - "left": 1064, - "top": 360, - "width": 209, - "height": 168, - "autoResize": false, - "stereotypeDisplay": "label", - "showVisibility": true, - "showNamespace": false, - "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHG/kZayohYE=" - }, - "wordWrap": false - }, - { - "_type": "UMLClassView", - "_id": "AAAAAAFbHG/RJ6xo2hI=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" - }, - "subViews": [ + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 277, + "top": 694, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHG/RJ6xpDDM=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7Qgqbs=", "_parent": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" + "$ref": "AAAAAAFbHHIBi7QXMuA=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/RKKxq450=", - "_parent": { - "$ref": "AAAAAAFbHG/RJ6xpDDM=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1872, - "top": -952, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/RKKxrs6s=", - "_parent": { - "$ref": "AAAAAAFbHG/RJ6xpDDM=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1133, - "top": 431, - "width": 72, - "height": 13, - "autoResize": false, - "underline": false, - "text": "worker.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/RKKxsn6c=", - "_parent": { - "$ref": "AAAAAAFbHG/RJ6xpDDM=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1872, - "top": -952, - "width": 73, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from thread)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbHG/RKKxtXbA=", - "_parent": { - "$ref": "AAAAAAFbHG/RJ6xpDDM=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 1872, - "top": -952, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -32525,34 +35174,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1128, - "top": 424, - "width": 82, - "height": 25, + "left": 318, + "top": 688, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbHG/RKKxq450=" + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" }, - "nameLabel": { - "$ref": "AAAAAAFbHG/RKKxrs6s=" + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7QhuXs=", + "_parent": { + "$ref": "AAAAAAFbHHIBi7QajbM=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbHG/RKKxsn6c=" + "model": { + "$ref": "AAAAAAFbHHIBi7QYUYc=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHG/RKKxtXbA=" - } + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 192, + "top": 388, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbHG/RKKxurXM=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7Qi9mo=", "_parent": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" + "$ref": "AAAAAAFbHHIBi7QYUYc=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -32561,22 +35242,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1128, - "top": 449, - "width": 82, - "height": 10, - "autoResize": false + "left": 180, + "top": 394, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbHG/RKKxvzKM=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIBi7QjFDA=", "_parent": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" + "$ref": "AAAAAAFbHHIBi7QYUYc=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -32585,20 +35276,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1128, - "top": 459, - "width": 82, - "height": 10, - "autoResize": false + "left": 217, + "top": 375, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFbHHIBi7QajbM=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbHG/RKaxwRyc=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHIBi7Qk84c=", "_parent": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" + "$ref": "AAAAAAFbHHIBi7QXMuA=" }, "visible": false, "enabled": true, @@ -32609,20 +35310,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 944, - "top": -424, + "left": 216, + "top": -96, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbHG/RKaxxtCs=", + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHIBi7QlFM0=", "_parent": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHHIBi7QajbM=" }, "model": { - "$ref": "AAAAAAFbHG/RJqxmjag=" + "$ref": "AAAAAAFbHHIBi7QYUYc=" }, "visible": false, "enabled": true, @@ -32633,16 +35334,13 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 944, - "top": -424, + "left": 216, + "top": -96, "width": 10, "height": 10, "autoResize": false } ], - "containerView": { - "$ref": "AAAAAAFbHG/kZKynkHQ=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -32650,58 +35348,175 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 1128, - "top": 424, - "width": 82, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbHFzB0pg0a44=" + }, + "tail": { + "$ref": "AAAAAAFbHFy4FZeQTuQ=" + }, + "lineStyle": 1, + "points": "313:719;199:365", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbHG/RJ6xpDDM=" + "nameLabel": { + "$ref": "AAAAAAFbHHIBi7QbkGo=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHHIBi7Qc74o=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHHIBi7QdBnw=" }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbHG/RKKxurXM=" + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHHIBi7Qe1Gc=" }, - "operationCompartment": { - "$ref": "AAAAAAFbHG/RKKxvzKM=" + "tailPropertyLabel": { + "$ref": "AAAAAAFbHHIBi7QfrTw=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbHG/RKaxwRyc=" + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHHIBi7Qgqbs=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbHG/RKaxxtCs=" + "headRoleNameLabel": { + "$ref": "AAAAAAFbHHIBi7QhuXs=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHHIBi7Qi9mo=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHHIBi7QjFDA=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHHIBi7Qk84c=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHHIBi7QlFM0=" } }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHHB2Fq14MJo=", + "_type": "UMLAssociationView", + "_id": "AAAAAAFbHHIVkrSZV7o=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHB2E612aDc=" + "$ref": "AAAAAAFbHHIVkrSVUkA=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHB2F615c1c=", + "_id": "AAAAAAFbHHIVkrSaF+0=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "model": { + "$ref": "AAAAAAFbHHIVkrSVUkA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 495, + "top": 369, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIVk7SbH/k=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "model": { + "$ref": "AAAAAAFbHHIVkrSVUkA=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 494, + "top": 384, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIVk7Scx/Q=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "model": { + "$ref": "AAAAAAFbHHIVkrSVUkA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 496, + "top": 340, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHIVk7SdTU4=", "_parent": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHB2E612aDc=" + "$ref": "AAAAAAFbHHIVkrSW4DQ=" }, "visible": false, "enabled": true, @@ -32712,17 +35527,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 820, - "top": 293, + "left": 708, + "top": 384, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, + "alpha": 0.5235987755982988, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -32730,14 +35545,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHB2F616N3I=", + "_id": "AAAAAAFbHHIVk7SeMd0=", "_parent": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHB2E612aDc=" + "$ref": "AAAAAAFbHHIVkrSW4DQ=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -32746,17 +35561,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 825, - "top": 279, + "left": 704, + "top": 397, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, + "alpha": 0.7853981633974483, + "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -32764,12 +35579,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHB2F617nKw=", + "_id": "AAAAAAFbHHIVk7SfyGM=", "_parent": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHB2E612aDc=" + "$ref": "AAAAAAFbHHIVkrSW4DQ=" }, "visible": false, "enabled": true, @@ -32780,71 +35595,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 809, - "top": 322, + "left": 714, + "top": 357, "width": 0, "height": 13, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, + "alpha": -0.5235987755982988, + "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHHB2Fq14MJo=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 2, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" - }, - "tail": { - "$ref": "AAAAAAFbHFyblZYYzdE=" - }, - "lineStyle": 1, - "points": "503:197;1127:431", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHB2F615c1c=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHB2F616N3I=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHB2F617nKw=" - } - }, - { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHHCH1K24vVY=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHHCH1K22V0Q=" - }, - "subViews": [ + }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHCH1K25cGg=", + "_id": "AAAAAAFbHHIVk7Sg/fk=", "_parent": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHCH1K22V0Q=" + "$ref": "AAAAAAFbHHIVkrSXJ+E=" }, "visible": false, "enabled": true, @@ -32855,17 +35629,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 949, - "top": 291, + "left": 282, + "top": 356, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, + "alpha": -0.5235987755982988, + "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -32873,14 +35647,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHCH1a26amA=", + "_id": "AAAAAAFbHHIVk7ShD8g=", "_parent": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHCH1K22V0Q=" + "$ref": "AAAAAAFbHHIVkrSXJ+E=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -32889,17 +35663,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 957, - "top": 278, + "left": 284, + "top": 370, "width": 0, "height": 13, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, + "alpha": -0.7853981633974483, + "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -32907,12 +35681,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHCH1a27Pvc=", + "_id": "AAAAAAFbHHIVk7Sire8=", "_parent": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, "model": { - "$ref": "AAAAAAFbHHCH1K22V0Q=" + "$ref": "AAAAAAFbHHIVkrSXJ+E=" }, "visible": false, "enabled": true, @@ -32923,21 +35697,69 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 934, - "top": 316, + "left": 280, + "top": 328, "width": 0, "height": 13, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, + "alpha": 0.5235987755982988, + "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHHCH1K24vVY=" + "$ref": "AAAAAAFbHHIVkrSZV7o=" }, - "edgePosition": 1, + "edgePosition": 0, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHIVk7Sj3tE=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "model": { + "$ref": "AAAAAAFbHHIVkrSW4DQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 0, + "top": -96, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFbHHIVk7Sk1LE=", + "_parent": { + "$ref": "AAAAAAFbHHIVkrSZV7o=" + }, + "model": { + "$ref": "AAAAAAFbHHIVkrSXJ+E=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 0, + "top": -96, + "width": 10, + "height": 10, + "autoResize": false } ], "visible": true, @@ -32950,44 +35772,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHG/RJ6xo2hI=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "tail": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFytbpcOd/U=" }, "lineStyle": 1, - "points": "754:197;1130:423", + "points": "735:377;258:346", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHHCH1K25cGg=" + "$ref": "AAAAAAFbHHIVkrSaF+0=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHHCH1a26amA=" + "$ref": "AAAAAAFbHHIVk7SbH/k=" }, "propertyLabel": { - "$ref": "AAAAAAFbHHCH1a27Pvc=" + "$ref": "AAAAAAFbHHIVk7Scx/Q=" + }, + "showMultiplicity": true, + "showType": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFbHHIVk7SdTU4=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFbHHIVk7SeMd0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFbHHIVk7SfyGM=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFbHHIVk7Sg/fk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFbHHIVk7ShD8g=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFbHHIVk7Sire8=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFbHHIVk7Sj3tE=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFbHHIVk7Sk1LE=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHDZ/a7HVbM=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHHIq0rUlOjs=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" + "$ref": "AAAAAAFbHHIq0rUjTho=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/a7IYeg=", + "_id": "AAAAAAFbHHIq0rUm3rI=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" + "$ref": "AAAAAAFbHHIq0rUjTho=" }, "visible": false, "enabled": true, @@ -32998,15 +35846,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 359, - "top": 203, + "left": 203, + "top": 536, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "edgePosition": 1, "underline": false, @@ -33016,12 +35864,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/a7JE0Y=", + "_id": "AAAAAAFbHHIq0rUngO0=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" + "$ref": "AAAAAAFbHHIq0rUjTho=" }, "visible": null, "enabled": true, @@ -33032,15 +35880,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 351, - "top": 190, + "left": 218, + "top": 536, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "edgePosition": 1, "underline": false, @@ -33050,12 +35898,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/a7KIGE=", + "_id": "AAAAAAFbHHIq0rUoxCM=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7DPvI=" + "$ref": "AAAAAAFbHHIq0rUjTho=" }, "visible": false, "enabled": true, @@ -33066,98 +35914,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 376, - "top": 228, + "left": 174, + "top": 535, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIq0rUlOjs=" }, "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7L1+g=", - "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" - }, - "model": { - "$ref": "AAAAAAFbHHDZ/K7EAnY=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 342, - "top": 214, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7MFrg=", - "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" - }, - "model": { - "$ref": "AAAAAAFbHHDZ/K7EAnY=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 337, - "top": 201, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFy95Zfi54c=" + }, + "tail": { + "$ref": "AAAAAAFbHFzB0pg0a44=" + }, + "lineStyle": 1, + "points": "192:365;186:719", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHHIq0rUm3rI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHHIq0rUngO0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHHIq0rUoxCM=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHHIvk7WQ8Us=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHHIvkrWOA8M=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7N9/I=", + "_id": "AAAAAAFbHHIvk7WRdTY=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7EAnY=" + "$ref": "AAAAAAFbHHIvkrWOA8M=" }, "visible": false, "enabled": true, @@ -33168,17 +35989,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 353, - "top": 239, + "left": 270, + "top": 531, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, - "edgePosition": 2, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -33186,14 +36007,14 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7OpJY=", + "_id": "AAAAAAFbHHIvk7WSxiM=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7FK4E=" + "$ref": "AAAAAAFbHHIvkrWOA8M=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -33202,17 +36023,17 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 377, - "top": 192, + "left": 284, + "top": 526, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.5235987755982988, + "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, @@ -33220,12 +36041,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7PCYY=", + "_id": "AAAAAAFbHHIvk7WTBUE=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7FK4E=" + "$ref": "AAAAAAFbHHIvkrWOA8M=" }, "visible": false, "enabled": true, @@ -33236,30 +36057,71 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 367, - "top": 182, + "left": 241, + "top": 540, "width": 0, "height": 13, "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, + "alpha": -1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHIvk7WQ8Us=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false - }, + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbHFy4FZeQTuQ=" + }, + "tail": { + "$ref": "AAAAAAFbHFzB0pg0a44=" + }, + "lineStyle": 1, + "points": "199:365;313:719", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbHHIvk7WRdTY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbHHIvk7WSxiM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHHIvk7WTBUE=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbHHI0w7X7vM0=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHHI0w7X5fe0=" + }, + "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDZ/q7Qdr8=", + "_id": "AAAAAAFbHHI0w7X8Thg=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHI0w7X7vM0=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7FK4E=" + "$ref": "AAAAAAFbHHI0w7X5fe0=" }, "visible": false, "enabled": true, @@ -33270,32 +36132,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 395, - "top": 213, + "left": 497, + "top": 340, "width": 0, "height": 13, "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, + "alpha": 1.5707963267948966, + "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHI0w7X7vM0=" }, - "edgePosition": 0, + "edgePosition": 1, "underline": false, "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHDZ/q7R75I=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHI0w7X9S8I=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHI0w7X7vM0=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7EAnY=" + "$ref": "AAAAAAFbHHI0w7X5fe0=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -33304,20 +36166,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -336, - "top": -80, - "width": 10, - "height": 10, - "autoResize": false + "left": 498, + "top": 325, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbHHI0w7X7vM0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHDZ/q7SvXQ=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbHHI0w7X+22E=", "_parent": { - "$ref": "AAAAAAFbHHDZ/a7HVbM=" + "$ref": "AAAAAAFbHHI0w7X7vM0=" }, "model": { - "$ref": "AAAAAAFbHHDZ/K7FK4E=" + "$ref": "AAAAAAFbHHI0w7X5fe0=" }, "visible": false, "enabled": true, @@ -33328,11 +36200,21 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -336, - "top": -80, - "width": 10, - "height": 10, - "autoResize": false + "left": 494, + "top": 369, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbHHI0w7X7vM0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], "visible": true, @@ -33345,70 +36227,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFytbpcOd/U=" }, "tail": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "lineStyle": 1, - "points": "329:247;407:197", + "points": "258:346;735:377", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHHDZ/a7IYeg=" + "$ref": "AAAAAAFbHHI0w7X8Thg=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHHDZ/a7JE0Y=" + "$ref": "AAAAAAFbHHI0w7X9S8I=" }, "propertyLabel": { - "$ref": "AAAAAAFbHHDZ/a7KIGE=" - }, - "showMultiplicity": true, - "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHDZ/q7L1+g=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHHDZ/q7MFrg=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHDZ/q7N9/I=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHHDZ/q7OpJY=" - }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHHDZ/q7PCYY=" - }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHDZ/q7Qdr8=" - }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHDZ/q7R75I=" - }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHDZ/q7SvXQ=" + "$ref": "AAAAAAFbHHI0w7X+22E=" } }, { "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHDrE68ZoBE=", + "_id": "AAAAAAFbHHKsPL12RiI=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" + "$ref": "AAAAAAFbHHKsO71y8uU=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68adsE=", + "_id": "AAAAAAFbHHKsPL13yWY=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" + "$ref": "AAAAAAFbHHKsO71y8uU=" }, "visible": false, "enabled": true, @@ -33419,15 +36275,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 580, - "top": 310, + "left": 234, + "top": 287, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 1, "underline": false, @@ -33437,12 +36293,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68bB7M=", + "_id": "AAAAAAFbHHKsPL14FxE=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" + "$ref": "AAAAAAFbHHKsO71y8uU=" }, "visible": null, "enabled": true, @@ -33453,15 +36309,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 568, - "top": 301, + "left": 225, + "top": 275, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 1, "underline": false, @@ -33471,12 +36327,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68c2s0=", + "_id": "AAAAAAFbHHKsPb15dxE=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8VKcc=" + "$ref": "AAAAAAFbHHKsO71y8uU=" }, "visible": false, "enabled": true, @@ -33487,15 +36343,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 603, - "top": 329, + "left": 251, + "top": 312, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 1, "underline": false, @@ -33505,12 +36361,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68dz0w=", + "_id": "AAAAAAFbHHKsPb16DB8=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8WF48=" + "$ref": "AAAAAAFbHHKsO71zxWo=" }, "visible": false, "enabled": true, @@ -33521,15 +36377,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 492, - "top": 419, + "left": 237, + "top": 285, "width": 0, "height": 13, "autoResize": false, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 2, "underline": false, @@ -33539,12 +36395,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68eESM=", + "_id": "AAAAAAFbHHKsPb17wzI=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8WF48=" + "$ref": "AAAAAAFbHHKsO71zxWo=" }, "visible": false, "enabled": true, @@ -33555,15 +36411,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 483, - "top": 409, + "left": 231, + "top": 273, "width": 0, "height": 13, "autoResize": false, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 2, "underline": false, @@ -33573,12 +36429,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68f3k0=", + "_id": "AAAAAAFbHHKsPb18Uwg=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8WF48=" + "$ref": "AAAAAAFbHHKsO71zxWo=" }, "visible": false, "enabled": true, @@ -33589,15 +36445,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 511, - "top": 440, + "left": 249, + "top": 310, "width": 0, "height": 13, "autoResize": false, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 2, "underline": false, @@ -33607,12 +36463,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68gyRw=", + "_id": "AAAAAAFbHHKsPb19bus=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8X3Y0=" + "$ref": "AAAAAAFbHHKsO710h4k=" }, "visible": false, "enabled": true, @@ -33623,15 +36479,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 668, - "top": 201, + "left": 231, + "top": 290, "width": 0, "height": 13, "autoResize": false, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 0, "underline": false, @@ -33641,12 +36497,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68hHGA=", + "_id": "AAAAAAFbHHKsPb1+CzE=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8X3Y0=" + "$ref": "AAAAAAFbHHKsO710h4k=" }, "visible": false, "enabled": true, @@ -33657,15 +36513,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 657, - "top": 195, + "left": 221, + "top": 280, "width": 0, "height": 13, "autoResize": false, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 0, "underline": false, @@ -33675,12 +36531,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHDrE68i5gI=", + "_id": "AAAAAAFbHHKsPb1/BVk=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8X3Y0=" + "$ref": "AAAAAAFbHHKsO710h4k=" }, "visible": false, "enabled": true, @@ -33691,15 +36547,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 693, - "top": 215, + "left": 250, + "top": 309, "width": 0, "height": 13, "autoResize": false, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "edgePosition": 0, "underline": false, @@ -33709,12 +36565,12 @@ }, { "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHDrE68jf8Q=", + "_id": "AAAAAAFbHHKsPb2ABmk=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8WF48=" + "$ref": "AAAAAAFbHHKsO71zxWo=" }, "visible": false, "enabled": true, @@ -33726,19 +36582,19 @@ "containerChangeable": false, "containerExtending": false, "left": 0, - "top": -104, + "top": -80, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHDrE68kubs=", + "_id": "AAAAAAFbHHKsPb2BlHI=", "_parent": { - "$ref": "AAAAAAFbHHDrE68ZoBE=" + "$ref": "AAAAAAFbHHKsPL12RiI=" }, "model": { - "$ref": "AAAAAAFbHHDrEq8X3Y0=" + "$ref": "AAAAAAFbHHKsO710h4k=" }, "visible": false, "enabled": true, @@ -33750,7 +36606,7 @@ "containerChangeable": false, "containerExtending": false, "left": 0, - "top": -104, + "top": -80, "width": 10, "height": 10, "autoResize": false @@ -33766,70 +36622,70 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "tail": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "lineStyle": 1, - "points": "488:455;697:197", + "points": "225:319;261:293", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHHDrE68adsE=" + "$ref": "AAAAAAFbHHKsPL13yWY=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHHDrE68bB7M=" + "$ref": "AAAAAAFbHHKsPL14FxE=" }, "propertyLabel": { - "$ref": "AAAAAAFbHHDrE68c2s0=" + "$ref": "AAAAAAFbHHKsPb15dxE=" }, "showMultiplicity": true, "showType": true, "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHDrE68dz0w=" + "$ref": "AAAAAAFbHHKsPb16DB8=" }, "tailPropertyLabel": { - "$ref": "AAAAAAFbHHDrE68eESM=" + "$ref": "AAAAAAFbHHKsPb17wzI=" }, "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHDrE68f3k0=" + "$ref": "AAAAAAFbHHKsPb18Uwg=" }, "headRoleNameLabel": { - "$ref": "AAAAAAFbHHDrE68gyRw=" + "$ref": "AAAAAAFbHHKsPb19bus=" }, "headPropertyLabel": { - "$ref": "AAAAAAFbHHDrE68hHGA=" + "$ref": "AAAAAAFbHHKsPb1+CzE=" }, "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHDrE68i5gI=" + "$ref": "AAAAAAFbHHKsPb1/BVk=" }, "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHDrE68jf8Q=" + "$ref": "AAAAAAFbHHKsPb2ABmk=" }, "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHDrE68kubs=" + "$ref": "AAAAAAFbHHKsPb2BlHI=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHD2Aq94xHI=", + "_id": "AAAAAAFbHHK6E74R1Ec=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHD2Aq92KiE=" + "$ref": "AAAAAAFbHHK6E74POAA=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD2Aq95ppo=", + "_id": "AAAAAAFbHHK6E74SvC4=", "_parent": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "model": { - "$ref": "AAAAAAFbHHD2Aq92KiE=" + "$ref": "AAAAAAFbHHK6E74POAA=" }, "visible": false, "enabled": true, @@ -33840,15 +36696,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 376, - "top": 228, + "left": 251, + "top": 312, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "edgePosition": 1, "underline": false, @@ -33858,12 +36714,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD2Aq96k04=", + "_id": "AAAAAAFbHHK6FL4Tpuw=", "_parent": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "model": { - "$ref": "AAAAAAFbHHD2Aq92KiE=" + "$ref": "AAAAAAFbHHK6E74POAA=" }, "visible": null, "enabled": true, @@ -33874,15 +36730,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": 241, + "left": 260, + "top": 324, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "edgePosition": 1, "underline": false, @@ -33892,12 +36748,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD2Aq97XLY=", + "_id": "AAAAAAFbHHK6FL4Ueb4=", "_parent": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "model": { - "$ref": "AAAAAAFbHHD2Aq92KiE=" + "$ref": "AAAAAAFbHHK6E74POAA=" }, "visible": false, "enabled": true, @@ -33908,15 +36764,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 359, - "top": 203, + "left": 234, + "top": 287, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHD2Aq94xHI=" + "$ref": "AAAAAAFbHHK6E74R1Ec=" }, "edgePosition": 1, "underline": false, @@ -33935,44 +36791,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" + "$ref": "AAAAAAFbHFzB0pg0a44=" }, "tail": { - "$ref": "AAAAAAFbHFyblZYYzdE=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "lineStyle": 1, - "points": "407:197;329:247", + "points": "261:293;225:319", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHHD2Aq95ppo=" + "$ref": "AAAAAAFbHHK6E74SvC4=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHHD2Aq96k04=" + "$ref": "AAAAAAFbHHK6FL4Tpuw=" }, "propertyLabel": { - "$ref": "AAAAAAFbHHD2Aq97XLY=" + "$ref": "AAAAAAFbHHK6FL4Ueb4=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHD7mq+2IXM=", + "_id": "AAAAAAFbHHSf7cWURUk=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHD7mq+0ft0=" + "$ref": "AAAAAAFbHHSf7MWSFj4=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD7mq+3mv4=", + "_id": "AAAAAAFbHHSf7cWVggM=", "_parent": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "model": { - "$ref": "AAAAAAFbHHD7mq+0ft0=" + "$ref": "AAAAAAFbHHSf7MWSFj4=" }, "visible": false, "enabled": true, @@ -33983,15 +36839,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 603, - "top": 329, + "left": 453, + "top": 516, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "edgePosition": 1, "underline": false, @@ -34001,12 +36857,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD7m6+4324=", + "_id": "AAAAAAFbHHSf7cWW5yo=", "_parent": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "model": { - "$ref": "AAAAAAFbHHD7mq+0ft0=" + "$ref": "AAAAAAFbHHSf7MWSFj4=" }, "visible": null, "enabled": true, @@ -34017,15 +36873,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 615, - "top": 338, + "left": 466, + "top": 509, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "edgePosition": 1, "underline": false, @@ -34035,12 +36891,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHD7m6+5leg=", + "_id": "AAAAAAFbHHSf7cWXNhk=", "_parent": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "model": { - "$ref": "AAAAAAFbHHD7mq+0ft0=" + "$ref": "AAAAAAFbHHSf7MWSFj4=" }, "visible": false, "enabled": true, @@ -34051,15 +36907,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 580, - "top": 310, + "left": 426, + "top": 531, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbHHD7mq+2IXM=" + "$ref": "AAAAAAFbHHSf7cWURUk=" }, "edgePosition": 1, "underline": false, @@ -34078,46 +36934,150 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbHFzK5piG7DA=" + "$ref": "AAAAAAFbHGJ4XaFCtvY=" }, "tail": { - "$ref": "AAAAAAFbHFyaDpXvuYI=" + "$ref": "AAAAAAFbHFy/tZgLHvQ=" }, "lineStyle": 1, - "points": "697:197;488:455", + "points": "307:293;574:767", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbHHD7mq+3mv4=" + "$ref": "AAAAAAFbHHSf7cWVggM=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbHHD7m6+4324=" + "$ref": "AAAAAAFbHHSf7cWW5yo=" }, "propertyLabel": { - "$ref": "AAAAAAFbHHD7m6+5leg=" + "$ref": "AAAAAAFbHHSf7cWXNhk=" } }, { - "_type": "UMLGeneralizationView", - "_id": "AAAAAAFbHHGZKrGsQOQ=", + "_type": "UMLClassView", + "_id": "AAAAAAFcswZnYipVtjM=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHGZKrGqXrE=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHGZKrGtPkg=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFcswZnYipWjY4=", "_parent": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" + "$ref": "AAAAAAFcswZnYipVtjM=" }, "model": { - "$ref": "AAAAAAFbHHGZKrGqXrE=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFcswZnYipXk+w=", + "_parent": { + "$ref": "AAAAAAFcswZnYipWjY4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -244, + "top": 928, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswZnYipYmSQ=", + "_parent": { + "$ref": "AAAAAAFcswZnYipWjY4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 637, + "top": 775, + "width": 88, + "height": 13, + "autoResize": false, + "underline": false, + "text": "rectangle.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswZnYipZ+XA=", + "_parent": { + "$ref": "AAAAAAFcswZnYipWjY4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -244, + "top": 928, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswZnYipatsE=", + "_parent": { + "$ref": "AAAAAAFcswZnYipWjY4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -244, + "top": 928, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34126,32 +37086,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 484, - "top": 396, - "width": 0, - "height": 13, + "left": 632, + "top": 768, + "width": 98, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" + "stereotypeLabel": { + "$ref": "AAAAAAFcswZnYipXk+w=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFcswZnYipYmSQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFcswZnYipZ+XA=" + }, + "propertyLabel": { + "$ref": "AAAAAAFcswZnYipatsE=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHGZKrGuu2Q=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFcswZnYipbZ/0=", "_parent": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" + "$ref": "AAAAAAFcswZnYipVtjM=" }, "model": { - "$ref": "AAAAAAFbHHGZKrGqXrE=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": null, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34160,30 +37122,68 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 499, - "top": 396, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" + "left": 632, + "top": 793, + "width": 98, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFcswZnYipcT0k=", + "_parent": { + "$ref": "AAAAAAFcswZnYipVtjM=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "model": { + "$ref": "AAAAAAFcswXRoLSckR0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 632, + "top": 803, + "width": 98, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFcswZnYypdFNI=", + "_parent": { + "$ref": "AAAAAAFcswZnYipVtjM=" + }, + "model": { + "$ref": "AAAAAAFcswXRoLSckR0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -254, + "top": 724, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHGZKrGvTkE=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFcswZnYypeYYs=", "_parent": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" + "$ref": "AAAAAAFcswZnYipVtjM=" }, "model": { - "$ref": "AAAAAAFbHHGZKrGqXrE=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, "visible": false, "enabled": true, @@ -34194,23 +37194,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 455, - "top": 395, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHGZKrGsQOQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -254, + "top": 724, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHGJip6EoNT0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -34218,49 +37211,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFzK5piG7DA=" - }, - "tail": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "lineStyle": 1, - "points": "472:349;469:455", + "left": 632, + "top": 768, + "width": 98, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHGZKrGtPkg=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFcswZnYipWjY4=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHGZKrGuu2Q=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFcswZnYipbZ/0=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHHGZKrGvTkE=" + "operationCompartment": { + "$ref": "AAAAAAFcswZnYipcT0k=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFcswZnYypdFNI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFcswZnYypeYYs=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHH8ArOqILQ=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFyvbZc3RwA=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOmRco=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7OrREk=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFyvbZc4C3A=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOmRco=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyvbZc5kUI=", + "_parent": { + "$ref": "AAAAAAFbHFyvbZc4C3A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -616, + "top": 544, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyvbZc6THM=", + "_parent": { + "$ref": "AAAAAAFbHFyvbZc4C3A=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 253, + "top": 799, + "width": 134, + "height": 13, + "autoResize": false, + "underline": false, + "text": "resizeAndMergeBase", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyvbZc7p48=", + "_parent": { + "$ref": "AAAAAAFbHFyvbZc4C3A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -616, + "top": 544, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFyvbZc8l9I=", + "_parent": { + "$ref": "AAAAAAFbHFyvbZc4C3A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -616, + "top": 544, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34269,66 +37377,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 270, - "top": 386, - "width": 0, - "height": 13, + "left": 248, + "top": 792, + "width": 144, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7Osjo4=", - "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFyvbZc5kUI=" }, - "model": { - "$ref": "AAAAAAFbHHH8ArOmRco=" + "nameLabel": { + "$ref": "AAAAAAFbHFyvbZc6THM=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 264, - "top": 372, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFyvbZc7p48=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFyvbZc8l9I=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7Ot5wI=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFyvbpc9Q/A=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOmRco=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34337,32 +37413,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 281, - "top": 413, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 248, + "top": 817, + "width": 144, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7Oup18=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFyvbpc+c/o=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOnTL8=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34371,30 +37437,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 155, - "top": 434, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 248, + "top": 827, + "width": 144, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7OvGVc=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFyvbpc/wXI=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOnTL8=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, "visible": false, "enabled": true, @@ -34405,30 +37461,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 152, - "top": 421, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -520, + "top": 400, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7OwbLo=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFyvbpdAAyo=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFyvbZc3RwA=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOnTL8=" + "$ref": "AAAAAAFbHFyvbZc1D+I=" }, "visible": false, "enabled": true, @@ -34439,32 +37485,181 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 161, - "top": 461, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, + "left": -520, + "top": 400, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "containerView": { + "$ref": "AAAAAAFbHGJip6EoNT0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 248, + "top": 792, + "width": 144, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHFyvbZc4C3A=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFyvbpc9Q/A=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbHFyvbpc+c/o=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbHFyvbpc/wXI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFyvbpdAAyo=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFbHFy4FZeQTuQ=", + "_parent": { + "$ref": "AAAAAAFbHDdYEV2Qawk=" + }, + "model": { + "$ref": "AAAAAAFbHFy4FZeOtro=" + }, + "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7Ox7vM=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFy4FpeRMeY=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOo1Sw=" + "$ref": "AAAAAAFbHFy4FZeOtro=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy4FpeSFbU=", + "_parent": { + "$ref": "AAAAAAFbHFy4FpeRMeY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -960, + "top": 392, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy4FpeTkoY=", + "_parent": { + "$ref": "AAAAAAFbHFy4FpeRMeY=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 253, + "top": 727, + "width": 136, + "height": 13, + "autoResize": false, + "underline": false, + "text": "resizeAndMergeCaffe", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy4FpeUTNc=", + "_parent": { + "$ref": "AAAAAAFbHFy4FpeRMeY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -960, + "top": 392, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy4FpeVlXs=", + "_parent": { + "$ref": "AAAAAAFbHFy4FpeRMeY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -960, + "top": 392, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34473,32 +37668,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 386, - "top": 339, - "width": 0, - "height": 13, + "left": 248, + "top": 720, + "width": 146, + "height": 25, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFy4FpeSFbU=" + }, + "nameLabel": { + "$ref": "AAAAAAFbHFy4FpeTkoY=" }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "namespaceLabel": { + "$ref": "AAAAAAFbHFy4FpeUTNc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHFy4FpeVlXs=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7OyZWo=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFy4FpeWkb8=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOo1Sw=" + "$ref": "AAAAAAFbHFy4FZeOtro=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34507,32 +37704,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 379, - "top": 327, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 248, + "top": 745, + "width": 146, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHH8A7Oz/6g=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFy4FpeXKZk=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOo1Sw=" + "$ref": "AAAAAAFbHFy4FZeOtro=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34541,30 +37728,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 400, - "top": 362, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 248, + "top": 755, + "width": 146, + "height": 10, + "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHH8A7O0MlY=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFy4FpeYWpw=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOnTL8=" + "$ref": "AAAAAAFbHFy4FZeOtro=" }, "visible": false, "enabled": true, @@ -34575,20 +37752,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -104, + "left": -696, + "top": 320, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHH8A7O1Xbs=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFy4F5eZQQc=", "_parent": { - "$ref": "AAAAAAFbHHH8ArOqILQ=" + "$ref": "AAAAAAFbHFy4FZeQTuQ=" }, "model": { - "$ref": "AAAAAAFbHHH8ArOo1Sw=" + "$ref": "AAAAAAFbHFy4FZeOtro=" }, "visible": false, "enabled": true, @@ -34599,13 +37776,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -104, + "left": -696, + "top": 320, "width": 10, "height": 10, "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHGJip6EoNT0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -34613,245 +37793,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "tail": { - "$ref": "AAAAAAFbHFy95Zfi54c=" - }, - "lineStyle": 1, - "points": "137:464;416:349", + "left": 248, + "top": 720, + "width": 146, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHH8A7OrREk=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHH8A7Osjo4=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHH8A7Ot5wI=" - }, - "showMultiplicity": true, "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHH8A7Oup18=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHHH8A7OvGVc=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHH8A7OwbLo=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHHH8A7Ox7vM=" + "nameCompartment": { + "$ref": "AAAAAAFbHFy4FpeRMeY=" }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHHH8A7OyZWo=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFy4FpeWkb8=" }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHH8A7Oz/6g=" + "operationCompartment": { + "$ref": "AAAAAAFbHFy4FpeXKZk=" }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHH8A7O0MlY=" + "receptionCompartment": { + "$ref": "AAAAAAFbHFy4FpeYWpw=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHH8A7O1Xbs=" + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFy4F5eZQQc=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHIBi7QajbM=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFy7rZe5yb0=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7QbkGo=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "model": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 374, - "top": 384, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7Qc74o=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "model": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" - }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 364, - "top": 373, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7QdBnw=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "model": { - "$ref": "AAAAAAFbHHIBi7QWc3M=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 393, - "top": 407, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7Qe1Gc=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "model": { - "$ref": "AAAAAAFbHHIBi7QXMuA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 332, - "top": 420, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7QfrTw=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "model": { - "$ref": "AAAAAAFbHHIBi7QXMuA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 325, - "top": 409, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7Qgqbs=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFy7rpe6V8M=", "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "$ref": "AAAAAAFbHFy7rZe5yb0=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QXMuA=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy7rpe70Ts=", + "_parent": { + "$ref": "AAAAAAFbHFy7rpe6V8M=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -144, + "top": 288, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy7rpe8JrM=", + "_parent": { + "$ref": "AAAAAAFbHFy7rpe6V8M=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 161, + "top": 799, + "width": 57, + "height": 13, + "autoResize": false, + "underline": false, + "text": "nmsBase", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy7rpe9fX8=", + "_parent": { + "$ref": "AAAAAAFbHFy7rpe6V8M=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -144, + "top": 288, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy7rpe+Aic=", + "_parent": { + "$ref": "AAAAAAFbHFy7rpe6V8M=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -144, + "top": 288, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34860,100 +37959,58 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 347, - "top": 444, - "width": 0, - "height": 13, + "left": 156, + "top": 792, + "width": 67, + "height": 25, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7QhuXs=", - "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFy7rpe70Ts=" }, - "model": { - "$ref": "AAAAAAFbHHIBi7QYUYc=" + "nameLabel": { + "$ref": "AAAAAAFbHFy7rpe8JrM=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 415, - "top": 348, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFy7rpe9fX8=" }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFy7rpe+Aic=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7Qi9mo=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFy7rpe/fWU=", "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "$ref": "AAAAAAFbHFy7rZe5yb0=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QYUYc=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 405, - "top": 340, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 156, + "top": 817, + "width": 67, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIBi7QjFDA=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFy7rpfAyfc=", "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "$ref": "AAAAAAFbHFy7rZe5yb0=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QYUYc=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -34962,30 +38019,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 436, - "top": 366, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHIBi7QajbM=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 156, + "top": 827, + "width": 67, + "height": 10, + "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHIBi7Qk84c=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFy7rpfBpkI=", "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "$ref": "AAAAAAFbHFy7rZe5yb0=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QXMuA=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": false, "enabled": true, @@ -34996,20 +38043,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -104, + "left": -192, + "top": 272, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHIBi7QlFM0=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFy7rpfC4aM=", "_parent": { - "$ref": "AAAAAAFbHHIBi7QajbM=" + "$ref": "AAAAAAFbHFy7rZe5yb0=" }, "model": { - "$ref": "AAAAAAFbHHIBi7QYUYc=" + "$ref": "AAAAAAFbHFy7rZe3LU0=" }, "visible": false, "enabled": true, @@ -35020,13 +38067,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -104, + "left": -192, + "top": 272, "width": 10, "height": 10, "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHGJip6EoNT0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -35034,245 +38084,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "tail": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" - }, - "lineStyle": 1, - "points": "323:455;445:349", + "left": 156, + "top": 792, + "width": 67, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHIBi7QbkGo=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHIBi7Qc74o=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHIBi7QdBnw=" - }, - "showMultiplicity": true, "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHIBi7Qe1Gc=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHHIBi7QfrTw=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHIBi7Qgqbs=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHHIBi7QhuXs=" + "nameCompartment": { + "$ref": "AAAAAAFbHFy7rpe6V8M=" }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHHIBi7Qi9mo=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFy7rpe/fWU=" }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHIBi7QjFDA=" + "operationCompartment": { + "$ref": "AAAAAAFbHFy7rpfAyfc=" }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHIBi7Qk84c=" + "receptionCompartment": { + "$ref": "AAAAAAFbHFy7rpfBpkI=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHIBi7QlFM0=" + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFy7rpfC4aM=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHIVkrSZV7o=", + "_type": "UMLClassView", + "_id": "AAAAAAFbHFy95Zfi54c=", "_parent": { "$ref": "AAAAAAFbHDdYEV2Qawk=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVkrSaF+0=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "model": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 633, - "top": 361, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7SbH/k=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "model": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" - }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 631, - "top": 376, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7Scx/Q=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "model": { - "$ref": "AAAAAAFbHHIVkrSVUkA=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 638, - "top": 332, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7SdTU4=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "model": { - "$ref": "AAAAAAFbHHIVkrSW4DQ=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 706, - "top": 373, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7SeMd0=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "model": { - "$ref": "AAAAAAFbHHIVkrSW4DQ=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 702, - "top": 386, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7SfyGM=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHFy95pfjA10=", "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSW4DQ=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy95pfk5rs=", + "_parent": { + "$ref": "AAAAAAFbHFy95pfjA10=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -744, + "top": 56, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy95pflDeI=", + "_parent": { + "$ref": "AAAAAAFbHFy95pfjA10=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 157, + "top": 727, + "width": 59, + "height": 13, + "autoResize": false, + "underline": false, + "text": "nmsCaffe", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy95pfmtA4=", + "_parent": { + "$ref": "AAAAAAFbHFy95pfjA10=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -744, + "top": 56, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHFy95pfnV80=", + "_parent": { + "$ref": "AAAAAAFbHFy95pfjA10=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -744, + "top": 56, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35281,66 +38250,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 715, - "top": 347, - "width": 0, - "height": 13, + "left": 152, + "top": 720, + "width": 69, + "height": 25, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7Sg/fk=", - "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHFy95pfk5rs=" }, - "model": { - "$ref": "AAAAAAFbHHIVkrSXJ+E=" + "nameLabel": { + "$ref": "AAAAAAFbHFy95pflDeI=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 561, - "top": 349, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "namespaceLabel": { + "$ref": "AAAAAAFbHFy95pfmtA4=" }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbHFy95pfnV80=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7ShD8g=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbHFy95pfogx8=", "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSXJ+E=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35349,32 +38286,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 561, - "top": 363, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 152, + "top": 745, + "width": 69, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIVk7Sire8=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbHFy95pfpvIw=", "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSXJ+E=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35383,30 +38310,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 561, - "top": 322, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 152, + "top": 755, + "width": 69, + "height": 10, + "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHIVk7Sj3tE=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbHFy95pfqAaA=", "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSW4DQ=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": false, "enabled": true, @@ -35417,20 +38334,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -96, + "left": -540, + "top": 128, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHIVk7Sk1LE=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbHFy95pfr/Ks=", "_parent": { - "$ref": "AAAAAAFbHHIVkrSZV7o=" + "$ref": "AAAAAAFbHFy95Zfi54c=" }, "model": { - "$ref": "AAAAAAFbHHIVkrSXJ+E=" + "$ref": "AAAAAAFbHFy95Zfg+a8=" }, "visible": false, "enabled": true, @@ -35441,13 +38358,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -96, + "left": -540, + "top": 128, "width": 10, "height": 10, "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHGJip6EoNT0=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -35455,218 +38375,801 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "tail": { - "$ref": "AAAAAAFbHFytbpcOd/U=" - }, - "lineStyle": 1, - "points": "735:369;538:337", + "left": 152, + "top": 720, + "width": 69, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHIVkrSaF+0=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHIVk7SbH/k=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHIVk7Scx/Q=" - }, - "showMultiplicity": true, "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHIVk7SdTU4=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHHIVk7SeMd0=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHIVk7SfyGM=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHHIVk7Sg/fk=" + "nameCompartment": { + "$ref": "AAAAAAFbHFy95pfjA10=" }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHHIVk7ShD8g=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbHFy95pfogx8=" }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHIVk7Sire8=" + "operationCompartment": { + "$ref": "AAAAAAFbHFy95pfpvIw=" }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHIVk7Sj3tE=" + "receptionCompartment": { + "$ref": "AAAAAAFbHFy95pfqAaA=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHIVk7Sk1LE=" + "templateParameterCompartment": { + "$ref": "AAAAAAFbHFy95pfr/Ks=" } - }, + } + ] + }, + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFbHImRMcuZ6y8=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "utilities", + "ownedElements": [ { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHIq0rUlOjs=", + "_type": "UMLPackage", + "_id": "AAAAAAFbHInAVcvEP2c=", "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHHIq0rUjTho=" + "$ref": "AAAAAAFbHImRMcuZ6y8=" }, - "subViews": [ + "name": "utilities", + "ownedElements": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIq0rUm3rI=", + "_type": "UMLClass", + "_id": "AAAAAAFbH1K01c4qGfA=", "_parent": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "model": { - "$ref": "AAAAAAFbHHIq0rUjTho=" + "name": "pointerContainer.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1K2dM5Tzpk=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 281, - "top": 413, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "name": "macros.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1Ku8c2vnbk=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "fastMath.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIq0rUngO0=", + "_type": "UMLClass", + "_id": "AAAAAAFbH1Kyic4BM68=", "_parent": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "model": { - "$ref": "AAAAAAFbHHIq0rUjTho=" + "name": "Class12", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KrWc2GeKg=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 287, - "top": 427, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "name": "string", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4Lrs9H3Qto=", + "_parent": { + "$ref": "AAAAAAFbH1KrWc2GeKg=" + }, + "source": { + "$ref": "AAAAAAFbH1KrWc2GeKg=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1Kncc00FC4=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "name": "profiler", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4BsD9FeWAY=", + "_parent": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "source": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "target": { + "$ref": "AAAAAAFbH1K2dM5Tzpk=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4CBE9Fv0d4=", + "_parent": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "source": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KpWc1dlR0=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "fileSystem", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4Gy7dHE1fY=", + "_parent": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "source": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KjOcziMM4=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "cuda.hu", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KhQcy5iag=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "openCv", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4E09tGR0l4=", + "_parent": { + "$ref": "AAAAAAFbH1KhQcy5iag=" + }, + "source": { + "$ref": "AAAAAAFbH1KhQcy5iag=" + }, + "target": { + "$ref": "AAAAAAFbH1Ku8c2vnbk=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4E6fdGi9bg=", + "_parent": { + "$ref": "AAAAAAFbH1KhQcy5iag=" + }, + "source": { + "$ref": "AAAAAAFbH1KhQcy5iag=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KlEc0Lyxc=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "enumClasses.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KdscyQvqc=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "errorAndLog", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4ING9HmZX0=", + "_parent": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "source": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "target": { + "$ref": "AAAAAAFbH1KlEc0Lyxc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KarMxnJbU=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "cuda", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4Fr9NGzad4=", + "_parent": { + "$ref": "AAAAAAFbH1KarMxnJbU=" + }, + "source": { + "$ref": "AAAAAAFbH1KarMxnJbU=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1KXxMw+M4c=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "check.hpp", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFbH4Hu1NHV2CI=", + "_parent": { + "$ref": "AAAAAAFbH1KXxMw+M4c=" + }, + "source": { + "$ref": "AAAAAAFbH1KXxMw+M4c=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFbH1Kwgc3Y4Vk=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "headers.hpp", + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIq0rUoxCM=", + "_type": "UMLClass", + "_id": "AAAAAAFcswO76bJsmb4=", + "_parent": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "name": "keypoint", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAFcswPht7KYSAs=", + "_parent": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "source": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "target": { + "$ref": "AAAAAAFbH1KdscyQvqc=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFcswPmlrKpfyc=", + "_parent": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "source": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "target": { + "$ref": "AAAAAAFbH1K01c4qGfA=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFcswRgfbSHUnE=", + "_parent": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "source": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "target": { + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" + }, + "visibility": "public" + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAFcswYObrTJy5s=", + "_parent": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "source": { + "$ref": "AAAAAAFcswO76bJsmb4=" + }, + "target": { + "$ref": "AAAAAAFcswXRoLSckR0=" + }, + "visibility": "public" + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + } + ], + "visibility": "public" + } + ], + "visible": true, + "defaultDiagram": false, + "ownedViews": [ + { + "_type": "UMLPackageView", + "_id": "AAAAAAFbHInAVcvGkAM=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbHInAVcvEP2c=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbHInAVsvHUjA=", "_parent": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "$ref": "AAAAAAFbHInAVcvGkAM=" }, "model": { - "$ref": "AAAAAAFbHHIq0rUjTho=" + "$ref": "AAAAAAFbHInAVcvEP2c=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbHInAVsvIu8A=", + "_parent": { + "$ref": "AAAAAAFbHInAVsvHUjA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -288, + "top": -144, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHInAVsvJ7wA=", + "_parent": { + "$ref": "AAAAAAFbHInAVsvHUjA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 5, + "top": 22, + "width": 663, + "height": 13, + "autoResize": false, + "underline": false, + "text": "utilities", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHInAVsvKUOk=", + "_parent": { + "$ref": "AAAAAAFbHInAVsvHUjA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -288, + "top": -144, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbHInAVsvLLGo=", + "_parent": { + "$ref": "AAAAAAFbHInAVsvHUjA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -288, + "top": -144, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 270, - "top": 386, - "width": 0, - "height": 13, + "left": 0, + "top": 15, + "width": 673, + "height": 25, "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIq0rUlOjs=" + "stereotypeLabel": { + "$ref": "AAAAAAFbHInAVsvIu8A=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbHInAVsvJ7wA=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbHInAVsvKUOk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbHInAVsvLLGo=" + } + } + ], + "containedViews": [ + { + "$ref": "AAAAAAFbH1K01c4swqY=" + }, + { + "$ref": "AAAAAAFbH1K2dc5VSwA=" + }, + { + "$ref": "AAAAAAFbH1Ku8s2xHTc=" + }, + { + "$ref": "AAAAAAFbH1KrWs2IQv0=" + }, + { + "$ref": "AAAAAAFbH1Kncc02gVk=" + }, + { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + { + "$ref": "AAAAAAFbH1KjOczkikk=" + }, + { + "$ref": "AAAAAAFbH1KhQcy7aPg=" + }, + { + "$ref": "AAAAAAFbH1KlEc0N0+0=" + }, + { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + { + "$ref": "AAAAAAFbH1KarMxpeN0=" + }, + { + "$ref": "AAAAAAFbH1KXx8xAegg=" + }, + { + "$ref": "AAAAAAFbH1Kwgs3av4U=" + }, + { + "$ref": "AAAAAAFcswO767JuzTE=" } ], "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFy95Zfi54c=" - }, - "tail": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "lineStyle": 1, - "points": "416:349;137:464", + "left": 0, + "top": 0, + "width": 673, + "height": 417, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHIq0rUm3rI=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHIq0rUngO0=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbHInAVsvHUjA=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHHIq0rUoxCM=" - } + "wordWrap": false }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHIvk7WQ8Us=", + "_type": "UMLClassView", + "_id": "AAAAAAFbH1K01c4swqY=", "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" + "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbHHIvkrWOA8M=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIvk7WRdTY=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbH1K01s4tOrE=", "_parent": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "model": { - "$ref": "AAAAAAFbHHIvkrWOA8M=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K01s4u+5Q=", + "_parent": { + "$ref": "AAAAAAFbH1K01s4tOrE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 408, + "top": -368, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K01s4vnZw=", + "_parent": { + "$ref": "AAAAAAFbH1K01s4tOrE=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 373, + "top": 343, + "width": 135, + "height": 13, + "autoResize": false, + "underline": false, + "text": "pointerContainer.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K01s4wkug=", + "_parent": { + "$ref": "AAAAAAFbH1K01s4tOrE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 408, + "top": -368, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K01s4xtAc=", + "_parent": { + "$ref": "AAAAAAFbH1K01s4tOrE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 408, + "top": -368, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35675,66 +39178,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 393, - "top": 407, - "width": 0, - "height": 13, + "left": 368, + "top": 336, + "width": 145, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIvk7WSxiM=", - "_parent": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH1K01s4u+5Q=" }, - "model": { - "$ref": "AAAAAAFbHHIvkrWOA8M=" + "nameLabel": { + "$ref": "AAAAAAFbH1K01s4vnZw=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 403, - "top": 418, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" + "namespaceLabel": { + "$ref": "AAAAAAFbH1K01s4wkug=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbH1K01s4xtAc=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHIvk7WTBUE=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1K01s4yQdo=", "_parent": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "model": { - "$ref": "AAAAAAFbHHIvkrWOA8M=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35743,73 +39214,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 374, - "top": 384, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHIvk7WQ8Us=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFy4FZeQTuQ=" - }, - "tail": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "lineStyle": 1, - "points": "445:349;323:455", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHIvk7WRdTY=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHIvk7WSxiM=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHIvk7WTBUE=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHI0w7X7vM0=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHHI0w7X5fe0=" - }, - "subViews": [ + "left": 368, + "top": 361, + "width": 145, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHI0w7X8Thg=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1K01s4zOB0=", "_parent": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "model": { - "$ref": "AAAAAAFbHHI0w7X5fe0=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35818,32 +39238,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 638, - "top": 332, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 368, + "top": 371, + "width": 145, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHI0w7X9S8I=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1K01s400Zk=", "_parent": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "model": { - "$ref": "AAAAAAFbHHI0w7X5fe0=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35852,30 +39262,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 640, - "top": 317, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 328, + "top": -224, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHI0w7X+22E=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1K01s41rLU=", "_parent": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "model": { - "$ref": "AAAAAAFbHHI0w7X5fe0=" + "$ref": "AAAAAAFbH1K01c4qGfA=" }, "visible": false, "enabled": true, @@ -35886,23 +39286,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 633, - "top": 361, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHI0w7X7vM0=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 328, + "top": -224, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -35910,49 +39303,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFytbpcOd/U=" - }, - "tail": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "lineStyle": 1, - "points": "538:337;735:369", + "left": 368, + "top": 336, + "width": 145, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHI0w7X8Thg=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbH1K01s4tOrE=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHI0w7X9S8I=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1K01s4yQdo=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHHI0w7X+22E=" + "operationCompartment": { + "$ref": "AAAAAAFbH1K01s4zOB0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbH1K01s400Zk=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1K01s41rLU=" } }, { - "_type": "UMLAssociationView", - "_id": "AAAAAAFbHHKsPL12RiI=", + "_type": "UMLClassView", + "_id": "AAAAAAFbH1K2dc5VSwA=", "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" + "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbHHKsO71y8uU=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPL13yWY=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbH1K2dc5WSt4=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1K2dc5VSwA=" }, "model": { - "$ref": "AAAAAAFbHHKsO71y8uU=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K2dc5X3Q8=", + "_parent": { + "$ref": "AAAAAAFbH1K2dc5WSt4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 360, + "top": -328, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K2dc5YIww=", + "_parent": { + "$ref": "AAAAAAFbH1K2dc5WSt4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 533, + "top": 343, + "width": 74, + "height": 13, + "autoResize": false, + "underline": false, + "text": "macros.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K2dc5ZFOY=", + "_parent": { + "$ref": "AAAAAAFbH1K2dc5WSt4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 360, + "top": -328, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1K2dc5a6Mg=", + "_parent": { + "$ref": "AAAAAAFbH1K2dc5WSt4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 360, + "top": -328, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35961,32 +39469,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 370, - "top": 304, - "width": 0, - "height": 13, + "left": 528, + "top": 336, + "width": 84, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH1K2dc5X3Q8=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "nameLabel": { + "$ref": "AAAAAAFbH1K2dc5YIww=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFbH1K2dc5ZFOY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbH1K2dc5a6Mg=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPL14FxE=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1K2dc5b8Z0=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1K2dc5VSwA=" }, "model": { - "$ref": "AAAAAAFbHHKsO71y8uU=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, - "visible": null, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -35995,32 +39505,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 365, - "top": 318, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 528, + "top": 361, + "width": 84, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb15dxE=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1K2dc5cwkQ=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1K2dc5VSwA=" }, "model": { - "$ref": "AAAAAAFbHHKsO71y8uU=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36029,30 +39529,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 379, - "top": 275, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 528, + "top": 371, + "width": 84, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb16DB8=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1K2ds5dEyY=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1K2dc5VSwA=" }, "model": { - "$ref": "AAAAAAFbHHKsO71zxWo=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, "visible": false, "enabled": true, @@ -36063,30 +39553,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 377, - "top": 306, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 304, + "top": -184, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb17wzI=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1K2ds5e3eI=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1K2dc5VSwA=" }, "model": { - "$ref": "AAAAAAFbHHKsO71zxWo=" + "$ref": "AAAAAAFbH1K2dM5Tzpk=" }, "visible": false, "enabled": true, @@ -36097,32 +39577,181 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 371, - "top": 318, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, + "left": 304, + "top": -184, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 528, + "top": 336, + "width": 84, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbH1K2dc5WSt4=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1K2dc5b8Z0=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbH1K2dc5cwkQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbH1K2ds5dEyY=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1K2ds5e3eI=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFbH1Ku8s2xHTc=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbH1Ku8c2vnbk=" + }, + "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb18Uwg=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbH1Ku8s2yIEA=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1Ku8s2xHTc=" }, "model": { - "$ref": "AAAAAAFbHHKsO71zxWo=" + "$ref": "AAAAAAFbH1Ku8c2vnbk=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbH1Ku8s2zPBw=", + "_parent": { + "$ref": "AAAAAAFbH1Ku8s2yIEA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 456, + "top": -200, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1Ku8s20FrI=", + "_parent": { + "$ref": "AAAAAAFbH1Ku8s2yIEA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 269, + "top": 343, + "width": 81, + "height": 13, + "autoResize": false, + "underline": false, + "text": "fastMath.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1Ku8s21Q+w=", + "_parent": { + "$ref": "AAAAAAFbH1Ku8s2yIEA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 456, + "top": -200, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1Ku8s22MnU=", + "_parent": { + "$ref": "AAAAAAFbH1Ku8s2yIEA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 456, + "top": -200, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36131,66 +39760,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 390, - "top": 281, - "width": 0, - "height": 13, + "left": 264, + "top": 336, + "width": 91, + "height": 25, "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 2, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb19bus=", - "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH1Ku8s2zPBw=" }, - "model": { - "$ref": "AAAAAAFbHHKsO710h4k=" + "nameLabel": { + "$ref": "AAAAAAFbH1Ku8s20FrI=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 364, - "top": 302, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.5235987755982988, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "namespaceLabel": { + "$ref": "AAAAAAFbH1Ku8s21Q+w=" }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbH1Ku8s22MnU=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb1+CzE=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1Ku8823brw=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1Ku8s2xHTc=" }, "model": { - "$ref": "AAAAAAFbHHKsO710h4k=" + "$ref": "AAAAAAFbH1Ku8c2vnbk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36199,32 +39796,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 362, - "top": 315, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -0.7853981633974483, - "distance": 40, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 264, + "top": 361, + "width": 91, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHKsPb1/BVk=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1Ku8824w58=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1Ku8s2xHTc=" }, "model": { - "$ref": "AAAAAAFbHHKsO710h4k=" + "$ref": "AAAAAAFbH1Ku8c2vnbk=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36233,30 +39820,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 368, - "top": 274, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 0.5235987755982988, - "distance": 25, - "hostEdge": { - "$ref": "AAAAAAFbHHKsPL12RiI=" - }, - "edgePosition": 0, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 264, + "top": 371, + "width": 91, + "height": 10, + "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHKsPb2ABmk=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1Ku88255K4=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1Ku8s2xHTc=" }, "model": { - "$ref": "AAAAAAFbHHKsO71zxWo=" + "$ref": "AAAAAAFbH1Ku8c2vnbk=" }, "visible": false, "enabled": true, @@ -36267,20 +39844,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -80, + "left": 384, + "top": -136, "width": 10, "height": 10, "autoResize": false }, { - "_type": "UMLQualifierCompartmentView", - "_id": "AAAAAAFbHHKsPb2BlHI=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1Ku8826veA=", "_parent": { - "$ref": "AAAAAAFbHHKsPL12RiI=" + "$ref": "AAAAAAFbH1Ku8s2xHTc=" }, "model": { - "$ref": "AAAAAAFbHHKsO710h4k=" + "$ref": "AAAAAAFbH1Ku8c2vnbk=" }, "visible": false, "enabled": true, @@ -36291,13 +39868,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": -80, + "left": 384, + "top": -136, "width": 10, "height": 10, "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -36305,75 +39885,164 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" - }, - "tail": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "lineStyle": 1, - "points": "407:306;344:286", + "left": 264, + "top": 336, + "width": 91, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHKsPL13yWY=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHKsPL14FxE=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHKsPb15dxE=" - }, - "showMultiplicity": true, "showType": true, - "tailRoleNameLabel": { - "$ref": "AAAAAAFbHHKsPb16DB8=" - }, - "tailPropertyLabel": { - "$ref": "AAAAAAFbHHKsPb17wzI=" - }, - "tailMultiplicityLabel": { - "$ref": "AAAAAAFbHHKsPb18Uwg=" - }, - "headRoleNameLabel": { - "$ref": "AAAAAAFbHHKsPb19bus=" + "nameCompartment": { + "$ref": "AAAAAAFbH1Ku8s2yIEA=" }, - "headPropertyLabel": { - "$ref": "AAAAAAFbHHKsPb1+CzE=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1Ku8823brw=" }, - "headMultiplicityLabel": { - "$ref": "AAAAAAFbHHKsPb1/BVk=" + "operationCompartment": { + "$ref": "AAAAAAFbH1Ku8824w58=" }, - "tailQualifiersCompartment": { - "$ref": "AAAAAAFbHHKsPb2ABmk=" + "receptionCompartment": { + "$ref": "AAAAAAFbH1Ku88255K4=" }, - "headQualifiersCompartment": { - "$ref": "AAAAAAFbHHKsPb2BlHI=" + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1Ku8826veA=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHK6E74R1Ec=", + "_type": "UMLClassView", + "_id": "AAAAAAFbH1KrWs2IQv0=", "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" + "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbHHK6E74POAA=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHK6E74SvC4=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbH1KrWs2JULk=", "_parent": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" + "$ref": "AAAAAAFbH1KrWs2IQv0=" }, "model": { - "$ref": "AAAAAAFbHHK6E74POAA=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFbH1KrWs2KKQY=", + "_parent": { + "$ref": "AAAAAAFbH1KrWs2JULk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -664, + "top": -208, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1KrWs2Lzt0=", + "_parent": { + "$ref": "AAAAAAFbH1KrWs2JULk=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 237, + "top": 159, + "width": 40, + "height": 13, + "autoResize": false, + "underline": false, + "text": "string", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1KrWs2MG94=", + "_parent": { + "$ref": "AAAAAAFbH1KrWs2JULk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -664, + "top": -208, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFbH1KrWs2N77s=", + "_parent": { + "$ref": "AAAAAAFbH1KrWs2JULk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -664, + "top": -208, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36382,66 +40051,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 379, - "top": 275, - "width": 0, - "height": 13, + "left": 232, + "top": 152, + "width": 50, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHK6FL4Tpuw=", - "_parent": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH1KrWs2KKQY=" }, - "model": { - "$ref": "AAAAAAFbHHK6E74POAA=" + "nameLabel": { + "$ref": "AAAAAAFbH1KrWs2Lzt0=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 383, - "top": 261, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" + "namespaceLabel": { + "$ref": "AAAAAAFbH1KrWs2MG94=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFbH1KrWs2N77s=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHK6FL4Ueb4=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1KrWs2OxRg=", "_parent": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" + "$ref": "AAAAAAFbH1KrWs2IQv0=" }, "model": { - "$ref": "AAAAAAFbHHK6E74POAA=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36450,73 +40087,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 370, - "top": 304, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHK6E74R1Ec=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHFzB0pg0a44=" - }, - "tail": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" - }, - "lineStyle": 1, - "points": "344:286;407:306", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHK6E74SvC4=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHK6FL4Tpuw=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbHHK6FL4Ueb4=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbHHSf7cWURUk=", - "_parent": { - "$ref": "AAAAAAFbHDdYEV2Qawk=" - }, - "model": { - "$ref": "AAAAAAFbHHSf7MWSFj4=" - }, - "subViews": [ + "left": 232, + "top": 177, + "width": 50, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHSf7cWVggM=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1KrWs2PXAg=", "_parent": { - "$ref": "AAAAAAFbHHSf7cWURUk=" + "$ref": "AAAAAAFbH1KrWs2IQv0=" }, "model": { - "$ref": "AAAAAAFbHHSf7MWSFj4=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36525,32 +40111,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 461, - "top": 528, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHSf7cWURUk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 232, + "top": 187, + "width": 50, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHSf7cWW5yo=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1KrWs2QN9w=", "_parent": { - "$ref": "AAAAAAFbHHSf7cWURUk=" + "$ref": "AAAAAAFbH1KrWs2IQv0=" }, "model": { - "$ref": "AAAAAAFbHHSf7MWSFj4=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -36559,30 +40135,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 474, - "top": 521, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbHHSf7cWURUk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -264, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbHHSf7cWXNhk=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1KrWs2RYAs=", "_parent": { - "$ref": "AAAAAAFbHHSf7cWURUk=" + "$ref": "AAAAAAFbH1KrWs2IQv0=" }, "model": { - "$ref": "AAAAAAFbHHSf7MWSFj4=" + "$ref": "AAAAAAFbH1KrWc2GeKg=" }, "visible": false, "enabled": true, @@ -36593,23 +40159,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 434, - "top": 543, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbHHSf7cWURUk=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -264, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -36617,413 +40176,368 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbHGJ4XaFCtvY=" - }, - "tail": { - "$ref": "AAAAAAFbHFy/tZgLHvQ=" - }, - "lineStyle": 1, - "points": "307:293;590:791", + "left": 232, + "top": 152, + "width": 50, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbHHSf7cWVggM=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbH1KrWs2JULk=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbHHSf7cWW5yo=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1KrWs2OxRg=" }, - "propertyLabel": { - "$ref": "AAAAAAFbHHSf7cWXNhk=" + "operationCompartment": { + "$ref": "AAAAAAFbH1KrWs2PXAg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbH1KrWs2QN9w=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1KrWs2RYAs=" } - } - ] - }, - { - "_type": "UMLClassDiagram", - "_id": "AAAAAAFbHImRMcuZ6y8=", - "_parent": { - "$ref": "AAAAAAFF+qBWK6M3Z8Y=" - }, - "name": "utilities", - "ownedElements": [ + }, { - "_type": "UMLPackage", - "_id": "AAAAAAFbHInAVcvEP2c=", + "_type": "UMLClassView", + "_id": "AAAAAAFbH1Kncc02gVk=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, - "name": "utilities", - "ownedElements": [ - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1K01c4qGfA=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" - }, - "name": "pointerContainer.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1K2dM5Tzpk=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" - }, - "name": "macros.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1Ku8c2vnbk=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" - }, - "name": "fastMath.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "subViews": [ { - "_type": "UMLClass", - "_id": "AAAAAAFbH1Kyic4BM68=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFbH1Kncs03gFU=", "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1Kncc02gVk=" }, - "name": "Class12", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KrWc2GeKg=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" }, - "name": "string", - "ownedElements": [ + "subViews": [ { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4Lrs9H3Qto=", + "_type": "LabelView", + "_id": "AAAAAAFbH1Kncs04bDY=", "_parent": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" - }, - "source": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH1Kncs03gFU=" }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1Kncc00FC4=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" - }, - "name": "profiler", - "ownedElements": [ + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 904, + "top": -208, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4BsD9FeWAY=", + "_type": "LabelView", + "_id": "AAAAAAFbH1Kncs05CB0=", "_parent": { - "$ref": "AAAAAAFbH1Kncc00FC4=" - }, - "source": { - "$ref": "AAAAAAFbH1Kncc00FC4=" - }, - "target": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1Kncs03gFU=" }, - "visibility": "public" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 485, + "top": 159, + "width": 46, + "height": 13, + "autoResize": false, + "underline": false, + "text": "profiler", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4CBE9Fv0d4=", + "_type": "LabelView", + "_id": "AAAAAAFbH1Kncs06ibk=", "_parent": { - "$ref": "AAAAAAFbH1Kncc00FC4=" - }, - "source": { - "$ref": "AAAAAAFbH1Kncc00FC4=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH1Kncs03gFU=" }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KpWc1dlR0=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" - }, - "name": "fileSystem", - "ownedElements": [ + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 904, + "top": -208, + "width": 78, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from utilities)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4Gy7dHE1fY=", + "_type": "LabelView", + "_id": "AAAAAAFbH1Kncs07GGE=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" - }, - "source": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH1Kncs03gFU=" }, - "visibility": "public" + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 904, + "top": -208, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false } ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KjOcziMM4=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 480, + "top": 152, + "width": 56, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFbH1Kncs04bDY=" }, - "name": "cuda.hu", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KhQcy5iag=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "nameLabel": { + "$ref": "AAAAAAFbH1Kncs05CB0=" }, - "name": "openCv", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4E09tGR0l4=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy5iag=" - }, - "source": { - "$ref": "AAAAAAFbH1KhQcy5iag=" - }, - "target": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" - }, - "visibility": "public" - }, - { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4E6fdGi9bg=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy5iag=" - }, - "source": { - "$ref": "AAAAAAFbH1KhQcy5iag=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false - }, - { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KlEc0Lyxc=", - "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "namespaceLabel": { + "$ref": "AAAAAAFbH1Kncs06ibk=" }, - "name": "enumClasses.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "propertyLabel": { + "$ref": "AAAAAAFbH1Kncs07GGE=" + } }, { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KdscyQvqc=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1Kncs088O0=", "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1Kncc02gVk=" }, - "name": "errorAndLog", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4ING9HmZX0=", - "_parent": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "source": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "target": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 480, + "top": 177, + "width": 56, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KarMxnJbU=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1Kncs09XXQ=", "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1Kncc02gVk=" }, - "name": "cuda", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4Fr9NGzad4=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxnJbU=" - }, - "source": { - "$ref": "AAAAAAFbH1KarMxnJbU=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 480, + "top": 187, + "width": 56, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbH1KXxMw+M4c=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1Kncs0+jHg=", "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1Kncc02gVk=" }, - "name": "check.hpp", - "ownedElements": [ - { - "_type": "UMLDependency", - "_id": "AAAAAAFbH4Hu1NHV2CI=", - "_parent": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" - }, - "source": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" - }, - "target": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "visibility": "public" - } - ], - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 616, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "UMLClass", - "_id": "AAAAAAFbH1Kwgc3Y4Vk=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1Kncs0/RWM=", "_parent": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1Kncc02gVk=" }, - "name": "headers.hpp", - "visibility": "public", - "isAbstract": false, - "isFinalSpecialization": false, - "isLeaf": false, - "isActive": false + "model": { + "$ref": "AAAAAAFbH1Kncc00FC4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 616, + "top": -104, + "width": 10, + "height": 10, + "autoResize": false } ], - "visibility": "public" - } - ], - "visible": true, - "defaultDiagram": false, - "ownedViews": [ + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": true, + "containerExtending": false, + "left": 480, + "top": 152, + "width": 56, + "height": 45, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFbH1Kncs03gFU=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1Kncs088O0=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbH1Kncs09XXQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbH1Kncs0+jHg=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1Kncs0/RWM=" + } + }, { - "_type": "UMLPackageView", - "_id": "AAAAAAFbHInAVcvGkAM=", + "_type": "UMLClassView", + "_id": "AAAAAAFbH1KpWc1fkwU=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1KpWc1dlR0=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbHInAVsvHUjA=", + "_id": "AAAAAAFbH1KpWc1g2ts=", "_parent": { - "$ref": "AAAAAAFbHInAVcvGkAM=" + "$ref": "AAAAAAFbH1KpWc1fkwU=" }, "model": { - "$ref": "AAAAAAFbHInAVcvEP2c=" + "$ref": "AAAAAAFbH1KpWc1dlR0=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbHInAVsvIu8A=", + "_id": "AAAAAAFbH1KpWc1hB04=", "_parent": { - "$ref": "AAAAAAFbHInAVsvHUjA=" + "$ref": "AAAAAAFbH1KpWc1g2ts=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -144, + "left": 152, + "top": -248, "width": 0, "height": 13, "autoResize": false, @@ -37034,47 +40548,47 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHInAVsvJ7wA=", + "_id": "AAAAAAFbH1KpWs1iAvo=", "_parent": { - "$ref": "AAAAAAFbHInAVsvHUjA=" + "$ref": "AAAAAAFbH1KpWc1g2ts=" }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;1", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 5, - "top": 22, - "width": 663, + "left": 325, + "top": 159, + "width": 66, "height": 13, "autoResize": false, "underline": false, - "text": "utilities", + "text": "fileSystem", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbHInAVsvKUOk=", + "_id": "AAAAAAFbH1KpWs1jDbM=", "_parent": { - "$ref": "AAAAAAFbHInAVsvHUjA=" + "$ref": "AAAAAAFbH1KpWc1g2ts=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -144, + "left": 152, + "top": -248, "width": 78, "height": 13, "autoResize": false, @@ -37086,21 +40600,21 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbHInAVsvLLGo=", + "_id": "AAAAAAFbH1KpWs1ka5Y=", "_parent": { - "$ref": "AAAAAAFbHInAVsvHUjA=" + "$ref": "AAAAAAFbH1KpWc1g2ts=" }, "visible": false, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -288, - "top": -144, + "left": 152, + "top": -248, "width": 0, "height": 13, "autoResize": false, @@ -37113,85 +40627,143 @@ "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 0, - "top": 15, - "width": 673, + "left": 320, + "top": 152, + "width": 76, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbHInAVsvIu8A=" + "$ref": "AAAAAAFbH1KpWc1hB04=" }, "nameLabel": { - "$ref": "AAAAAAFbHInAVsvJ7wA=" + "$ref": "AAAAAAFbH1KpWs1iAvo=" }, "namespaceLabel": { - "$ref": "AAAAAAFbHInAVsvKUOk=" + "$ref": "AAAAAAFbH1KpWs1jDbM=" }, "propertyLabel": { - "$ref": "AAAAAAFbHInAVsvLLGo=" + "$ref": "AAAAAAFbH1KpWs1ka5Y=" } - } - ], - "containedViews": [ - { - "$ref": "AAAAAAFbH1K01c4swqY=" - }, - { - "$ref": "AAAAAAFbH1K2dc5VSwA=" - }, - { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" - }, - { - "$ref": "AAAAAAFbH1KrWs2IQv0=" - }, - { - "$ref": "AAAAAAFbH1Kncc02gVk=" - }, - { - "$ref": "AAAAAAFbH1KpWc1fkwU=" - }, - { - "$ref": "AAAAAAFbH1KjOczkikk=" - }, - { - "$ref": "AAAAAAFbH1KhQcy7aPg=" }, { - "$ref": "AAAAAAFbH1KlEc0N0+0=" - }, - { - "$ref": "AAAAAAFbH1KdscySwQk=" + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFbH1KpWs1l/fg=", + "_parent": { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + "model": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 320, + "top": 177, + "width": 76, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbH1KarMxpeN0=" + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFbH1KpWs1m9eg=", + "_parent": { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + "model": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 320, + "top": 187, + "width": 76, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbH1KXx8xAegg=" + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFbH1KpWs1nI70=", + "_parent": { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + "model": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -144, + "width": 10, + "height": 10, + "autoResize": false }, { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFbH1KpWs1ozx4=", + "_parent": { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + "model": { + "$ref": "AAAAAAFbH1KpWc1dlR0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 224, + "top": -144, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFbHInAVcvGkAM=" + }, "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#e2e2e2", + "fillColor": "#ffffff", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 0, - "top": 0, - "width": 673, - "height": 417, + "left": 320, + "top": 152, + "width": 76, + "height": 45, "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, @@ -37199,35 +40771,52 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbHInAVsvHUjA=" + "$ref": "AAAAAAFbH1KpWc1g2ts=" }, - "wordWrap": false + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFbH1KpWs1l/fg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFbH1KpWs1m9eg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFbH1KpWs1nI70=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFbH1KpWs1ozx4=" + } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1K01c4swqY=", + "_id": "AAAAAAFbH1KjOczkikk=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1K01s4tOrE=", + "_id": "AAAAAAFbH1KjOczlmqY=", "_parent": { - "$ref": "AAAAAAFbH1K01c4swqY=" + "$ref": "AAAAAAFbH1KjOczkikk=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1K01s4u+5Q=", + "_id": "AAAAAAFbH1KjOszmAhY=", "_parent": { - "$ref": "AAAAAAFbH1K01s4tOrE=" + "$ref": "AAAAAAFbH1KjOczlmqY=" }, "visible": false, "enabled": true, @@ -37238,8 +40827,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": -368, + "left": -344, + "top": 304, "width": 0, "height": 13, "autoResize": false, @@ -37250,9 +40839,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K01s4vnZw=", + "_id": "AAAAAAFbH1KjOsznFaQ=", "_parent": { - "$ref": "AAAAAAFbH1K01s4tOrE=" + "$ref": "AAAAAAFbH1KjOczlmqY=" }, "visible": true, "enabled": true, @@ -37263,22 +40852,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 373, + "left": 37, "top": 343, - "width": 135, + "width": 51, "height": 13, "autoResize": false, "underline": false, - "text": "pointerContainer.hpp", + "text": "cuda.hu", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K01s4wkug=", + "_id": "AAAAAAFbH1KjOszo2ZY=", "_parent": { - "$ref": "AAAAAAFbH1K01s4tOrE=" + "$ref": "AAAAAAFbH1KjOczlmqY=" }, "visible": false, "enabled": true, @@ -37289,8 +40878,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": -368, + "left": -344, + "top": 304, "width": 78, "height": 13, "autoResize": false, @@ -37302,9 +40891,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K01s4xtAc=", + "_id": "AAAAAAFbH1KjOszpCoA=", "_parent": { - "$ref": "AAAAAAFbH1K01s4tOrE=" + "$ref": "AAAAAAFbH1KjOczlmqY=" }, "visible": false, "enabled": true, @@ -37315,8 +40904,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 408, - "top": -368, + "left": -344, + "top": 304, "width": 0, "height": 13, "autoResize": false, @@ -37335,32 +40924,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 368, + "left": 32, "top": 336, - "width": 145, + "width": 61, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1K01s4u+5Q=" + "$ref": "AAAAAAFbH1KjOszmAhY=" }, "nameLabel": { - "$ref": "AAAAAAFbH1K01s4vnZw=" + "$ref": "AAAAAAFbH1KjOsznFaQ=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1K01s4wkug=" + "$ref": "AAAAAAFbH1KjOszo2ZY=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1K01s4xtAc=" + "$ref": "AAAAAAFbH1KjOszpCoA=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1K01s4yQdo=", + "_id": "AAAAAAFbH1KjOszqmag=", "_parent": { - "$ref": "AAAAAAFbH1K01c4swqY=" + "$ref": "AAAAAAFbH1KjOczkikk=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "visible": true, "enabled": true, @@ -37371,20 +40960,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 368, + "left": 32, "top": 361, - "width": 145, + "width": 61, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1K01s4zOB0=", + "_id": "AAAAAAFbH1KjOszr+l4=", "_parent": { - "$ref": "AAAAAAFbH1K01c4swqY=" + "$ref": "AAAAAAFbH1KjOczkikk=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "visible": true, "enabled": true, @@ -37395,20 +40984,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 368, + "left": 32, "top": 371, - "width": 145, + "width": 61, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1K01s400Zk=", + "_id": "AAAAAAFbH1KjOszscnw=", "_parent": { - "$ref": "AAAAAAFbH1K01c4swqY=" + "$ref": "AAAAAAFbH1KjOczkikk=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "visible": false, "enabled": true, @@ -37419,20 +41008,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 328, - "top": -224, + "left": -32, + "top": 136, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1K01s41rLU=", + "_id": "AAAAAAFbH1KjOsztBoE=", "_parent": { - "$ref": "AAAAAAFbH1K01c4swqY=" + "$ref": "AAAAAAFbH1KjOczkikk=" }, "model": { - "$ref": "AAAAAAFbH1K01c4qGfA=" + "$ref": "AAAAAAFbH1KjOcziMM4=" }, "visible": false, "enabled": true, @@ -37443,8 +41032,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 328, - "top": -224, + "left": -32, + "top": 136, "width": 10, "height": 10, "autoResize": false @@ -37462,9 +41051,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 368, + "left": 32, "top": 336, - "width": 145, + "width": 61, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -37473,7 +41062,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1K01s4tOrE=" + "$ref": "AAAAAAFbH1KjOczlmqY=" }, "wordWrap": false, "suppressAttributes": false, @@ -37482,43 +41071,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1K01s4yQdo=" + "$ref": "AAAAAAFbH1KjOszqmag=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1K01s4zOB0=" + "$ref": "AAAAAAFbH1KjOszr+l4=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1K01s400Zk=" + "$ref": "AAAAAAFbH1KjOszscnw=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1K01s41rLU=" + "$ref": "AAAAAAFbH1KjOsztBoE=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1K2dc5VSwA=", + "_id": "AAAAAAFbH1KhQcy7aPg=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1K2dc5WSt4=", + "_id": "AAAAAAFbH1KhQcy8sZI=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KhQcy7aPg=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1K2dc5X3Q8=", + "_id": "AAAAAAFbH1KhQcy9Ub8=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5WSt4=" + "$ref": "AAAAAAFbH1KhQcy8sZI=" }, "visible": false, "enabled": true, @@ -37529,8 +41118,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 360, - "top": -328, + "left": 680, + "top": 0, "width": 0, "height": 13, "autoResize": false, @@ -37541,9 +41130,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K2dc5YIww=", + "_id": "AAAAAAFbH1KhQsy+VSE=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5WSt4=" + "$ref": "AAAAAAFbH1KhQcy8sZI=" }, "visible": true, "enabled": true, @@ -37554,22 +41143,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 533, - "top": 343, - "width": 74, + "left": 413, + "top": 159, + "width": 48, "height": 13, "autoResize": false, "underline": false, - "text": "macros.hpp", + "text": "openCv", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K2dc5ZFOY=", + "_id": "AAAAAAFbH1KhQsy/1Dw=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5WSt4=" + "$ref": "AAAAAAFbH1KhQcy8sZI=" }, "visible": false, "enabled": true, @@ -37580,8 +41169,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 360, - "top": -328, + "left": 680, + "top": 0, "width": 78, "height": 13, "autoResize": false, @@ -37593,9 +41182,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1K2dc5a6Mg=", + "_id": "AAAAAAFbH1KhQszAxeA=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5WSt4=" + "$ref": "AAAAAAFbH1KhQcy8sZI=" }, "visible": false, "enabled": true, @@ -37606,8 +41195,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 360, - "top": -328, + "left": 680, + "top": 0, "width": 0, "height": 13, "autoResize": false, @@ -37626,32 +41215,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 528, - "top": 336, - "width": 84, + "left": 408, + "top": 152, + "width": 58, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1K2dc5X3Q8=" + "$ref": "AAAAAAFbH1KhQcy9Ub8=" }, "nameLabel": { - "$ref": "AAAAAAFbH1K2dc5YIww=" + "$ref": "AAAAAAFbH1KhQsy+VSE=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1K2dc5ZFOY=" + "$ref": "AAAAAAFbH1KhQsy/1Dw=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1K2dc5a6Mg=" + "$ref": "AAAAAAFbH1KhQszAxeA=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1K2dc5b8Z0=", + "_id": "AAAAAAFbH1KhQszBvuw=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KhQcy7aPg=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "visible": true, "enabled": true, @@ -37662,20 +41251,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 528, - "top": 361, - "width": 84, + "left": 408, + "top": 177, + "width": 58, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1K2dc5cwkQ=", + "_id": "AAAAAAFbH1KhQszCmpw=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KhQcy7aPg=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "visible": true, "enabled": true, @@ -37686,20 +41275,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 528, - "top": 371, - "width": 84, + "left": 408, + "top": 187, + "width": 58, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1K2ds5dEyY=", + "_id": "AAAAAAFbH1KhQszDaqk=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KhQcy7aPg=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "visible": false, "enabled": true, @@ -37710,20 +41299,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 304, - "top": -184, + "left": 520, + "top": 24, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1K2ds5e3eI=", + "_id": "AAAAAAFbH1KhQszEXgU=", "_parent": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KhQcy7aPg=" }, "model": { - "$ref": "AAAAAAFbH1K2dM5Tzpk=" + "$ref": "AAAAAAFbH1KhQcy5iag=" }, "visible": false, "enabled": true, @@ -37734,8 +41323,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 304, - "top": -184, + "left": 520, + "top": 24, "width": 10, "height": 10, "autoResize": false @@ -37753,9 +41342,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 528, - "top": 336, - "width": 84, + "left": 408, + "top": 152, + "width": 58, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -37764,7 +41353,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1K2dc5WSt4=" + "$ref": "AAAAAAFbH1KhQcy8sZI=" }, "wordWrap": false, "suppressAttributes": false, @@ -37773,43 +41362,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1K2dc5b8Z0=" + "$ref": "AAAAAAFbH1KhQszBvuw=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1K2dc5cwkQ=" + "$ref": "AAAAAAFbH1KhQszCmpw=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1K2ds5dEyY=" + "$ref": "AAAAAAFbH1KhQszDaqk=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1K2ds5e3eI=" + "$ref": "AAAAAAFbH1KhQszEXgU=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1Ku8s2xHTc=", + "_id": "AAAAAAFbH1KlEc0N0+0=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1Ku8s2yIEA=", + "_id": "AAAAAAFbH1KlEs0Oktw=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" + "$ref": "AAAAAAFbH1KlEc0N0+0=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1Ku8s2zPBw=", + "_id": "AAAAAAFbH1KlEs0PWMc=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2yIEA=" + "$ref": "AAAAAAFbH1KlEs0Oktw=" }, "visible": false, "enabled": true, @@ -37820,8 +41409,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 456, - "top": -200, + "left": -736, + "top": 312, "width": 0, "height": 13, "autoResize": false, @@ -37832,9 +41421,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Ku8s20FrI=", + "_id": "AAAAAAFbH1KlEs0Qdfk=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2yIEA=" + "$ref": "AAAAAAFbH1KlEs0Oktw=" }, "visible": true, "enabled": true, @@ -37845,22 +41434,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 269, + "left": 125, "top": 343, - "width": 81, + "width": 111, "height": 13, "autoResize": false, "underline": false, - "text": "fastMath.hpp", + "text": "enumClasses.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Ku8s21Q+w=", + "_id": "AAAAAAFbH1KlEs0RMAk=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2yIEA=" + "$ref": "AAAAAAFbH1KlEs0Oktw=" }, "visible": false, "enabled": true, @@ -37871,8 +41460,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 456, - "top": -200, + "left": -736, + "top": 312, "width": 78, "height": 13, "autoResize": false, @@ -37884,9 +41473,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Ku8s22MnU=", + "_id": "AAAAAAFbH1KlEs0SehU=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2yIEA=" + "$ref": "AAAAAAFbH1KlEs0Oktw=" }, "visible": false, "enabled": true, @@ -37897,8 +41486,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 456, - "top": -200, + "left": -736, + "top": 312, "width": 0, "height": 13, "autoResize": false, @@ -37917,32 +41506,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, + "left": 120, "top": 336, - "width": 91, + "width": 121, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1Ku8s2zPBw=" + "$ref": "AAAAAAFbH1KlEs0PWMc=" }, "nameLabel": { - "$ref": "AAAAAAFbH1Ku8s20FrI=" + "$ref": "AAAAAAFbH1KlEs0Qdfk=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1Ku8s21Q+w=" + "$ref": "AAAAAAFbH1KlEs0RMAk=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1Ku8s22MnU=" + "$ref": "AAAAAAFbH1KlEs0SehU=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1Ku8823brw=", + "_id": "AAAAAAFbH1KlEs0Tmvs=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" + "$ref": "AAAAAAFbH1KlEc0N0+0=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "visible": true, "enabled": true, @@ -37953,20 +41542,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, + "left": 120, "top": 361, - "width": 91, + "width": 121, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1Ku8824w58=", + "_id": "AAAAAAFbH1KlEs0UIgM=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" + "$ref": "AAAAAAFbH1KlEc0N0+0=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "visible": true, "enabled": true, @@ -37977,20 +41566,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 264, + "left": 120, "top": 371, - "width": 91, + "width": 121, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1Ku88255K4=", + "_id": "AAAAAAFbH1KlEs0VZm8=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" + "$ref": "AAAAAAFbH1KlEc0N0+0=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "visible": false, "enabled": true, @@ -38001,20 +41590,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": -136, + "left": -312, + "top": 144, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1Ku8826veA=", + "_id": "AAAAAAFbH1KlEs0WULQ=", "_parent": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" + "$ref": "AAAAAAFbH1KlEc0N0+0=" }, "model": { - "$ref": "AAAAAAFbH1Ku8c2vnbk=" + "$ref": "AAAAAAFbH1KlEc0Lyxc=" }, "visible": false, "enabled": true, @@ -38025,8 +41614,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 384, - "top": -136, + "left": -312, + "top": 144, "width": 10, "height": 10, "autoResize": false @@ -38044,9 +41633,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 264, + "left": 120, "top": 336, - "width": 91, + "width": 121, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -38055,7 +41644,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1Ku8s2yIEA=" + "$ref": "AAAAAAFbH1KlEs0Oktw=" }, "wordWrap": false, "suppressAttributes": false, @@ -38064,43 +41653,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1Ku8823brw=" + "$ref": "AAAAAAFbH1KlEs0Tmvs=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1Ku8824w58=" + "$ref": "AAAAAAFbH1KlEs0UIgM=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1Ku88255K4=" + "$ref": "AAAAAAFbH1KlEs0VZm8=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1Ku8826veA=" + "$ref": "AAAAAAFbH1KlEs0WULQ=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1KrWs2IQv0=", + "_id": "AAAAAAFbH1KdscySwQk=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KrWs2JULk=", + "_id": "AAAAAAFbH1KdscyT+vw=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1KrWs2KKQY=", + "_id": "AAAAAAFbH1KdssyUZ6M=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2JULk=" + "$ref": "AAAAAAFbH1KdscyT+vw=" }, "visible": false, "enabled": true, @@ -38111,8 +41700,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -664, - "top": -208, + "left": -328, + "top": 416, "width": 0, "height": 13, "autoResize": false, @@ -38123,9 +41712,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KrWs2Lzt0=", + "_id": "AAAAAAFbH1KdssyVOFw=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2JULk=" + "$ref": "AAAAAAFbH1KdscyT+vw=" }, "visible": true, "enabled": true, @@ -38137,21 +41726,21 @@ "containerChangeable": false, "containerExtending": false, "left": 237, - "top": 159, - "width": 40, + "top": 263, + "width": 80, "height": 13, "autoResize": false, "underline": false, - "text": "string", + "text": "errorAndLog", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KrWs2MG94=", + "_id": "AAAAAAFbH1KdssyW6es=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2JULk=" + "$ref": "AAAAAAFbH1KdscyT+vw=" }, "visible": false, "enabled": true, @@ -38162,8 +41751,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -664, - "top": -208, + "left": -328, + "top": 416, "width": 78, "height": 13, "autoResize": false, @@ -38175,9 +41764,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KrWs2N77s=", + "_id": "AAAAAAFbH1KdssyXkAM=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2JULk=" + "$ref": "AAAAAAFbH1KdscyT+vw=" }, "visible": false, "enabled": true, @@ -38188,8 +41777,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -664, - "top": -208, + "left": -328, + "top": 416, "width": 0, "height": 13, "autoResize": false, @@ -38209,31 +41798,31 @@ "containerChangeable": false, "containerExtending": false, "left": 232, - "top": 152, - "width": 50, + "top": 256, + "width": 90, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1KrWs2KKQY=" + "$ref": "AAAAAAFbH1KdssyUZ6M=" }, "nameLabel": { - "$ref": "AAAAAAFbH1KrWs2Lzt0=" + "$ref": "AAAAAAFbH1KdssyVOFw=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1KrWs2MG94=" + "$ref": "AAAAAAFbH1KdssyW6es=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1KrWs2N77s=" + "$ref": "AAAAAAFbH1KdssyXkAM=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KrWs2OxRg=", + "_id": "AAAAAAFbH1KdssyYCdk=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "visible": true, "enabled": true, @@ -38245,19 +41834,19 @@ "containerChangeable": false, "containerExtending": false, "left": 232, - "top": 177, - "width": 50, + "top": 281, + "width": 90, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KrWs2PXAg=", + "_id": "AAAAAAFbH1KdssyZccY=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "visible": true, "enabled": true, @@ -38269,19 +41858,19 @@ "containerChangeable": false, "containerExtending": false, "left": 232, - "top": 187, - "width": 50, + "top": 291, + "width": 90, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KrWs2QN9w=", + "_id": "AAAAAAFbH1Kdssyakz4=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "visible": false, "enabled": true, @@ -38292,20 +41881,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -264, - "top": -104, + "left": -48, + "top": 240, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KrWs2RYAs=", + "_id": "AAAAAAFbH1Kdssyb1+w=", "_parent": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "model": { - "$ref": "AAAAAAFbH1KrWc2GeKg=" + "$ref": "AAAAAAFbH1KdscyQvqc=" }, "visible": false, "enabled": true, @@ -38316,8 +41905,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -264, - "top": -104, + "left": -48, + "top": 240, "width": 10, "height": 10, "autoResize": false @@ -38336,8 +41925,8 @@ "containerChangeable": true, "containerExtending": false, "left": 232, - "top": 152, - "width": 50, + "top": 256, + "width": 90, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -38346,7 +41935,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1KrWs2JULk=" + "$ref": "AAAAAAFbH1KdscyT+vw=" }, "wordWrap": false, "suppressAttributes": false, @@ -38355,43 +41944,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1KrWs2OxRg=" + "$ref": "AAAAAAFbH1KdssyYCdk=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1KrWs2PXAg=" + "$ref": "AAAAAAFbH1KdssyZccY=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1KrWs2QN9w=" + "$ref": "AAAAAAFbH1Kdssyakz4=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KrWs2RYAs=" + "$ref": "AAAAAAFbH1Kdssyb1+w=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1Kncc02gVk=", + "_id": "AAAAAAFbH1KarMxpeN0=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1Kncs03gFU=", + "_id": "AAAAAAFbH1KarMxqp8A=", "_parent": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFbH1KarMxpeN0=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1Kncs04bDY=", + "_id": "AAAAAAFbH1KarMxrrSo=", "_parent": { - "$ref": "AAAAAAFbH1Kncs03gFU=" + "$ref": "AAAAAAFbH1KarMxqp8A=" }, "visible": false, "enabled": true, @@ -38402,8 +41991,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1032, - "top": -208, + "left": -112, + "top": 208, "width": 0, "height": 13, "autoResize": false, @@ -38414,9 +42003,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kncs05CB0=", + "_id": "AAAAAAFbH1KarMxsPz8=", "_parent": { - "$ref": "AAAAAAFbH1Kncs03gFU=" + "$ref": "AAAAAAFbH1KarMxqp8A=" }, "visible": true, "enabled": true, @@ -38427,22 +42016,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 549, + "left": 141, "top": 159, - "width": 46, + "width": 40, "height": 13, "autoResize": false, "underline": false, - "text": "profiler", + "text": "cuda", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kncs06ibk=", + "_id": "AAAAAAFbH1KarMxtygM=", "_parent": { - "$ref": "AAAAAAFbH1Kncs03gFU=" + "$ref": "AAAAAAFbH1KarMxqp8A=" }, "visible": false, "enabled": true, @@ -38453,8 +42042,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1032, - "top": -208, + "left": -112, + "top": 208, "width": 78, "height": 13, "autoResize": false, @@ -38466,9 +42055,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kncs07GGE=", + "_id": "AAAAAAFbH1KarMxu1XY=", "_parent": { - "$ref": "AAAAAAFbH1Kncs03gFU=" + "$ref": "AAAAAAFbH1KarMxqp8A=" }, "visible": false, "enabled": true, @@ -38479,8 +42068,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 1032, - "top": -208, + "left": -112, + "top": 208, "width": 0, "height": 13, "autoResize": false, @@ -38499,32 +42088,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 544, + "left": 136, "top": 152, - "width": 56, + "width": 50, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1Kncs04bDY=" + "$ref": "AAAAAAFbH1KarMxrrSo=" }, "nameLabel": { - "$ref": "AAAAAAFbH1Kncs05CB0=" + "$ref": "AAAAAAFbH1KarMxsPz8=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1Kncs06ibk=" + "$ref": "AAAAAAFbH1KarMxtygM=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1Kncs07GGE=" + "$ref": "AAAAAAFbH1KarMxu1XY=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1Kncs088O0=", + "_id": "AAAAAAFbH1KarMxvqPk=", "_parent": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFbH1KarMxpeN0=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "visible": true, "enabled": true, @@ -38535,20 +42124,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 544, + "left": 136, "top": 177, - "width": 56, + "width": 50, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1Kncs09XXQ=", + "_id": "AAAAAAFbH1KarMxwU/Y=", "_parent": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFbH1KarMxpeN0=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "visible": true, "enabled": true, @@ -38559,20 +42148,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 544, + "left": 136, "top": 187, - "width": 56, + "width": 50, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1Kncs0+jHg=", + "_id": "AAAAAAFbH1KarcxxIy8=", "_parent": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFbH1KarMxpeN0=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "visible": false, "enabled": true, @@ -38583,20 +42172,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 680, - "top": -104, + "left": 64, + "top": 128, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1Kncs0/RWM=", + "_id": "AAAAAAFbH1KarcxymOo=", "_parent": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFbH1KarMxpeN0=" }, "model": { - "$ref": "AAAAAAFbH1Kncc00FC4=" + "$ref": "AAAAAAFbH1KarMxnJbU=" }, "visible": false, "enabled": true, @@ -38607,8 +42196,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 680, - "top": -104, + "left": 64, + "top": 128, "width": 10, "height": 10, "autoResize": false @@ -38626,9 +42215,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 544, + "left": 136, "top": 152, - "width": 56, + "width": 50, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -38637,7 +42226,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1Kncs03gFU=" + "$ref": "AAAAAAFbH1KarMxqp8A=" }, "wordWrap": false, "suppressAttributes": false, @@ -38646,43 +42235,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1Kncs088O0=" + "$ref": "AAAAAAFbH1KarMxvqPk=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1Kncs09XXQ=" + "$ref": "AAAAAAFbH1KarMxwU/Y=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1Kncs0+jHg=" + "$ref": "AAAAAAFbH1KarcxxIy8=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1Kncs0/RWM=" + "$ref": "AAAAAAFbH1KarcxymOo=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1KpWc1fkwU=", + "_id": "AAAAAAFbH1KXx8xAegg=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KpWc1g2ts=", + "_id": "AAAAAAFbH1KXx8xBHCg=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFbH1KXx8xAegg=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1KpWc1hB04=", + "_id": "AAAAAAFbH1KXyMxCMr8=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1g2ts=" + "$ref": "AAAAAAFbH1KXx8xBHCg=" }, "visible": false, "enabled": true, @@ -38693,8 +42282,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 152, - "top": -248, + "left": -32, + "top": 184, "width": 0, "height": 13, "autoResize": false, @@ -38705,9 +42294,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KpWs1iAvo=", + "_id": "AAAAAAFbH1KXyMxDUz4=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1g2ts=" + "$ref": "AAAAAAFbH1KXx8xBHCg=" }, "visible": true, "enabled": true, @@ -38718,22 +42307,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 325, + "left": 37, "top": 159, - "width": 66, + "width": 65, "height": 13, "autoResize": false, "underline": false, - "text": "fileSystem", + "text": "check.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KpWs1jDbM=", + "_id": "AAAAAAFbH1KXyMxEMW0=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1g2ts=" + "$ref": "AAAAAAFbH1KXx8xBHCg=" }, "visible": false, "enabled": true, @@ -38744,8 +42333,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 152, - "top": -248, + "left": -32, + "top": 184, "width": 78, "height": 13, "autoResize": false, @@ -38757,9 +42346,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KpWs1ka5Y=", + "_id": "AAAAAAFbH1KXyMxFJIo=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1g2ts=" + "$ref": "AAAAAAFbH1KXx8xBHCg=" }, "visible": false, "enabled": true, @@ -38770,8 +42359,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 152, - "top": -248, + "left": -32, + "top": 184, "width": 0, "height": 13, "autoResize": false, @@ -38790,32 +42379,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, + "left": 32, "top": 152, - "width": 76, + "width": 75, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1KpWc1hB04=" + "$ref": "AAAAAAFbH1KXyMxCMr8=" }, "nameLabel": { - "$ref": "AAAAAAFbH1KpWs1iAvo=" + "$ref": "AAAAAAFbH1KXyMxDUz4=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1KpWs1jDbM=" + "$ref": "AAAAAAFbH1KXyMxEMW0=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1KpWs1ka5Y=" + "$ref": "AAAAAAFbH1KXyMxFJIo=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KpWs1l/fg=", + "_id": "AAAAAAFbH1KXyMxGVe4=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFbH1KXx8xAegg=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "visible": true, "enabled": true, @@ -38826,20 +42415,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, + "left": 32, "top": 177, - "width": 76, + "width": 75, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KpWs1m9eg=", + "_id": "AAAAAAFbH1KXycxHW14=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFbH1KXx8xAegg=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "visible": true, "enabled": true, @@ -38850,20 +42439,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 320, + "left": 32, "top": 187, - "width": 76, + "width": 75, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KpWs1nI70=", + "_id": "AAAAAAFbH1KXycxIQTQ=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFbH1KXx8xAegg=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "visible": false, "enabled": true, @@ -38874,20 +42463,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": -144, + "left": 128, + "top": 120, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KpWs1ozx4=", + "_id": "AAAAAAFbH1KXycxJfUY=", "_parent": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFbH1KXx8xAegg=" }, "model": { - "$ref": "AAAAAAFbH1KpWc1dlR0=" + "$ref": "AAAAAAFbH1KXxMw+M4c=" }, "visible": false, "enabled": true, @@ -38898,8 +42487,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 224, - "top": -144, + "left": 128, + "top": 120, "width": 10, "height": 10, "autoResize": false @@ -38917,9 +42506,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 320, + "left": 32, "top": 152, - "width": 76, + "width": 75, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -38928,7 +42517,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1KpWc1g2ts=" + "$ref": "AAAAAAFbH1KXx8xBHCg=" }, "wordWrap": false, "suppressAttributes": false, @@ -38937,43 +42526,43 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1KpWs1l/fg=" + "$ref": "AAAAAAFbH1KXyMxGVe4=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1KpWs1m9eg=" + "$ref": "AAAAAAFbH1KXycxHW14=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1KpWs1nI70=" + "$ref": "AAAAAAFbH1KXycxIQTQ=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KpWs1ozx4=" + "$ref": "AAAAAAFbH1KXycxJfUY=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1KjOczkikk=", + "_id": "AAAAAAFbH1Kwgs3av4U=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KjOczlmqY=", + "_id": "AAAAAAFbH1Kwgs3b5Ko=", "_parent": { - "$ref": "AAAAAAFbH1KjOczkikk=" + "$ref": "AAAAAAFbH1Kwgs3av4U=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1KjOszmAhY=", + "_id": "AAAAAAFbH1Kwgs3cEHY=", "_parent": { - "$ref": "AAAAAAFbH1KjOczlmqY=" + "$ref": "AAAAAAFbH1Kwgs3b5Ko=" }, "visible": false, "enabled": true, @@ -38983,9 +42572,9 @@ "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, - "containerExtending": false, - "left": -344, - "top": 304, + "containerExtending": false, + "left": -384, + "top": -704, "width": 0, "height": 13, "autoResize": false, @@ -38996,9 +42585,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KjOsznFaQ=", + "_id": "AAAAAAFbH1Kwgs3dciw=", "_parent": { - "$ref": "AAAAAAFbH1KjOczlmqY=" + "$ref": "AAAAAAFbH1Kwgs3b5Ko=" }, "visible": true, "enabled": true, @@ -39009,22 +42598,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 37, - "top": 343, - "width": 51, + "left": 45, + "top": 71, + "width": 79, "height": 13, "autoResize": false, "underline": false, - "text": "cuda.hu", + "text": "headers.hpp", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KjOszo2ZY=", + "_id": "AAAAAAFbH1Kwgs3eO0Q=", "_parent": { - "$ref": "AAAAAAFbH1KjOczlmqY=" + "$ref": "AAAAAAFbH1Kwgs3b5Ko=" }, "visible": false, "enabled": true, @@ -39035,8 +42624,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -344, - "top": 304, + "left": -384, + "top": -704, "width": 78, "height": 13, "autoResize": false, @@ -39048,9 +42637,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1KjOszpCoA=", + "_id": "AAAAAAFbH1Kwgs3f4dg=", "_parent": { - "$ref": "AAAAAAFbH1KjOczlmqY=" + "$ref": "AAAAAAFbH1Kwgs3b5Ko=" }, "visible": false, "enabled": true, @@ -39061,8 +42650,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -344, - "top": 304, + "left": -384, + "top": -704, "width": 0, "height": 13, "autoResize": false, @@ -39081,32 +42670,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 336, - "width": 61, + "left": 40, + "top": 64, + "width": 89, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1KjOszmAhY=" + "$ref": "AAAAAAFbH1Kwgs3cEHY=" }, "nameLabel": { - "$ref": "AAAAAAFbH1KjOsznFaQ=" + "$ref": "AAAAAAFbH1Kwgs3dciw=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1KjOszo2ZY=" + "$ref": "AAAAAAFbH1Kwgs3eO0Q=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1KjOszpCoA=" + "$ref": "AAAAAAFbH1Kwgs3f4dg=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KjOszqmag=", + "_id": "AAAAAAFbH1Kwgs3gldc=", "_parent": { - "$ref": "AAAAAAFbH1KjOczkikk=" + "$ref": "AAAAAAFbH1Kwgs3av4U=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "visible": true, "enabled": true, @@ -39117,20 +42706,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 361, - "width": 61, + "left": 40, + "top": 89, + "width": 89, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KjOszr+l4=", + "_id": "AAAAAAFbH1Kwgs3hYiQ=", "_parent": { - "$ref": "AAAAAAFbH1KjOczkikk=" + "$ref": "AAAAAAFbH1Kwgs3av4U=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "visible": true, "enabled": true, @@ -39141,20 +42730,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 371, - "width": 61, + "left": 40, + "top": 99, + "width": 89, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KjOszscnw=", + "_id": "AAAAAAFbH1Kwgs3iFWs=", "_parent": { - "$ref": "AAAAAAFbH1KjOczkikk=" + "$ref": "AAAAAAFbH1Kwgs3av4U=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "visible": false, "enabled": true, @@ -39165,20 +42754,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -32, - "top": 136, + "left": -56, + "top": -384, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KjOsztBoE=", + "_id": "AAAAAAFbH1Kwgs3jwjk=", "_parent": { - "$ref": "AAAAAAFbH1KjOczkikk=" + "$ref": "AAAAAAFbH1Kwgs3av4U=" }, "model": { - "$ref": "AAAAAAFbH1KjOcziMM4=" + "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" }, "visible": false, "enabled": true, @@ -39189,8 +42778,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -32, - "top": 136, + "left": -56, + "top": -384, "width": 10, "height": 10, "autoResize": false @@ -39208,9 +42797,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 32, - "top": 336, - "width": 61, + "left": 40, + "top": 64, + "width": 89, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -39219,7 +42808,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1KjOczlmqY=" + "$ref": "AAAAAAFbH1Kwgs3b5Ko=" }, "wordWrap": false, "suppressAttributes": false, @@ -39228,142 +42817,38 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1KjOszqmag=" + "$ref": "AAAAAAFbH1Kwgs3gldc=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1KjOszr+l4=" + "$ref": "AAAAAAFbH1Kwgs3hYiQ=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1KjOszscnw=" + "$ref": "AAAAAAFbH1Kwgs3iFWs=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KjOsztBoE=" + "$ref": "AAAAAAFbH1Kwgs3jwjk=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbH1KhQcy7aPg=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4BsENFgLzs=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4BsD9FeWAY=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KhQcy8sZI=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4BsENFhdlY=", "_parent": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" + "$ref": "AAAAAAFbH4BsENFgLzs=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4BsD9FeWAY=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KhQcy9Ub8=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy8sZI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 744, - "top": 0, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KhQsy+VSE=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy8sZI=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 445, - "top": 159, - "width": 48, - "height": 13, - "autoResize": false, - "underline": false, - "text": "openCv", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KhQsy/1Dw=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy8sZI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 744, - "top": 0, - "width": 78, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from utilities)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KhQszAxeA=", - "_parent": { - "$ref": "AAAAAAFbH1KhQcy8sZI=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 744, - "top": 0, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39372,34 +42857,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 440, - "top": 152, - "width": 58, - "height": 25, + "left": 552, + "top": 255, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbH1KhQcy9Ub8=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4BsENFgLzs=" }, - "nameLabel": { - "$ref": "AAAAAAFbH1KhQsy+VSE=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4BsENFiNmE=", + "_parent": { + "$ref": "AAAAAAFbH4BsENFgLzs=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbH1KhQsy/1Dw=" + "model": { + "$ref": "AAAAAAFbH4BsD9FeWAY=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH1KhQszAxeA=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 566, + "top": 250, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4BsENFgLzs=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KhQszBvuw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4BsEdFjFAA=", "_parent": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" + "$ref": "AAAAAAFbH4BsENFgLzs=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4BsD9FeWAY=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39408,22 +42925,107 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 440, - "top": 177, - "width": 58, - "height": 10, - "autoResize": false + "left": 523, + "top": 264, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4BsENFgLzs=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbH1K2dc5VSwA=" + }, + "tail": { + "$ref": "AAAAAAFbH1Kncc02gVk=" + }, + "lineStyle": 1, + "points": "515:197;561:335", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbH4BsENFhdlY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbH4BsENFiNmE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbH4BsEdFjFAA=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4CBE9FxtfM=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbH4CBE9Fv0d4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4CBE9FyVXY=", + "_parent": { + "$ref": "AAAAAAFbH4CBE9FxtfM=" + }, + "model": { + "$ref": "AAAAAAFbH4CBE9Fv0d4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 406, + "top": 229, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4CBE9FxtfM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KhQszCmpw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4CBE9Fzf68=", "_parent": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" + "$ref": "AAAAAAFbH4CBE9FxtfM=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4CBE9Fv0d4=" }, - "visible": true, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39432,22 +43034,141 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 440, - "top": 187, - "width": 58, - "height": 10, - "autoResize": false + "left": 412, + "top": 243, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4CBE9FxtfM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4CBE9F0nnM=", + "_parent": { + "$ref": "AAAAAAFbH4CBE9FxtfM=" + }, + "model": { + "$ref": "AAAAAAFbH4CBE9Fv0d4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 393, + "top": 202, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4CBE9FxtfM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1Kncc02gVk=" + }, + "lineStyle": 1, + "points": "479:187;322:257", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbH4CBE9FyVXY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbH4CBE9Fzf68=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbH4CBE9F0nnM=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4E0+NGTP+8=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbH4E09tGR0l4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E0+NGUMlE=", + "_parent": { + "$ref": "AAAAAAFbH4E0+NGTP+8=" + }, + "model": { + "$ref": "AAAAAAFbH4E09tGR0l4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 384, + "top": 268, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4E0+NGTP+8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KhQszDaqk=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E0+dGV+Ow=", "_parent": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" + "$ref": "AAAAAAFbH4E0+NGTP+8=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4E09tGR0l4=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39456,20 +43177,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 552, - "top": 24, - "width": 10, - "height": 10, - "autoResize": false + "left": 396, + "top": 276, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4E0+NGTP+8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KhQszEXgU=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E0+dGWcts=", "_parent": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" + "$ref": "AAAAAAFbH4E0+NGTP+8=" }, "model": { - "$ref": "AAAAAAFbH1KhQcy5iag=" + "$ref": "AAAAAAFbH4E09tGR0l4=" }, "visible": false, "enabled": true, @@ -39480,16 +43211,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 552, - "top": 24, - "width": 10, - "height": 10, - "autoResize": false + "left": 359, + "top": 251, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4E0+NGTP+8=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHInAVcvGkAM=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -39497,164 +43235,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 440, - "top": 152, - "width": 58, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbH1Ku8s2xHTc=" + }, + "tail": { + "$ref": "AAAAAAFbH1KhQcy7aPg=" + }, + "lineStyle": 1, + "points": "420:197;325:335", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbH1KhQcy8sZI=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbH1KhQszBvuw=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbH1KhQszCmpw=" + "nameLabel": { + "$ref": "AAAAAAFbH4E0+NGUMlE=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbH1KhQszDaqk=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH4E0+dGV+Ow=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KhQszEXgU=" + "propertyLabel": { + "$ref": "AAAAAAFbH4E0+dGWcts=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbH1KlEc0N0+0=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4E6fdGklB8=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "$ref": "AAAAAAFbH4E6fdGi9bg=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KlEs0Oktw=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E6fdGlbKw=", "_parent": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" + "$ref": "AAAAAAFbH4E6fdGklB8=" }, "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "$ref": "AAAAAAFbH4E6fdGi9bg=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KlEs0PWMc=", - "_parent": { - "$ref": "AAAAAAFbH1KlEs0Oktw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -736, - "top": 312, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KlEs0Qdfk=", - "_parent": { - "$ref": "AAAAAAFbH1KlEs0Oktw=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 125, - "top": 343, - "width": 111, - "height": 13, - "autoResize": false, - "underline": false, - "text": "enumClasses.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KlEs0RMAk=", - "_parent": { - "$ref": "AAAAAAFbH1KlEs0Oktw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -736, - "top": 312, - "width": 78, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from utilities)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KlEs0SehU=", - "_parent": { - "$ref": "AAAAAAFbH1KlEs0Oktw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -736, - "top": 312, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39663,34 +43286,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 120, - "top": 336, - "width": 121, - "height": 25, + "left": 367, + "top": 230, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbH1KlEs0PWMc=" - }, - "nameLabel": { - "$ref": "AAAAAAFbH1KlEs0Qdfk=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbH1KlEs0RMAk=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4E6fdGklB8=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH1KlEs0SehU=" - } + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KlEs0Tmvs=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E6ftGmO7g=", "_parent": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" + "$ref": "AAAAAAFbH4E6fdGklB8=" }, "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "$ref": "AAAAAAFbH4E6fdGi9bg=" }, - "visible": true, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39699,44 +43320,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 120, - "top": 361, - "width": 121, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KlEs0UIgM=", - "_parent": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" - }, - "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "left": 375, + "top": 243, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4E6fdGklB8=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 120, - "top": 371, - "width": 121, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KlEs0VZm8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4E6ftGnFJI=", "_parent": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" + "$ref": "AAAAAAFbH4E6fdGklB8=" }, "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "$ref": "AAAAAAFbH4E6fdGi9bg=" }, "visible": false, "enabled": true, @@ -39747,40 +43354,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -312, - "top": 144, - "width": 10, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KlEs0WULQ=", - "_parent": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" - }, - "model": { - "$ref": "AAAAAAFbH1KlEc0Lyxc=" + "left": 350, + "top": 205, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4E6fdGklB8=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -312, - "top": 144, - "width": 10, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHInAVcvGkAM=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -39788,164 +43378,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 120, - "top": 336, - "width": 121, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1KhQcy7aPg=" + }, + "lineStyle": 1, + "points": "407:193;311:255", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbH1KlEs0Oktw=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbH1KlEs0Tmvs=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbH1KlEs0UIgM=" + "nameLabel": { + "$ref": "AAAAAAFbH4E6fdGlbKw=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbH1KlEs0VZm8=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH4E6ftGmO7g=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KlEs0WULQ=" + "propertyLabel": { + "$ref": "AAAAAAFbH4E6ftGnFJI=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbH1KdscySwQk=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4Fr9NG1RIQ=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH4Fr9NGzad4=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KdscyT+vw=", - "_parent": { - "$ref": "AAAAAAFbH1KdscySwQk=" - }, - "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" - }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KdssyUZ6M=", - "_parent": { - "$ref": "AAAAAAFbH1KdscyT+vw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -328, - "top": 416, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KdssyVOFw=", - "_parent": { - "$ref": "AAAAAAFbH1KdscyT+vw=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 237, - "top": 263, - "width": 80, - "height": 13, - "autoResize": false, - "underline": false, - "text": "errorAndLog", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KdssyW6es=", - "_parent": { - "$ref": "AAAAAAFbH1KdscyT+vw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -328, - "top": 416, - "width": 78, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from utilities)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KdssyXkAM=", - "_parent": { - "$ref": "AAAAAAFbH1KdscyT+vw=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -328, - "top": 416, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Fr9dG2390=", + "_parent": { + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + }, + "model": { + "$ref": "AAAAAAFbH4Fr9NGzad4=" + }, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39954,34 +43429,66 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 232, - "top": 256, - "width": 90, - "height": 25, + "left": 228, + "top": 208, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbH1KdssyUZ6M=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" }, - "nameLabel": { - "$ref": "AAAAAAFbH1KdssyVOFw=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Fr9dG3O08=", + "_parent": { + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbH1KdssyW6es=" + "model": { + "$ref": "AAAAAAFbH4Fr9NGzad4=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH1KdssyXkAM=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 238, + "top": 197, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KdssyYCdk=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Fr9dG4NUk=", "_parent": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" }, "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH4Fr9NGzad4=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -39990,22 +43497,73 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 232, - "top": 281, - "width": 90, - "height": 10, - "autoResize": false - }, + "left": 207, + "top": 231, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1KarMxpeN0=" + }, + "lineStyle": 1, + "points": "186:197;250:255", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbH4Fr9dG2390=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbH4Fr9dG3O08=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbH4Fr9dG4NUk=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4Gy7dHGzzo=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbH4Gy7dHE1fY=" + }, + "subViews": [ { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KdssyZccY=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Gy7dHHlHQ=", "_parent": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFbH4Gy7dHGzzo=" }, "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH4Gy7dHE1fY=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40014,22 +43572,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 232, - "top": 291, - "width": 90, - "height": 10, - "autoResize": false + "left": 327, + "top": 229, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Gy7dHGzzo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1Kdssyakz4=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Gy7dHIT5k=", "_parent": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFbH4Gy7dHGzzo=" }, "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH4Gy7dHE1fY=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40038,20 +43606,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -48, - "top": 240, - "width": 10, - "height": 10, - "autoResize": false + "left": 339, + "top": 238, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4Gy7dHGzzo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1Kdssyb1+w=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Gy7dHJKCc=", "_parent": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFbH4Gy7dHGzzo=" }, "model": { - "$ref": "AAAAAAFbH1KdscyQvqc=" + "$ref": "AAAAAAFbH4Gy7dHE1fY=" }, "visible": false, "enabled": true, @@ -40062,16 +43640,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -48, - "top": 240, - "width": 10, - "height": 10, - "autoResize": false + "left": 304, + "top": 210, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Gy7dHGzzo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHInAVcvGkAM=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -40079,164 +43664,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 232, - "top": 256, - "width": 90, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1KpWc1fkwU=" + }, + "lineStyle": 1, + "points": "339:197;294:255", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbH1KdscyT+vw=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbH1KdssyYCdk=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbH1KdssyZccY=" + "nameLabel": { + "$ref": "AAAAAAFbH4Gy7dHHlHQ=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbH1Kdssyakz4=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH4Gy7dHIT5k=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbH1Kdssyb1+w=" + "propertyLabel": { + "$ref": "AAAAAAFbH4Gy7dHJKCc=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbH1KarMxpeN0=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4Hu1NHXdIA=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "$ref": "AAAAAAFbH4Hu1NHV2CI=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KarMxqp8A=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Hu1NHYER0=", "_parent": { - "$ref": "AAAAAAFbH1KarMxpeN0=" + "$ref": "AAAAAAFbH4Hu1NHXdIA=" }, "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "$ref": "AAAAAAFbH4Hu1NHV2CI=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KarMxrrSo=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxqp8A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -112, - "top": 208, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KarMxsPz8=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxqp8A=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 141, - "top": 159, - "width": 40, - "height": 13, - "autoResize": false, - "underline": false, - "text": "cuda", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KarMxtygM=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxqp8A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -112, - "top": 208, - "width": 78, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from utilities)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KarMxu1XY=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxqp8A=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -112, - "top": 208, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40245,34 +43715,141 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 136, - "top": 152, - "width": 50, - "height": 25, + "left": 175, + "top": 204, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbH1KarMxrrSo=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Hu1NHXdIA=" }, - "nameLabel": { - "$ref": "AAAAAAFbH1KarMxsPz8=" + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Hu1dHZv38=", + "_parent": { + "$ref": "AAAAAAFbH4Hu1NHXdIA=" }, - "namespaceLabel": { - "$ref": "AAAAAAFbH1KarMxtygM=" + "model": { + "$ref": "AAAAAAFbH4Hu1NHV2CI=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH1KarMxu1XY=" - } + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 182, + "top": 191, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4Hu1NHXdIA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KarMxvqPk=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4Hu1dHaviE=", + "_parent": { + "$ref": "AAAAAAFbH4Hu1NHXdIA=" + }, + "model": { + "$ref": "AAAAAAFbH4Hu1NHV2CI=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 162, + "top": 231, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4Hu1NHXdIA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1KXx8xAegg=" + }, + "lineStyle": 1, + "points": "107:193;231:255", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFbH4Hu1NHYER0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFbH4Hu1dHZv38=" + }, + "propertyLabel": { + "$ref": "AAAAAAFbH4Hu1dHaviE=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4INHNHo6s4=", + "_parent": { + "$ref": "AAAAAAFbHImRMcuZ6y8=" + }, + "model": { + "$ref": "AAAAAAFbH4ING9HmZX0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4INHNHpeYU=", "_parent": { - "$ref": "AAAAAAFbH1KarMxpeN0=" + "$ref": "AAAAAAFbH4INHNHo6s4=" }, "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "$ref": "AAAAAAFbH4ING9HmZX0=" }, - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40281,46 +43858,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 136, - "top": 177, - "width": 50, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KarMxwU/Y=", - "_parent": { - "$ref": "AAAAAAFbH1KarMxpeN0=" - }, - "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "left": 237, + "top": 323, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4INHNHo6s4=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 136, - "top": 187, - "width": 50, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KarcxxIy8=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4INHNHq3gY=", "_parent": { - "$ref": "AAAAAAFbH1KarMxpeN0=" + "$ref": "AAAAAAFbH4INHNHo6s4=" }, "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "$ref": "AAAAAAFbH4ING9HmZX0=" }, - "visible": false, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40329,20 +43892,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 64, - "top": 128, - "width": 10, - "height": 10, - "autoResize": false + "left": 247, + "top": 334, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4INHNHo6s4=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KarcxymOo=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4INHNHrebU=", "_parent": { - "$ref": "AAAAAAFbH1KarMxpeN0=" + "$ref": "AAAAAAFbH4INHNHo6s4=" }, "model": { - "$ref": "AAAAAAFbH1KarMxnJbU=" + "$ref": "AAAAAAFbH4ING9HmZX0=" }, "visible": false, "enabled": true, @@ -40353,16 +43926,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 64, - "top": 128, - "width": 10, - "height": 10, - "autoResize": false + "left": 218, + "top": 300, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4INHNHo6s4=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHInAVcvGkAM=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -40370,164 +43950,49 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 136, - "top": 152, - "width": 50, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbH1KlEc0N0+0=" + }, + "tail": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "lineStyle": 1, + "points": "248:301;208:335", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbH1KarMxqp8A=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbH1KarMxvqPk=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbH1KarMxwU/Y=" + "nameLabel": { + "$ref": "AAAAAAFbH4INHNHpeYU=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbH1KarcxxIy8=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH4INHNHq3gY=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KarcxymOo=" + "propertyLabel": { + "$ref": "AAAAAAFbH4INHNHrebU=" } }, { - "_type": "UMLClassView", - "_id": "AAAAAAFbH1KXx8xAegg=", + "_type": "UMLDependencyView", + "_id": "AAAAAAFbH4LrtNH5rUE=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "$ref": "AAAAAAFbH4Lrs9H3Qto=" }, "subViews": [ { - "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1KXx8xBHCg=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4LrtNH66bA=", "_parent": { - "$ref": "AAAAAAFbH1KXx8xAegg=" + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "$ref": "AAAAAAFbH4Lrs9H3Qto=" }, - "subViews": [ - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KXyMxCMr8=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xBHCg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, - "top": 184, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KXyMxDUz4=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xBHCg=" - }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;1", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 37, - "top": 159, - "width": 65, - "height": 13, - "autoResize": false, - "underline": false, - "text": "check.hpp", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KXyMxEMW0=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xBHCg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, - "top": 184, - "width": 78, - "height": 13, - "autoResize": false, - "underline": false, - "text": "(from utilities)", - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "LabelView", - "_id": "AAAAAAFbH1KXyMxFJIo=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xBHCg=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": -32, - "top": 184, - "width": 0, - "height": 13, - "autoResize": false, - "underline": false, - "horizontalAlignment": 1, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40536,34 +44001,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 152, - "width": 75, - "height": 25, + "left": 280, + "top": 216, + "width": 0, + "height": 13, "autoResize": false, - "stereotypeLabel": { - "$ref": "AAAAAAFbH1KXyMxCMr8=" - }, - "nameLabel": { - "$ref": "AAAAAAFbH1KXyMxDUz4=" - }, - "namespaceLabel": { - "$ref": "AAAAAAFbH1KXyMxEMW0=" + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH1KXyMxFJIo=" - } + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1KXyMxGVe4=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4LrtNH7PTw=", "_parent": { - "$ref": "AAAAAAFbH1KXx8xAegg=" + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "$ref": "AAAAAAFbH4Lrs9H3Qto=" }, - "visible": true, + "visible": null, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -40572,44 +44035,30 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 177, - "width": 75, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1KXycxHW14=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xAegg=" - }, - "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "left": 295, + "top": 213, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 32, - "top": 187, - "width": 75, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false }, { - "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1KXycxIQTQ=", + "_type": "EdgeLabelView", + "_id": "AAAAAAFbH4LrtNH89TQ=", "_parent": { - "$ref": "AAAAAAFbH1KXx8xAegg=" + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "$ref": "AAAAAAFbH4Lrs9H3Qto=" }, "visible": false, "enabled": true, @@ -40620,40 +44069,23 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 128, - "top": 120, - "width": 10, - "height": 10, - "autoResize": false - }, - { - "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1KXycxJfUY=", - "_parent": { - "$ref": "AAAAAAFbH1KXx8xAegg=" - }, - "model": { - "$ref": "AAAAAAFbH1KXxMw+M4c=" + "left": 251, + "top": 223, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFbH4LrtNH5rUE=" }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 128, - "top": 120, - "width": 10, - "height": 10, - "autoResize": false + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false } ], - "containerView": { - "$ref": "AAAAAAFbHInAVcvGkAM=" - }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -40661,65 +44093,54 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": true, + "containerChangeable": false, "containerExtending": false, - "left": 32, - "top": 152, - "width": 75, - "height": 45, - "autoResize": false, + "head": { + "$ref": "AAAAAAFbH1KdscySwQk=" + }, + "tail": { + "$ref": "AAAAAAFbH1KrWs2IQv0=" + }, + "lineStyle": 1, + "points": "260:197;272:255", "stereotypeDisplay": "label", "showVisibility": true, - "showNamespace": false, "showProperty": true, - "showType": true, - "nameCompartment": { - "$ref": "AAAAAAFbH1KXx8xBHCg=" - }, - "wordWrap": false, - "suppressAttributes": false, - "suppressOperations": false, - "suppressReceptions": true, - "showMultiplicity": true, - "showOperationSignature": true, - "attributeCompartment": { - "$ref": "AAAAAAFbH1KXyMxGVe4=" - }, - "operationCompartment": { - "$ref": "AAAAAAFbH1KXycxHW14=" + "nameLabel": { + "$ref": "AAAAAAFbH4LrtNH66bA=" }, - "receptionCompartment": { - "$ref": "AAAAAAFbH1KXycxIQTQ=" + "stereotypeLabel": { + "$ref": "AAAAAAFbH4LrtNH7PTw=" }, - "templateParameterCompartment": { - "$ref": "AAAAAAFbH1KXycxJfUY=" + "propertyLabel": { + "$ref": "AAAAAAFbH4LrtNH89TQ=" } }, { "_type": "UMLClassView", - "_id": "AAAAAAFbH1Kwgs3av4U=", + "_id": "AAAAAAFcswO767JuzTE=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "subViews": [ { "_type": "UMLNameCompartmentView", - "_id": "AAAAAAFbH1Kwgs3b5Ko=", + "_id": "AAAAAAFcswO767Jv7cY=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "subViews": [ { "_type": "LabelView", - "_id": "AAAAAAFbH1Kwgs3cEHY=", + "_id": "AAAAAAFcswO77LJwV44=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3b5Ko=" + "$ref": "AAAAAAFcswO767Jv7cY=" }, "visible": false, "enabled": true, @@ -40730,8 +44151,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -384, - "top": -704, + "left": 208, + "top": -144, "width": 0, "height": 13, "autoResize": false, @@ -40742,9 +44163,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kwgs3dciw=", + "_id": "AAAAAAFcswO77LJxhXE=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3b5Ko=" + "$ref": "AAAAAAFcswO767Jv7cY=" }, "visible": true, "enabled": true, @@ -40755,22 +44176,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 45, - "top": 71, - "width": 79, + "left": 589, + "top": 159, + "width": 54, "height": 13, "autoResize": false, "underline": false, - "text": "headers.hpp", + "text": "keypoint", "horizontalAlignment": 2, "verticalAlignment": 5, "wordWrap": false }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kwgs3eO0Q=", + "_id": "AAAAAAFcswO77LJyqRc=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3b5Ko=" + "$ref": "AAAAAAFcswO767Jv7cY=" }, "visible": false, "enabled": true, @@ -40781,8 +44202,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -384, - "top": -704, + "left": 208, + "top": -144, "width": 78, "height": 13, "autoResize": false, @@ -40794,9 +44215,9 @@ }, { "_type": "LabelView", - "_id": "AAAAAAFbH1Kwgs3f4dg=", + "_id": "AAAAAAFcswO77LJz4mI=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3b5Ko=" + "$ref": "AAAAAAFcswO767Jv7cY=" }, "visible": false, "enabled": true, @@ -40807,8 +44228,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -384, - "top": -704, + "left": 208, + "top": -144, "width": 0, "height": 13, "autoResize": false, @@ -40827,32 +44248,32 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 40, - "top": 64, - "width": 89, + "left": 584, + "top": 152, + "width": 64, "height": 25, "autoResize": false, "stereotypeLabel": { - "$ref": "AAAAAAFbH1Kwgs3cEHY=" + "$ref": "AAAAAAFcswO77LJwV44=" }, "nameLabel": { - "$ref": "AAAAAAFbH1Kwgs3dciw=" + "$ref": "AAAAAAFcswO77LJxhXE=" }, "namespaceLabel": { - "$ref": "AAAAAAFbH1Kwgs3eO0Q=" + "$ref": "AAAAAAFcswO77LJyqRc=" }, "propertyLabel": { - "$ref": "AAAAAAFbH1Kwgs3f4dg=" + "$ref": "AAAAAAFcswO77LJz4mI=" } }, { "_type": "UMLAttributeCompartmentView", - "_id": "AAAAAAFbH1Kwgs3gldc=", + "_id": "AAAAAAFcswO77LJ0Um8=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "visible": true, "enabled": true, @@ -40863,20 +44284,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 40, - "top": 89, - "width": 89, + "left": 584, + "top": 177, + "width": 64, "height": 10, "autoResize": false }, { "_type": "UMLOperationCompartmentView", - "_id": "AAAAAAFbH1Kwgs3hYiQ=", + "_id": "AAAAAAFcswO77bJ1zqg=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "visible": true, "enabled": true, @@ -40885,22 +44306,22 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 40, - "top": 99, - "width": 89, + "containerChangeable": false, + "containerExtending": false, + "left": 584, + "top": 187, + "width": 64, "height": 10, "autoResize": false }, { "_type": "UMLReceptionCompartmentView", - "_id": "AAAAAAFbH1Kwgs3iFWs=", + "_id": "AAAAAAFcswO77bJ2ZoE=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "visible": false, "enabled": true, @@ -40911,20 +44332,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -56, - "top": -384, + "left": 104, + "top": -120, "width": 10, "height": 10, "autoResize": false }, { "_type": "UMLTemplateParameterCompartmentView", - "_id": "AAAAAAFbH1Kwgs3jwjk=", + "_id": "AAAAAAFcswO77bJ3Yfc=", "_parent": { - "$ref": "AAAAAAFbH1Kwgs3av4U=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "model": { - "$ref": "AAAAAAFbH1Kwgc3Y4Vk=" + "$ref": "AAAAAAFcswO76bJsmb4=" }, "visible": false, "enabled": true, @@ -40935,8 +44356,8 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": -56, - "top": -384, + "left": 104, + "top": -120, "width": 10, "height": 10, "autoResize": false @@ -40954,9 +44375,9 @@ "showShadow": true, "containerChangeable": true, "containerExtending": false, - "left": 40, - "top": 64, - "width": 89, + "left": 584, + "top": 152, + "width": 64, "height": 45, "autoResize": false, "stereotypeDisplay": "label", @@ -40965,7 +44386,7 @@ "showProperty": true, "showType": true, "nameCompartment": { - "$ref": "AAAAAAFbH1Kwgs3b5Ko=" + "$ref": "AAAAAAFcswO767Jv7cY=" }, "wordWrap": false, "suppressAttributes": false, @@ -40974,36 +44395,36 @@ "showMultiplicity": true, "showOperationSignature": true, "attributeCompartment": { - "$ref": "AAAAAAFbH1Kwgs3gldc=" + "$ref": "AAAAAAFcswO77LJ0Um8=" }, "operationCompartment": { - "$ref": "AAAAAAFbH1Kwgs3hYiQ=" + "$ref": "AAAAAAFcswO77bJ1zqg=" }, "receptionCompartment": { - "$ref": "AAAAAAFbH1Kwgs3iFWs=" + "$ref": "AAAAAAFcswO77bJ2ZoE=" }, "templateParameterCompartment": { - "$ref": "AAAAAAFbH1Kwgs3jwjk=" + "$ref": "AAAAAAFcswO77bJ3Yfc=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4BsENFgLzs=", + "_id": "AAAAAAFcswPht7KaXPM=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4BsD9FeWAY=" + "$ref": "AAAAAAFcswPht7KYSAs=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4BsENFhdlY=", + "_id": "AAAAAAFcswPhuLKbI0g=", "_parent": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "model": { - "$ref": "AAAAAAFbH4BsD9FeWAY=" + "$ref": "AAAAAAFcswPht7KYSAs=" }, "visible": false, "enabled": true, @@ -41014,15 +44435,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 584, - "top": 260, + "left": 456, + "top": 232, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "edgePosition": 1, "underline": false, @@ -41032,12 +44453,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4BsENFiNmE=", + "_id": "AAAAAAFcswPhuLKcUrE=", "_parent": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "model": { - "$ref": "AAAAAAFbH4BsD9FeWAY=" + "$ref": "AAAAAAFcswPht7KYSAs=" }, "visible": null, "enabled": true, @@ -41048,15 +44469,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 599, - "top": 260, + "left": 460, + "top": 246, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "edgePosition": 1, "underline": false, @@ -41066,12 +44487,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4BsEdFjFAA=", + "_id": "AAAAAAFcswPhuLKdcZs=", "_parent": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "model": { - "$ref": "AAAAAAFbH4BsD9FeWAY=" + "$ref": "AAAAAAFcswPht7KYSAs=" }, "visible": false, "enabled": true, @@ -41082,15 +44503,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 555, - "top": 259, + "left": 447, + "top": 203, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4BsENFgLzs=" + "$ref": "AAAAAAFcswPht7KaXPM=" }, "edgePosition": 1, "underline": false, @@ -41109,44 +44530,44 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbH1K2dc5VSwA=" + "$ref": "AAAAAAFbH1KdscySwQk=" }, "tail": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "lineStyle": 1, - "points": "571:197;569:335", + "points": "583:184;322:264", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbH4BsENFhdlY=" + "$ref": "AAAAAAFcswPhuLKbI0g=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbH4BsENFiNmE=" + "$ref": "AAAAAAFcswPhuLKcUrE=" }, "propertyLabel": { - "$ref": "AAAAAAFbH4BsEdFjFAA=" + "$ref": "AAAAAAFcswPhuLKdcZs=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4CBE9FxtfM=", + "_id": "AAAAAAFcswPmlrKrC/8=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4CBE9Fv0d4=" + "$ref": "AAAAAAFcswPmlrKpfyc=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4CBE9FyVXY=", + "_id": "AAAAAAFcswPmmLKswyg=", "_parent": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "model": { - "$ref": "AAAAAAFbH4CBE9Fv0d4=" + "$ref": "AAAAAAFcswPmlrKpfyc=" }, "visible": false, "enabled": true, @@ -41157,15 +44578,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 437, - "top": 231, + "left": 537, + "top": 270, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "edgePosition": 1, "underline": false, @@ -41175,12 +44596,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4CBE9Fzf68=", + "_id": "AAAAAAFcswPmmLKtd10=", "_parent": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "model": { - "$ref": "AAAAAAFbH4CBE9Fv0d4=" + "$ref": "AAAAAAFcswPmlrKpfyc=" }, "visible": null, "enabled": true, @@ -41191,15 +44612,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 442, - "top": 245, + "left": 548, + "top": 280, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "edgePosition": 1, "underline": false, @@ -41209,12 +44630,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4CBE9F0nnM=", + "_id": "AAAAAAFcswPmmLKutEc=", "_parent": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "model": { - "$ref": "AAAAAAFbH4CBE9Fv0d4=" + "$ref": "AAAAAAFcswPmlrKpfyc=" }, "visible": false, "enabled": true, @@ -41225,15 +44646,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 426, - "top": 202, + "left": 516, + "top": 249, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4CBE9FxtfM=" + "$ref": "AAAAAAFcswPmlrKrC/8=" }, "edgePosition": 1, "underline": false, @@ -41252,189 +44673,330 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFbH1K01c4swqY=" }, "tail": { - "$ref": "AAAAAAFbH1Kncc02gVk=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "lineStyle": 1, - "points": "543:184;322:262", + "points": "593:197;462:335", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbH4CBE9FyVXY=" + "$ref": "AAAAAAFcswPmmLKswyg=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbH4CBE9Fzf68=" + "$ref": "AAAAAAFcswPmmLKtd10=" }, "propertyLabel": { - "$ref": "AAAAAAFbH4CBE9F0nnM=" + "$ref": "AAAAAAFcswPmmLKutEc=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4E0+NGTP+8=", + "_type": "UMLPackageView", + "_id": "AAAAAAFcswQsMiotLBc=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4E09tGR0l4=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E0+NGUMlE=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFcswQsMyoufrg=", "_parent": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" + "$ref": "AAAAAAFcswQsMiotLBc=" }, "model": { - "$ref": "AAAAAAFbH4E09tGR0l4=" + "$ref": "AAAAAAFbHGJipqEm58o=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyovxio=", + "_parent": { + "$ref": "AAAAAAFcswQsMyoufrg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 684, + "top": -1352, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyowDWk=", + "_parent": { + "$ref": "AAAAAAFcswQsMyoufrg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 697, + "top": 246, + "width": 191, + "height": 13, + "autoResize": false, + "underline": false, + "text": "core", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyoxlOg=", + "_parent": { + "$ref": "AAAAAAFcswQsMyoufrg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 684, + "top": -1352, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from pose)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyoy7m4=", + "_parent": { + "$ref": "AAAAAAFcswQsMyoufrg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 684, + "top": -1352, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 399, - "top": 269, - "width": 0, - "height": 13, + "left": 692, + "top": 239, + "width": 201, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E0+dGV+Ow=", - "_parent": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" + "stereotypeLabel": { + "$ref": "AAAAAAFcswQsMyovxio=" }, - "model": { - "$ref": "AAAAAAFbH4E09tGR0l4=" + "nameLabel": { + "$ref": "AAAAAAFcswQsMyowDWk=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 410, - "top": 279, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" + "namespaceLabel": { + "$ref": "AAAAAAFcswQsMyoxlOg=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, + "propertyLabel": { + "$ref": "AAAAAAFcswQsMyoy7m4=" + } + } + ], + "containedViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E0+dGWcts=", - "_parent": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" - }, - "model": { - "$ref": "AAAAAAFbH4E09tGR0l4=" - }, - "visible": false, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 376, - "top": 250, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4E0+NGTP+8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "$ref": "AAAAAAFcswXRobSeQTI=" } ], "visible": true, "enabled": true, "lineColor": "#000000", - "fillColor": "#ffffff", + "fillColor": "#e2e2e2", "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbH1Ku8s2xHTc=" - }, - "tail": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" - }, - "lineStyle": 1, - "points": "448:197;329:335", + "left": 692, + "top": 224, + "width": 201, + "height": 160, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbH4E0+NGUMlE=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbH4E0+dGV+Ow=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFcswQsMyoufrg=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH4E0+dGWcts=" - } + "wordWrap": false }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4E6fdGklB8=", + "_type": "UMLClassView", + "_id": "AAAAAAFcswQsMyozWzc=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4E6fdGi9bg=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E6fdGlbKw=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFcswQsMyo0nco=", "_parent": { - "$ref": "AAAAAAFbH4E6fdGklB8=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "model": { - "$ref": "AAAAAAFbH4E6fdGi9bg=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyo12jk=", + "_parent": { + "$ref": "AAAAAAFcswQsMyo0nco=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 420, + "top": -1304, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsMyo2Jk4=", + "_parent": { + "$ref": "AAAAAAFcswQsMyo0nco=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 709, + "top": 303, + "width": 61, + "height": 13, + "autoResize": false, + "underline": false, + "text": "array.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsNCo3wc0=", + "_parent": { + "$ref": "AAAAAAFcswQsMyo0nco=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 420, + "top": -1304, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswQsNCo4KUo=", + "_parent": { + "$ref": "AAAAAAFcswQsMyo0nco=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 420, + "top": -1304, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41443,66 +45005,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 385, - "top": 229, - "width": 0, - "height": 13, + "left": 704, + "top": 296, + "width": 71, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4E6fdGklB8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E6ftGmO7g=", - "_parent": { - "$ref": "AAAAAAFbH4E6fdGklB8=" + "stereotypeLabel": { + "$ref": "AAAAAAFcswQsMyo12jk=" }, - "model": { - "$ref": "AAAAAAFbH4E6fdGi9bg=" + "nameLabel": { + "$ref": "AAAAAAFcswQsMyo2Jk4=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 392, - "top": 242, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbH4E6fdGklB8=" + "namespaceLabel": { + "$ref": "AAAAAAFcswQsNCo3wc0=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFcswQsNCo4KUo=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4E6ftGnFJI=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFcswQsNCo59gQ=", "_parent": { - "$ref": "AAAAAAFbH4E6fdGklB8=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "model": { - "$ref": "AAAAAAFbH4E6fdGi9bg=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41511,73 +45041,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 370, - "top": 202, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4E6fdGklB8=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" - }, - "tail": { - "$ref": "AAAAAAFbH1KhQcy7aPg=" - }, - "lineStyle": 1, - "points": "439:190;318:255", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbH4E6fdGlbKw=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbH4E6ftGmO7g=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbH4E6ftGnFJI=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4Fr9NG1RIQ=", - "_parent": { - "$ref": "AAAAAAFbHImRMcuZ6y8=" - }, - "model": { - "$ref": "AAAAAAFbH4Fr9NGzad4=" - }, - "subViews": [ + "left": 704, + "top": 321, + "width": 71, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Fr9dG2390=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFcswQsNCo62r0=", "_parent": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "model": { - "$ref": "AAAAAAFbH4Fr9NGzad4=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41586,32 +45065,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 228, - "top": 208, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 704, + "top": 331, + "width": 71, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Fr9dG3O08=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFcswQsNCo7VEo=", "_parent": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "model": { - "$ref": "AAAAAAFbH4Fr9NGzad4=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41620,30 +45089,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 238, - "top": 197, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 264, + "top": -656, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Fr9dG4NUk=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFcswQsNCo8cwg=", "_parent": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "model": { - "$ref": "AAAAAAFbH4Fr9NGzad4=" + "$ref": "AAAAAAFbHGJ4XKFAf+Y=" }, "visible": false, "enabled": true, @@ -41654,23 +45113,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 207, - "top": 231, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4Fr9NG1RIQ=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 264, + "top": -656, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFcswQsMiotLBc=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -41678,47 +45130,58 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" - }, - "tail": { - "$ref": "AAAAAAFbH1KarMxpeN0=" - }, - "lineStyle": 1, - "points": "186:197;250:255", + "left": 704, + "top": 296, + "width": 71, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbH4Fr9dG2390=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFcswQsMyo0nco=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbH4Fr9dG3O08=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFcswQsNCo59gQ=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH4Fr9dG4NUk=" + "operationCompartment": { + "$ref": "AAAAAAFcswQsNCo62r0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFcswQsNCo7VEo=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFcswQsNCo8cwg=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4Gy7dHGzzo=", + "_id": "AAAAAAFcswRgfrSJFJE=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4Gy7dHE1fY=" + "$ref": "AAAAAAFcswRgfbSHUnE=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Gy7dHHlHQ=", + "_id": "AAAAAAFcswRgfrSKZRk=", "_parent": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "model": { - "$ref": "AAAAAAFbH4Gy7dHE1fY=" + "$ref": "AAAAAAFcswRgfbSHUnE=" }, "visible": false, "enabled": true, @@ -41729,15 +45192,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 327, - "top": 229, + "left": 688, + "top": 230, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "edgePosition": 1, "underline": false, @@ -41747,12 +45210,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Gy7dHIT5k=", + "_id": "AAAAAAFcswRgfrSLYpo=", "_parent": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "model": { - "$ref": "AAAAAAFbH4Gy7dHE1fY=" + "$ref": "AAAAAAFcswRgfbSHUnE=" }, "visible": null, "enabled": true, @@ -41763,15 +45226,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 339, - "top": 238, + "left": 699, + "top": 220, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "edgePosition": 1, "underline": false, @@ -41781,12 +45244,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Gy7dHJKCc=", + "_id": "AAAAAAFcswRgfrSM3LQ=", "_parent": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "model": { - "$ref": "AAAAAAFbH4Gy7dHE1fY=" + "$ref": "AAAAAAFcswRgfbSHUnE=" }, "visible": false, "enabled": true, @@ -41797,15 +45260,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 304, - "top": 210, + "left": 665, + "top": 249, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4Gy7dHGzzo=" + "$ref": "AAAAAAFcswRgfrSJFJE=" }, "edgePosition": 1, "underline": false, @@ -41824,46 +45287,150 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFcswQsMyozWzc=" }, "tail": { - "$ref": "AAAAAAFbH1KpWc1fkwU=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "lineStyle": 1, - "points": "339:197;294:255", + "points": "635:197;719:295", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbH4Gy7dHHlHQ=" + "$ref": "AAAAAAFcswRgfrSKZRk=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbH4Gy7dHIT5k=" + "$ref": "AAAAAAFcswRgfrSLYpo=" }, "propertyLabel": { - "$ref": "AAAAAAFbH4Gy7dHJKCc=" + "$ref": "AAAAAAFcswRgfrSM3LQ=" } }, { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4Hu1NHXdIA=", + "_type": "UMLClassView", + "_id": "AAAAAAFcswXRobSeQTI=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4Hu1NHV2CI=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, "subViews": [ { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Hu1NHYER0=", + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFcswXRobSflPc=", "_parent": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "model": { - "$ref": "AAAAAAFbH4Hu1NHV2CI=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": false, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFcswXRorSg5C0=", + "_parent": { + "$ref": "AAAAAAFcswXRobSflPc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -64, + "top": -24, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswXRorShg3Y=", + "_parent": { + "$ref": "AAAAAAFcswXRobSflPc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": 789, + "top": 303, + "width": 88, + "height": 13, + "autoResize": false, + "underline": false, + "text": "rectangle.hpp", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswXRorSiCCE=", + "_parent": { + "$ref": "AAAAAAFcswXRobSflPc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -64, + "top": -24, + "width": 72, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from core)", + "horizontalAlignment": 2, + "verticalAlignment": 5, + "wordWrap": false + }, + { + "_type": "LabelView", + "_id": "AAAAAAFcswXRorSj40E=", + "_parent": { + "$ref": "AAAAAAFcswXRobSflPc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "showShadow": true, + "containerChangeable": false, + "containerExtending": false, + "left": -64, + "top": -24, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5, + "wordWrap": false + } + ], + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41872,66 +45439,34 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 175, - "top": 204, - "width": 0, - "height": 13, + "left": 784, + "top": 296, + "width": 98, + "height": 25, "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - }, - { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Hu1dHZv38=", - "_parent": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" + "stereotypeLabel": { + "$ref": "AAAAAAFcswXRorSg5C0=" }, - "model": { - "$ref": "AAAAAAFbH4Hu1NHV2CI=" + "nameLabel": { + "$ref": "AAAAAAFcswXRorShg3Y=" }, - "visible": null, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "left": 182, - "top": 191, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" + "namespaceLabel": { + "$ref": "AAAAAAFcswXRorSiCCE=" }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "propertyLabel": { + "$ref": "AAAAAAFcswXRorSj40E=" + } }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4Hu1dHaviE=", + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFcswXRorSkfOs=", "_parent": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "model": { - "$ref": "AAAAAAFbH4Hu1NHV2CI=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -41940,73 +45475,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 162, - "top": 231, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4Hu1NHXdIA=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false - } - ], - "visible": true, - "enabled": true, - "lineColor": "#000000", - "fillColor": "#ffffff", - "fontColor": "#000000", - "font": "Arial;13;0", - "showShadow": true, - "containerChangeable": false, - "containerExtending": false, - "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" - }, - "tail": { - "$ref": "AAAAAAFbH1KXx8xAegg=" - }, - "lineStyle": 1, - "points": "107:193;231:255", - "stereotypeDisplay": "label", - "showVisibility": true, - "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbH4Hu1NHYER0=" - }, - "stereotypeLabel": { - "$ref": "AAAAAAFbH4Hu1dHZv38=" - }, - "propertyLabel": { - "$ref": "AAAAAAFbH4Hu1dHaviE=" - } - }, - { - "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4INHNHo6s4=", - "_parent": { - "$ref": "AAAAAAFbHImRMcuZ6y8=" - }, - "model": { - "$ref": "AAAAAAFbH4ING9HmZX0=" - }, - "subViews": [ + "left": 784, + "top": 321, + "width": 98, + "height": 10, + "autoResize": false + }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4INHNHpeYU=", + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFcswXRo7Sl4M0=", "_parent": { - "$ref": "AAAAAAFbH4INHNHo6s4=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "model": { - "$ref": "AAAAAAFbH4ING9HmZX0=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": false, + "visible": true, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -42015,32 +45499,22 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 237, - "top": 323, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4INHNHo6s4=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": 784, + "top": 331, + "width": 98, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4INHNHq3gY=", + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAFcswXRo7SmR9Q=", "_parent": { - "$ref": "AAAAAAFbH4INHNHo6s4=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "model": { - "$ref": "AAAAAAFbH4ING9HmZX0=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, - "visible": null, + "visible": false, "enabled": true, "lineColor": "#000000", "fillColor": "#ffffff", @@ -42049,30 +45523,20 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 247, - "top": 334, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": 1.5707963267948966, - "distance": 30, - "hostEdge": { - "$ref": "AAAAAAFbH4INHNHo6s4=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -56, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false }, { - "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4INHNHrebU=", + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFcswXRpLSn0qc=", "_parent": { - "$ref": "AAAAAAFbH4INHNHo6s4=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "model": { - "$ref": "AAAAAAFbH4ING9HmZX0=" + "$ref": "AAAAAAFcswXRoLSckR0=" }, "visible": false, "enabled": true, @@ -42083,23 +45547,16 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 218, - "top": 300, - "width": 0, - "height": 13, - "autoResize": false, - "alpha": -1.5707963267948966, - "distance": 15, - "hostEdge": { - "$ref": "AAAAAAFbH4INHNHo6s4=" - }, - "edgePosition": 1, - "underline": false, - "horizontalAlignment": 2, - "verticalAlignment": 5, - "wordWrap": false + "left": -56, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false } ], + "containerView": { + "$ref": "AAAAAAFcswQsMiotLBc=" + }, "visible": true, "enabled": true, "lineColor": "#000000", @@ -42107,47 +45564,58 @@ "fontColor": "#000000", "font": "Arial;13;0", "showShadow": true, - "containerChangeable": false, + "containerChangeable": true, "containerExtending": false, - "head": { - "$ref": "AAAAAAFbH1KlEc0N0+0=" - }, - "tail": { - "$ref": "AAAAAAFbH1KdscySwQk=" - }, - "lineStyle": 1, - "points": "248:301;208:335", + "left": 784, + "top": 296, + "width": 98, + "height": 45, + "autoResize": false, "stereotypeDisplay": "label", "showVisibility": true, + "showNamespace": false, "showProperty": true, - "nameLabel": { - "$ref": "AAAAAAFbH4INHNHpeYU=" + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFcswXRobSflPc=" }, - "stereotypeLabel": { - "$ref": "AAAAAAFbH4INHNHq3gY=" + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "suppressReceptions": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFcswXRorSkfOs=" }, - "propertyLabel": { - "$ref": "AAAAAAFbH4INHNHrebU=" + "operationCompartment": { + "$ref": "AAAAAAFcswXRo7Sl4M0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAFcswXRo7SmR9Q=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFcswXRpLSn0qc=" } }, { "_type": "UMLDependencyView", - "_id": "AAAAAAFbH4LrtNH5rUE=", + "_id": "AAAAAAFcswYOb7TLOOA=", "_parent": { "$ref": "AAAAAAFbHImRMcuZ6y8=" }, "model": { - "$ref": "AAAAAAFbH4Lrs9H3Qto=" + "$ref": "AAAAAAFcswYObrTJy5s=" }, "subViews": [ { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4LrtNH66bA=", + "_id": "AAAAAAFcswYOb7TMUQ4=", "_parent": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "model": { - "$ref": "AAAAAAFbH4Lrs9H3Qto=" + "$ref": "AAAAAAFcswYObrTJy5s=" }, "visible": false, "enabled": true, @@ -42158,15 +45626,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 280, - "top": 216, + "left": 730, + "top": 226, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "edgePosition": 1, "underline": false, @@ -42176,12 +45644,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4LrtNH7PTw=", + "_id": "AAAAAAFcswYOcLTN/Ro=", "_parent": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "model": { - "$ref": "AAAAAAFbH4Lrs9H3Qto=" + "$ref": "AAAAAAFcswYObrTJy5s=" }, "visible": null, "enabled": true, @@ -42192,15 +45660,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 295, - "top": 213, + "left": 738, + "top": 214, "width": 0, "height": 13, "autoResize": false, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "edgePosition": 1, "underline": false, @@ -42210,12 +45678,12 @@ }, { "_type": "EdgeLabelView", - "_id": "AAAAAAFbH4LrtNH89TQ=", + "_id": "AAAAAAFcswYOcLTOwQQ=", "_parent": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "model": { - "$ref": "AAAAAAFbH4Lrs9H3Qto=" + "$ref": "AAAAAAFcswYObrTJy5s=" }, "visible": false, "enabled": true, @@ -42226,15 +45694,15 @@ "showShadow": true, "containerChangeable": false, "containerExtending": false, - "left": 251, - "top": 223, + "left": 713, + "top": 251, "width": 0, "height": 13, "autoResize": false, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { - "$ref": "AAAAAAFbH4LrtNH5rUE=" + "$ref": "AAAAAAFcswYOb7TLOOA=" }, "edgePosition": 1, "underline": false, @@ -42253,24 +45721,24 @@ "containerChangeable": false, "containerExtending": false, "head": { - "$ref": "AAAAAAFbH1KdscySwQk=" + "$ref": "AAAAAAFcswXRobSeQTI=" }, "tail": { - "$ref": "AAAAAAFbH1KrWs2IQv0=" + "$ref": "AAAAAAFcswO767JuzTE=" }, "lineStyle": 1, - "points": "260:197;272:255", + "points": "648:196;797:295", "stereotypeDisplay": "label", "showVisibility": true, "showProperty": true, "nameLabel": { - "$ref": "AAAAAAFbH4LrtNH66bA=" + "$ref": "AAAAAAFcswYOb7TMUQ4=" }, "stereotypeLabel": { - "$ref": "AAAAAAFbH4LrtNH7PTw=" + "$ref": "AAAAAAFcswYOcLTN/Ro=" }, "propertyLabel": { - "$ref": "AAAAAAFbH4LrtNH89TQ=" + "$ref": "AAAAAAFcswYOcLTOwQQ=" } } ] diff --git a/doc/UML/1_0_0rc3/UML.pdf b/doc/UML/1_0_0rc3/UML.pdf index b643b206bac2c78c270b4d3bb831ca6a731cab8c..318d53d293a4405fd03abb36d7fee825c4b29fd6 100644 Binary files a/doc/UML/1_0_0rc3/UML.pdf and b/doc/UML/1_0_0rc3/UML.pdf differ diff --git a/doc/demo_overview.md b/doc/demo_overview.md index d2deadffb8045c76b72ded16455506fd308941f7..f21b503ed714c6cd57a518f9374bf2fcb307f8c7 100644 --- a/doc/demo_overview.md +++ b/doc/demo_overview.md @@ -44,13 +44,13 @@ Each flag is divided into flag name, default value, and description. - DEFINE_int32(part_to_show, 0, "Part to show from the start."); - DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it will only display the results."); 8. OpenPose Rendering Pose -- DEFINE_bool(no_render_pose, false, "If false, it will fill both `outputData` and `cvOutputData` with the original image + desired part to be shown. If true, it will leave them empty."); -- DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -- DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +- DEFINE_int32(render_pose, 1, "Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering (slower but greater functionality, e.g. `alpha_X` flags). If rendering is enabled, it will render both `outputData` and `cvOutputData` with the original image and desired body part to be shown (i.e. keypoints, heat maps or PAFs)."); +- DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it. Only valid for GPU rendering."); +- DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame. Only valid for GPU rendering."); 9. OpenPose Rendering Face -- DEFINE_bool(no_render_face, false, "Analogous to `no_render_pose` but applied to the face keypoints and heat maps."); -- DEFINE_double(alpha_face, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -- DEFINE_double(alpha_heatmap_face, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +- DEFINE_int32(render_face, -1, "Analogous to `render_pose` but applied to the face. Extra option: -1 to use the same configuration that `render_pose` is using."); +- DEFINE_double(alpha_face, 0.6, "Analogous to `alpha_pose` but applied to face."); +- DEFINE_double(alpha_heatmap_face, 0.7, "Analogous to `alpha_heatmap` but applied to face."); 10. Display - DEFINE_bool(fullscreen, false, "Run in full-screen mode (press f during runtime to toggle)."); - DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is too long, it will skip frames. If it is too fast, it will slow it down."); @@ -60,11 +60,11 @@ Each flag is divided into flag name, default value, and description. - DEFINE_string(write_images, "", "Directory to write rendered frames in `write_images_format` image format."); - DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV function cv::imwrite for all compatible extensions."); - DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the final path does not finish in `.avi`. It internally uses cv::VideoWriter."); -- DEFINE_string(write_keypoint, "", "Directory to write the people body pose keypoint data. Desired format on `write_keypoint_format`."); -- DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml and yml. Json not available for OpenCV < 3.0, use `write_keypoint_json` instead."); -- DEFINE_string(write_keypoint_json, "", "Directory to write people pose data with *.json format, compatible with any OpenCV version."); +- DEFINE_string(write_keypoint, "", "Directory to write the people pose keypoint data. Format with `write_keypoint_format`."); +- DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml & yml. Json not available for OpenCV < 3.0, use `write_keypoint_json` instead."); +- DEFINE_string(write_keypoint_json, "", "Directory to write people pose data in *.json format, compatible with any OpenCV version."); - DEFINE_string(write_coco_json, "", "Full file path to write people pose data with *.json COCO validation format."); -- DEFINE_string(write_heatmaps, "", "Directory to write heatmaps with *.png format. At least 1 `add_heatmaps_X` flag must be enabled."); +- DEFINE_string(write_heatmaps, "", "Directory to write heatmaps in *.png format. At least 1 `add_heatmaps_X` flag must be enabled."); - DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`. Recommended `png` or any compressed and lossless format."); ## Multiple Scales diff --git a/doc/media/keypoints_hand.odt b/doc/media/keypoints_hand.odt new file mode 100644 index 0000000000000000000000000000000000000000..362910e41c00c25899ab82bf80fd84154dbb1c35 Binary files /dev/null and b/doc/media/keypoints_hand.odt differ diff --git a/doc/media/keypoints_hand.png b/doc/media/keypoints_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb38a8dd9e3a589b4eb20b184654a44a857b120 Binary files /dev/null and b/doc/media/keypoints_hand.png differ diff --git a/doc/release_notes.md b/doc/release_notes.md index e474c3b0ec73f7eca253536dbebcc76829cc730c..f94370515464ccb2730ec12c2aaf33a9fbac165a 100644 --- a/doc/release_notes.md +++ b/doc/release_notes.md @@ -15,7 +15,7 @@ OpenPose Library - Release Notes 1. Main improvements: 1. Rendering max resolution from 720p to >32k images. 2. Highly improved documentation. -2. Functions or paremeters renamed: +2. Functions or parameters renamed: 1. Demo renamed from rtpose to openpose. 3. Main bugs fixed: 1. Demo uses exec instead of start, so it works with more OpenCV custom compiled versions. @@ -25,14 +25,14 @@ OpenPose Library - Release Notes ## OpenPose 1.0.0rc3 1. Main improvements: 1. Added face keypoint detection. - 2. Added Windows 10 compatibily. + 2. Added Windows 10 compatibility. 3. Auto-detection of the number of GPUs. 4. MPI visualization more similar to COCO one. 5. Rendering max resolution from 720p to >32k images. 6. GUI info adder working when the worker TDatum has more than 1 Datum. - 7. It prints out the error description before throwing the exception (so that it is writen on the Windows cmd). + 7. It prints out the error description before throwing the exception (so that it is written on the Windows cmd). 8. Highly improved documentation. -2. Functions or paremeters renamed: +2. Functions or parameters renamed: 1. Flag `write_pose` renamed as `write_keypoint` and it also applies to face and/or hands. 2. Flag `write_pose_json` renamed as `write_keypoint_json` and it also applies to face and/or hands. 3. Flag `write_pose_format` renamed as `write_keypoint_format` and it also applies to face and/or hands. @@ -46,11 +46,15 @@ OpenPose Library - Release Notes ## Current version (future OpenPose 1.0.0rc4) 1. Main improvements: - 1. Check() functions give more feedback. - 2. Improved documentation. -2. Functions or paremeters renamed: - 1. `Datum::scaleRatios` to save the relative scale ratio when multi-scale. + 1. Increased accuracy on multi-scale (added `Datum::scaleRatios` to save the relative scale ratio when multi-scale). + 2. Increased speed ~3-5% by adding CPU rendering and setting it as default rendering. + 3. Check() functions give more feedback. + 4. WCocoJsonSaver finished and removed its 3599-image limit. + 5. Improved documentation. +2. Functions or parameters renamed: + 1. Render flags renamed in the demo in order to incorporate the CPU/GPU rendering. 3. Main bugs fixed: 1. Fixed bug in Array::getConstCvMat() if mVolume=0, now returning empty cv::Mat. 2. Fixed bug: `--process_real_time` threw error with webcam. - 3. Fixed bug: Face not working with output resolution different to input. + 3. Fixed bug: Face not working when input and output resolutions are different. + 4. Fixed some bugs that prevented debug version to run. diff --git a/examples/openpose/openpose.cpp b/examples/openpose/openpose.cpp index b180e74ed504fafe808f04e7158877441df4e912..f1f3646dced5f0314142c1a2e9d26876ae431744 100755 --- a/examples/openpose/openpose.cpp +++ b/examples/openpose/openpose.cpp @@ -16,12 +16,12 @@ // This file should only be used for the user to take specific examples. // C++ std library dependencies -#include // std::atomic +#include #include // `std::chrono::` functions and classes, e.g. std::chrono::milliseconds #include // sscanf -#include // std::string +#include #include // std::this_thread -#include // std::vector +#include // Other 3rdpary depencencies #include // DEFINE_bool, DEFINE_int32, DEFINE_int64, DEFINE_uint64, DEFINE_double, DEFINE_string #include // google::InitGoogleLogging @@ -45,77 +45,98 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_int32(camera, 0, "The camera index for cv::VideoCapture. Integer in the range [0, 9]."); DEFINE_string(camera_resolution, "1280x720", "Size of the camera frames to ask for."); -DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default example video."); -DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20 images."); +DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default" + " example video."); +DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20" + " images."); DEFINE_uint64(frame_first, 0, "Start on desired frame number. Indexes are 0-based, i.e. the first frame has index 0."); -DEFINE_uint64(frame_last, -1, "Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g. if set to 10, it will process" - " 11 frames (0-10)."); +DEFINE_uint64(frame_last, -1, "Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g. if set to" + " 10, it will process 11 frames (0-10)."); DEFINE_bool(frame_flip, false, "Flip/mirror each frame (e.g. for real time webcam demonstrations)."); DEFINE_int32(frame_rotate, 0, "Rotate each frame, 4 possible values: 0, 90, 180, 270."); DEFINE_bool(frames_repeat, false, "Repeat frames when finished."); // OpenPose DEFINE_string(model_folder, "models/", "Folder where the pose models (COCO and MPI) are located."); -DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the default images resolution."); -DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your machine."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); +DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your" + " machine."); DEFINE_int32(num_gpu_start, 0, "GPU device start number."); -DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y) coordinates that will be saved" - " with the `write_keypoint` & `write_keypoint_json` flags. Select `0` to scale it to the original source resolution, `1`to scale" - " it to the net output size (set with `net_resolution`), `2` to scale it to the final output size (set with `resolution`)," - " `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related with `num_scales` and `scale_gap`."); +DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y)" + " coordinates that will be saved with the `write_keypoint` & `write_keypoint_json` flags." + " Select `0` to scale it to the original source resolution, `1`to scale it to the net output" + " size (set with `net_resolution`), `2` to scale it to the final output size (set with" + " `resolution`), `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related" + " with `num_scales` and `scale_gap`."); // OpenPose Body Pose DEFINE_string(model_pose, "COCO", "Model to be used (e.g. COCO, MPI, MPI_4_layers)."); -DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased, the speed increases."); +DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased," + " the speed increases."); DEFINE_int32(num_scales, 1, "Number of scales to average."); -DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you want to change the initial scale," - " you actually want to multiply the `net_resolution` by your desired initial scale."); -DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array (program speed will decrease). Not" - " required for our library, enable it only if you intend to process this information later. If more than one `add_heatmaps_X`" - " flag is enabled, it will place then in sequential memory order: body parts + bkg + PAFs. It will follow the order on" - " POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); -DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to background."); +DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you" + " want to change the initial scale, you actually want to multiply the `net_resolution` by" + " your desired initial scale."); +DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array" + " (program speed will decrease). Not required for our library, enable it only if you intend" + " to process this information later. If more than one `add_heatmaps_X` flag is enabled, it" + " will place then in sequential memory order: body parts + bkg + PAFs. It will follow the" + " order on POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); +DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to" + " background."); DEFINE_bool(heatmaps_add_PAFs, false, "Same functionality as `add_heatmaps_parts`, but adding the PAFs."); // OpenPose Face -DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g. `model_folder`."); -DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector. 320x320 usually works fine" - " while giving a substantial speed up when multiple faces on the image."); +DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g." + " `model_folder`."); +DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector." + " 320x320 usually works fine while giving a substantial speed up when multiple faces on the" + " image."); // OpenPose Hand // OpenPose Rendering DEFINE_int32(part_to_show, 0, "Part to show from the start."); -DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it will only display the results."); +DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it" + " will only display the results."); // OpenPose Rendering Pose -DEFINE_bool(no_render_pose, false, "If false, it will fill both `outputData` and `cvOutputData` with the original image + desired part to be shown." - " If true, it will leave them empty."); -DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_pose, 1, "Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering" + " (slower but greater functionality, e.g. `alpha_X` flags). If rendering is enabled, it will" + " render both `outputData` and `cvOutputData` with the original image and desired body part" + " to be shown (i.e. keypoints, heat maps or PAFs)."); +DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will" + " hide it. Only valid for GPU rendering."); +DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the" + " heatmap, 0 will only show the frame. Only valid for GPU rendering."); // OpenPose Rendering Face -DEFINE_bool(no_render_face, false, "Analogous to `no_render_pose` but applied to the face keypoints and heat maps."); -DEFINE_double(alpha_face, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap_face, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_face, -1, "Analogous to `render_pose` but applied to the face. Extra option: -1 to use the same" + " configuration that `render_pose` is using."); +DEFINE_double(alpha_face, 0.6, "Analogous to `alpha_pose` but applied to face."); +DEFINE_double(alpha_heatmap_face, 0.7, "Analogous to `alpha_heatmap` but applied to face."); // Display DEFINE_bool(fullscreen, false, "Run in full-screen mode (press f during runtime to toggle)."); -DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is too long, it will skip frames. If it is" - " too fast, it will slow it down."); -DEFINE_bool(no_gui_verbose, false, "Do not write text on output images on GUI (e.g. number of current frame and people). It does not affect the pose rendering."); +DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is" + " too long, it will skip frames. If it is too fast, it will slow it down."); +DEFINE_bool(no_gui_verbose, false, "Do not write text on output images on GUI (e.g. number of current frame and people). It" + " does not affect the pose rendering."); DEFINE_bool(no_display, false, "Do not open a display window."); // Result Saving DEFINE_string(write_images, "", "Directory to write rendered frames in `write_images_format` image format."); -DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV function cv::imwrite" - " for all compatible extensions."); -DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the final path does" - " not finish in `.avi`. It internally uses cv::VideoWriter."); -DEFINE_string(write_keypoint, "", "Directory to write the people body pose keypoint data. Desired format on `write_keypoint_format`."); -DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml and yml. Json not available for OpenCV < 3.0," - " use `write_keypoint_json` instead."); -DEFINE_string(write_keypoint_json, "", "Directory to write people pose data with *.json format, compatible with any OpenCV version."); +DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV" + " function cv::imwrite for all compatible extensions."); +DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the" + " final path does not finish in `.avi`. It internally uses cv::VideoWriter."); +DEFINE_string(write_keypoint, "", "Directory to write the people pose keypoint data. Format with `write_keypoint_format`."); +DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml & yml. Json not available" + " for OpenCV < 3.0, use `write_keypoint_json` instead."); +DEFINE_string(write_keypoint_json, "", "Directory to write people pose data in *.json format, compatible with any OpenCV version."); DEFINE_string(write_coco_json, "", "Full file path to write people pose data with *.json COCO validation format."); -DEFINE_string(write_heatmaps, "", "Directory to write heatmaps with *.png format. At least 1 `add_heatmaps_X` flag must be enabled."); -DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`. Recommended `png` or any compressed and" - " lossless format."); +DEFINE_string(write_heatmaps, "", "Directory to write heatmaps in *.png format. At least 1 `add_heatmaps_X` flag must be" + " enabled."); +DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`." + " Recommended `png` or any compressed and lossless format."); op::PoseModel gflagToPoseModel(const std::string& poseModeString) { @@ -148,7 +169,8 @@ op::ScaleMode gflagToScaleMode(const int keypointScale) return op::ScaleMode::PlusMinusOne; else { - const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution, NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; + const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution," + " NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; op::error(message, __LINE__, __FUNCTION__, __FILE__); return op::ScaleMode::InputResolution; } @@ -175,7 +197,8 @@ op::ProducerType gflagsToProducerType(const std::string& imageDirectory, const s return op::ProducerType::Webcam; } -std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, const op::Point webcamResolution) +std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, + const op::Point webcamResolution) { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); const auto type = gflagsToProducerType(imageDirectory, videoPath, webcamIndex); @@ -193,39 +216,60 @@ std::shared_ptr gflagsToProducer(const std::string& imageDirectory } } -std::vector gflagToHeatMaps(const bool heatmaps_add_parts, const bool heatmaps_add_bkg, const bool heatmaps_add_PAFs) +std::vector gflagToHeatMaps(const bool heatMapsAddParts, const bool heatMapsAddBkg, const bool heatMapsAddPAFs) { - std::vector heatMapTypes; - if (heatmaps_add_parts) + if (heatMapsAddParts) heatMapTypes.emplace_back(op::HeatMapType::Parts); - if (heatmaps_add_bkg) + if (heatMapsAddBkg) heatMapTypes.emplace_back(op::HeatMapType::Background); - if (heatmaps_add_PAFs) + if (heatMapsAddPAFs) heatMapTypes.emplace_back(op::HeatMapType::PAFs); return heatMapTypes; } +op::RenderMode gflagToRenderMode(const int renderFlag, const int renderPoseFlag = -2) +{ + if (renderFlag == -1 && renderPoseFlag != -2) + return gflagToRenderMode(renderPoseFlag, -2); + else if (renderFlag == 0) + return op::RenderMode::None; + else if (renderFlag == 1) + return op::RenderMode::Cpu; + else if (renderFlag == 2) + return op::RenderMode::Gpu; + else + { + op::error("Undefined RenderMode selected.", __LINE__, __FUNCTION__, __FILE__); + return op::RenderMode::None; + } +} + // Google flags into program variables -std::tuple, op::Point, op::Point, op::Point, std::shared_ptr, op::PoseModel, op::ScaleMode, std::vector> gflagsToOpParameters() +std::tuple, op::Point, op::Point, op::Point, std::shared_ptr, op::PoseModel, + op::ScaleMode, std::vector> gflagsToOpParameters() { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); // cameraFrameSize op::Point cameraFrameSize; auto nRead = sscanf(FLAGS_camera_resolution.c_str(), "%dx%d", &cameraFrameSize.x, &cameraFrameSize.y); - op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", + __LINE__, __FUNCTION__, __FILE__); // outputSize op::Point outputSize; nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", + __LINE__, __FUNCTION__, __FILE__); // netInputSize op::Point netInputSize; nRead = sscanf(FLAGS_net_resolution.c_str(), "%dx%d", &netInputSize.x, &netInputSize.y); - op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", + __LINE__, __FUNCTION__, __FILE__); // faceNetInputSize op::Point faceNetInputSize; nRead = sscanf(FLAGS_face_net_resolution.c_str(), "%dx%d", &faceNetInputSize.x, &faceNetInputSize.y); - op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); // producerType const auto producerSharedPtr = gflagsToProducer(FLAGS_image_dir, FLAGS_video, FLAGS_camera, cameraFrameSize); // poseModel @@ -257,25 +301,29 @@ int opRealTimePoseDemo() op::PoseModel poseModel; op::ScaleMode keypointScale; std::vector heatMapTypes; - std::tie(cameraFrameSize, outputSize, netInputSize, faceNetInputSize, producerSharedPtr, poseModel, keypointScale, heatMapTypes) = gflagsToOpParameters(); + std::tie(cameraFrameSize, outputSize, netInputSize, faceNetInputSize, producerSharedPtr, poseModel, keypointScale, + heatMapTypes) = gflagsToOpParameters(); // OpenPose wrapper op::log("Configuring OpenPose wrapper.", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); op::Wrapper> opWrapper; // Pose configuration (use WrapperStructPose{} for default and recommended configuration) - const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, FLAGS_num_scales, (float)FLAGS_scale_gap, - !FLAGS_no_render_pose, poseModel, !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, + const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, + FLAGS_num_scales, (float)FLAGS_scale_gap, gflagToRenderMode(FLAGS_render_pose), poseModel, + !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, FLAGS_part_to_show, FLAGS_model_folder, heatMapTypes, op::ScaleMode::UnsignedChar}; - // (Experimental, function and class names might change in next versions) Face configuration (use op::WrapperStructFace{} to disable it) - const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, !FLAGS_no_render_face, (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; - // (Experimental, function and class names might change in next versions) Hand configuration (use op::WrapperStructFace{} to disable it) + // Face configuration (use op::WrapperStructFace{} to disable it) + const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, gflagToRenderMode(FLAGS_render_face, FLAGS_render_pose), + (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; + // Hand configuration (use op::WrapperStructHand{} to disable it) const op::experimental::WrapperStructHand wrapperStructHand{false}; // Producer (use default to disable any input) - const op::WrapperStructInput wrapperStructInput{producerSharedPtr, FLAGS_frame_first, FLAGS_frame_last, FLAGS_process_real_time, FLAGS_frame_flip, - FLAGS_frame_rotate, FLAGS_frames_repeat}; + const op::WrapperStructInput wrapperStructInput{producerSharedPtr, FLAGS_frame_first, FLAGS_frame_last, FLAGS_process_real_time, + FLAGS_frame_flip, FLAGS_frame_rotate, FLAGS_frames_repeat}; // Consumer (comment or use default argument to disable any output) - const op::WrapperStructOutput wrapperStructOutput{!FLAGS_no_display, !FLAGS_no_gui_verbose, FLAGS_fullscreen, FLAGS_write_keypoint, op::stringToDataFormat(FLAGS_write_keypoint_format), - FLAGS_write_keypoint_json, FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, + const op::WrapperStructOutput wrapperStructOutput{!FLAGS_no_display, !FLAGS_no_gui_verbose, FLAGS_fullscreen, FLAGS_write_keypoint, + op::stringToDataFormat(FLAGS_write_keypoint_format), FLAGS_write_keypoint_json, + FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, FLAGS_write_heatmaps, FLAGS_write_heatmaps_format}; // Configure wrapper opWrapper.configure(wrapperStructPose, wrapperStructFace, wrapperStructHand, wrapperStructInput, wrapperStructOutput); @@ -310,7 +358,8 @@ int opRealTimePoseDemo() // opWrapper.stop(); // Measuring total time - const auto totalTimeSec = (double)std::chrono::duration_cast(std::chrono::high_resolution_clock::now()-timerBegin).count() * 1e-9; + const auto now = std::chrono::high_resolution_clock::now(); + const auto totalTimeSec = (double)std::chrono::duration_cast(now-timerBegin).count() * 1e-9; const auto message = "Real-time pose estimation demo successfully finished. Total time: " + std::to_string(totalTimeSec) + " seconds."; op::log(message, op::Priority::Max); diff --git a/examples/tutorial_pose/1_extract_from_image.cpp b/examples/tutorial_pose/1_extract_from_image.cpp index 1018bef790ec005d36a7737c70e9ea4495605a1a..8bbffe06e5268351094d8f61657a9db14db697af 100644 --- a/examples/tutorial_pose/1_extract_from_image.cpp +++ b/examples/tutorial_pose/1_extract_from_image.cpp @@ -22,21 +22,26 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_path, "examples/media/COCO_val2014_000000000192.jpg", "Process the desired image."); // OpenPose DEFINE_string(model_pose, "COCO", "Model to be used (e.g. COCO, MPI, MPI_4_layers)."); DEFINE_string(model_folder, "models/", "Folder path (absolute or relative) where the models (pose, face, ...) are located."); -DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased, the speed increases."); -DEFINE_string(resolution, "1280x720", "The image resolution (display). Use \"-1x-1\" to force the program to use the default images resolution."); +DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased," + " the speed increases."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); DEFINE_int32(num_gpu_start, 0, "GPU device start number."); -DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you want to change the initial scale, " - "you actually want to multiply the `net_resolution` by your desired initial scale."); +DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you" + " want to change the initial scale, you actually want to multiply the `net_resolution` by" + " your desired initial scale."); DEFINE_int32(num_scales, 1, "Number of scales to average."); // OpenPose Rendering -DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); +DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will" + " hide it. Only valid for GPU rendering."); op::PoseModel gflagToPoseModel(const std::string& poseModeString) { @@ -61,11 +66,13 @@ std::tuple, op::Point, op::Point, op::PoseModel> gflags // outputSize op::Point outputSize; auto nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", + __LINE__, __FUNCTION__, __FILE__); // netInputSize op::Point netInputSize; nRead = sscanf(FLAGS_net_resolution.c_str(), "%dx%d", &netInputSize.x, &netInputSize.y); - op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", + __LINE__, __FUNCTION__, __FILE__); // netOutputSize const auto netOutputSize = netInputSize; // poseModel diff --git a/examples/tutorial_pose/2_extract_pose_or_heatmat_from_image.cpp b/examples/tutorial_pose/2_extract_pose_or_heatmat_from_image.cpp index 4f55a07289266275ddd62e985a090f4f02e6b8f1..b686787565df76418e4a7c7ea2a13ba3ad993b55 100644 --- a/examples/tutorial_pose/2_extract_pose_or_heatmat_from_image.cpp +++ b/examples/tutorial_pose/2_extract_pose_or_heatmat_from_image.cpp @@ -22,23 +22,29 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_path, "examples/media/COCO_val2014_000000000192.jpg", "Process the desired image."); // OpenPose DEFINE_string(model_pose, "COCO", "Model to be used (e.g. COCO, MPI, MPI_4_layers)."); DEFINE_string(model_folder, "models/", "Folder path (absolute or relative) where the models (pose, face, ...) are located."); -DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased, the speed increases."); -DEFINE_string(resolution, "1280x720", "The image resolution (display). Use \"-1x-1\" to force the program to use the default images resolution."); +DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased," + " the speed increases."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); DEFINE_int32(num_gpu_start, 0, "GPU device start number."); -DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you want to change the initial scale, " - "you actually want to multiply the `net_resolution` by your desired initial scale."); +DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you" + " want to change the initial scale, you actually want to multiply the `net_resolution` by" + " your desired initial scale."); DEFINE_int32(num_scales, 1, "Number of scales to average."); // OpenPose Rendering DEFINE_int32(part_to_show, 19, "Part to show from the start."); -DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will" + " hide it. Only valid for GPU rendering."); +DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the" + " heatmap, 0 will only show the frame. Only valid for GPU rendering."); op::PoseModel gflagToPoseModel(const std::string& poseModeString) { @@ -63,11 +69,13 @@ std::tuple, op::Point, op::Point, op::PoseModel> gflags // outputSize op::Point outputSize; auto nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", + __LINE__, __FUNCTION__, __FILE__); // netInputSize op::Point netInputSize; nRead = sscanf(FLAGS_net_resolution.c_str(), "%dx%d", &netInputSize.x, &netInputSize.y); - op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", + __LINE__, __FUNCTION__, __FILE__); // netOutputSize const auto netOutputSize = netInputSize; // poseModel @@ -100,8 +108,9 @@ int openPoseTutorialPose2() // Step 3 - Initialize all required classes op::CvMatToOpInput cvMatToOpInput{netInputSize, FLAGS_num_scales, (float)FLAGS_scale_gap}; op::CvMatToOpOutput cvMatToOpOutput{outputSize}; - std::shared_ptr poseExtractorPtr = std::make_shared(netInputSize, netOutputSize, outputSize, FLAGS_num_scales, - poseModel, FLAGS_model_folder, FLAGS_num_gpu_start); + std::shared_ptr poseExtractorPtr = std::make_shared(netInputSize, netOutputSize, outputSize, + FLAGS_num_scales, poseModel, + FLAGS_model_folder, FLAGS_num_gpu_start); op::PoseRenderer poseRenderer{netOutputSize, outputSize, poseModel, poseExtractorPtr, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap}; poseRenderer.setElementToRender(FLAGS_part_to_show); op::OpOutputToCvMat opOutputToCvMat{outputSize}; diff --git a/examples/tutorial_thread/1_openpose_read_and_display.cpp b/examples/tutorial_thread/1_openpose_read_and_display.cpp index 11437cf33c753f9260b89e0f0cd3127f2be2791f..76907cc952e4d6950be78d7da49739640f50e286 100644 --- a/examples/tutorial_thread/1_openpose_read_and_display.cpp +++ b/examples/tutorial_thread/1_openpose_read_and_display.cpp @@ -21,19 +21,23 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_int32(camera, 0, "The camera index for cv::VideoCapture. Integer in the range [0, 9]."); DEFINE_string(camera_resolution, "1280x720", "Size of the camera frames to ask for."); -DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default example video."); -DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20 images."); +DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default" + " example video."); +DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20" + " images."); // OpenPose -DEFINE_string(resolution, "1280x720", "The image resolution (display). Use \"-1x-1\" to force the program to use the default images resolution."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); // Consumer DEFINE_bool(fullscreen, false, "Run in full-screen mode (press f during runtime to toggle)."); -DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is too long, it will skip frames. If it is" - " too fast, it will slow it down."); +DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is" + " too long, it will skip frames. If it is too fast, it will slow it down."); // Determine type of frame source op::ProducerType gflagsToProducerType(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex) @@ -56,7 +60,8 @@ op::ProducerType gflagsToProducerType(const std::string& imageDirectory, const s return op::ProducerType::Webcam; } -std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, const op::Point webcamResolution) +std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, + const op::Point webcamResolution) { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); const auto type = gflagsToProducerType(imageDirectory, videoPath, webcamIndex); @@ -81,11 +86,13 @@ std::tuple, op::Point, std::shared_ptr> gflags // cameraFrameSize op::Point cameraFrameSize; auto nRead = sscanf(FLAGS_camera_resolution.c_str(), "%dx%d", &cameraFrameSize.x, &cameraFrameSize.y); - op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", + __LINE__, __FUNCTION__, __FILE__); // outputSize op::Point outputSize; nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", + __LINE__, __FUNCTION__, __FILE__); // producerType const auto producerSharedPtr = gflagsToProducer(FLAGS_image_dir, FLAGS_video, FLAGS_camera, cameraFrameSize); @@ -121,7 +128,8 @@ int openPoseTutorialThread1() if (producerSize.area() > 0) outputSize = producerSize; else - op::error("Output resolution = input resolution not valid for image reading (size might change between images).", __LINE__, __FUNCTION__, __FILE__); + op::error("Output resolution = input resolution not valid for image reading (size might change between images).", + __LINE__, __FUNCTION__, __FILE__); } // Step 4 - Setting thread workers && manager typedef std::vector TypedefDatumsNoPtr; @@ -138,7 +146,8 @@ int openPoseTutorialThread1() // ------------------------- CONFIGURING THREADING ------------------------- // In this simple multi-thread example, we will do the following: // 3 (virtual) queues: 0, 1, 2 - // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing sequence + // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing + // sequence // 2 threads: 0, 1 // wDatumProducer will generate frames (there is no real queue 0) and push them on queue 1 // wGui will pop frames from queue 1 and process them (there is no real queue 2) diff --git a/examples/tutorial_thread/2_user_processing_function.cpp b/examples/tutorial_thread/2_user_processing_function.cpp index faef043d639cef302fe8d165e11826fbbb0ae0db..9ca9b7cc0de6b7f4fbe8221f52c866e1fd1753a3 100644 --- a/examples/tutorial_thread/2_user_processing_function.cpp +++ b/examples/tutorial_thread/2_user_processing_function.cpp @@ -22,19 +22,23 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_int32(camera, 0, "The camera index for cv::VideoCapture. Integer in the range [0, 9]."); DEFINE_string(camera_resolution, "1280x720", "Size of the camera frames to ask for."); -DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default example video."); -DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20 images."); +DEFINE_string(video, "", "Use a video file instead of the camera. Use `examples/media/video.avi` for our default" + " example video."); +DEFINE_string(image_dir, "", "Process a directory of images. Use `examples/media/` for our default example folder with 20" + " images."); // OpenPose -DEFINE_string(resolution, "1280x720", "The image resolution (display). Use \"-1x-1\" to force the program to use the default images resolution."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); // Consumer DEFINE_bool(fullscreen, false, "Run in full-screen mode (press f during runtime to toggle)."); -DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is too long, it will skip frames. If it is" - " too fast, it will slow it down."); +DEFINE_bool(process_real_time, false, "Enable to keep the original source frame rate (e.g. for video). If the processing time is" + " too long, it will skip frames. If it is too fast, it will slow it down."); // This class can be implemented either as a template or as a simple class given // that the user usually knows which kind of data he will move between the queues, @@ -90,7 +94,8 @@ op::ProducerType gflagsToProducerType(const std::string& imageDirectory, const s return op::ProducerType::Webcam; } -std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, const op::Point webcamResolution) +std::shared_ptr gflagsToProducer(const std::string& imageDirectory, const std::string& videoPath, const int webcamIndex, + const op::Point webcamResolution) { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); const auto type = gflagsToProducerType(imageDirectory, videoPath, webcamIndex); @@ -115,11 +120,13 @@ std::tuple, op::Point, std::shared_ptr> gflags // cameraFrameSize op::Point cameraFrameSize; auto nRead = sscanf(FLAGS_camera_resolution.c_str(), "%dx%d", &cameraFrameSize.x, &cameraFrameSize.y); - op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", + __LINE__, __FUNCTION__, __FILE__); // outputSize op::Point outputSize; nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, camera resolution format (" + FLAGS_camera_resolution + ") invalid, should be e.g., 1280x720", + __LINE__, __FUNCTION__, __FILE__); // producerType const auto producerSharedPtr = gflagsToProducer(FLAGS_image_dir, FLAGS_video, FLAGS_camera, cameraFrameSize); @@ -155,7 +162,8 @@ int openPoseTutorialThread2() if (producerSize.area() > 0) outputSize = producerSize; else - op::error("Output resolution = input resolution not valid for image reading (size might change between images).", __LINE__, __FUNCTION__, __FILE__); + op::error("Output resolution = input resolution not valid for image reading (size might change between images).", + __LINE__, __FUNCTION__, __FILE__); } // Step 4 - Setting thread workers && manager typedef std::vector TypedefDatumsNoPtr; @@ -174,7 +182,8 @@ int openPoseTutorialThread2() // ------------------------- CONFIGURING THREADING ------------------------- // In this simple multi-thread example, we will do the following: // 3 (virtual) queues: 0, 1, 2 - // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing sequence + // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing + // sequence // 2 threads: 0, 1 // wDatumProducer will generate frames (there is no real queue 0) and push them on queue 1 // wGui will pop frames from queue 1 and process them (there is no real queue 2) diff --git a/examples/tutorial_thread/3_user_input_processing_and_output.cpp b/examples/tutorial_thread/3_user_input_processing_and_output.cpp index afefbc1a50ba33fd3e120a480f4e6479128f9ec0..b63ed6188e9faf8a9b2c367a4bfac163ad23a603 100644 --- a/examples/tutorial_thread/3_user_input_processing_and_output.cpp +++ b/examples/tutorial_thread/3_user_input_processing_and_output.cpp @@ -27,8 +27,9 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_dir, "examples/media/", "Process a directory of images."); // Consumer @@ -183,7 +184,8 @@ int openPoseTutorialThread3() // ------------------------- CONFIGURING THREADING ------------------------- // In this simple multi-thread example, we will do the following: // 3 (virtual) queues: 0, 1, 2 - // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing sequence + // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing + // sequence // 2 threads: 0, 1 // wUserInput will generate frames (there is no real queue 0) and push them on queue 1 // wGui will pop frames from queue 1 and process them (there is no real queue 2) diff --git a/examples/tutorial_thread/4_user_input_processing_output_and_datum.cpp b/examples/tutorial_thread/4_user_input_processing_output_and_datum.cpp index 6d590a9682fbe4a93111efc4ab6eb590b3233d4b..a0fb97787c8ca22a7a648bccf49246c8be9b7d9b 100644 --- a/examples/tutorial_thread/4_user_input_processing_output_and_datum.cpp +++ b/examples/tutorial_thread/4_user_input_processing_output_and_datum.cpp @@ -27,8 +27,9 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_dir, "examples/media/", "Process a directory of images."); // Consumer @@ -36,7 +37,8 @@ DEFINE_bool(fullscreen, false, "Run in full-screen mode // If the user needs his own variables, he can inherit the op::Datum struct and add them -// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of Wrapper +// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of +// Wrapper struct UserDatum : public op::Datum { bool boolThatUserNeedsForSomeReason; @@ -195,7 +197,8 @@ int openPoseTutorialThread4() // ------------------------- CONFIGURING THREADING ------------------------- // In this simple multi-thread example, we will do the following: // 3 (virtual) queues: 0, 1, 2 - // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing sequence + // 1 real queue: 1. The first and last queue ids (in this case 0 and 2) are not actual queues, but the beginning and end of the processing + // sequence // 2 threads: 0, 1 // wUserInput will generate frames (there is no real queue 0) and push them on queue 1 // wGui will pop frames from queue 1 and process them (there is no real queue 2) diff --git a/examples/tutorial_wrapper/1_user_asynchronous.cpp b/examples/tutorial_wrapper/1_user_asynchronous.cpp index b6ca99b6d3f3f78755274b8a32f655dafec548b5..4aafee84169a2df64c5208f8652ec3c2bdbdfe9c 100644 --- a/examples/tutorial_wrapper/1_user_asynchronous.cpp +++ b/examples/tutorial_wrapper/1_user_asynchronous.cpp @@ -14,12 +14,12 @@ // This file should only be used for the user to take specific examples. // C++ std library dependencies -#include // std::atomic +#include #include // `std::chrono::` functions and classes, e.g. std::chrono::milliseconds #include // sscanf -#include // std::string +#include #include // std::this_thread -#include // std::vector +#include // Other 3rdpary depencencies #include // DEFINE_bool, DEFINE_int32, DEFINE_int64, DEFINE_uint64, DEFINE_double, DEFINE_string #include // google::InitGoogleLogging @@ -43,67 +43,87 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_dir, "examples/media/", "Process a directory of images."); // OpenPose DEFINE_string(model_folder, "models/", "Folder where the pose models (COCO and MPI) are located."); -DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the default images resolution."); -DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your machine."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); +DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your" + " machine."); DEFINE_int32(num_gpu_start, 0, "GPU device start number."); -DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y) coordinates that will be saved" - " with the `write_keypoint` & `write_keypoint_json` flags. Select `0` to scale it to the original source resolution, `1`to scale" - " it to the net output size (set with `net_resolution`), `2` to scale it to the final output size (set with `resolution`)," - " `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related with `num_scales` and `scale_gap`."); +DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y)" + " coordinates that will be saved with the `write_keypoint` & `write_keypoint_json` flags." + " Select `0` to scale it to the original source resolution, `1`to scale it to the net output" + " size (set with `net_resolution`), `2` to scale it to the final output size (set with" + " `resolution`), `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related" + " with `num_scales` and `scale_gap`."); // OpenPose Body Pose DEFINE_string(model_pose, "COCO", "Model to be used (e.g. COCO, MPI, MPI_4_layers)."); -DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased, the speed increases."); +DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased," + " the speed increases."); DEFINE_int32(num_scales, 1, "Number of scales to average."); -DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you want to change the initial scale," - " you actually want to multiply the `net_resolution` by your desired initial scale."); -DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array (program speed will decrease). Not" - " required for our library, enable it only if you intend to process this information later. If more than one `add_heatmaps_X`" - " flag is enabled, it will place then in sequential memory order: body parts + bkg + PAFs. It will follow the order on" - " POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); -DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to background."); +DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you" + " want to change the initial scale, you actually want to multiply the `net_resolution` by" + " your desired initial scale."); +DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array" + " (program speed will decrease). Not required for our library, enable it only if you intend" + " to process this information later. If more than one `add_heatmaps_X` flag is enabled, it" + " will place then in sequential memory order: body parts + bkg + PAFs. It will follow the" + " order on POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); +DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to" + " background."); DEFINE_bool(heatmaps_add_PAFs, false, "Same functionality as `add_heatmaps_parts`, but adding the PAFs."); -DEFINE_int32(heatmaps_scale, 2, "Set 0 to scale op::Datum::poseHeatMaps in the range [0,1], 1 for [-1,1]; and 2 for integer rounded [0,255]."); +DEFINE_int32(heatmaps_scale, 2, "Set 0 to scale op::Datum::poseHeatMaps in the range [0,1], 1 for [-1,1]; and 2 for integer" + " rounded [0,255]."); // OpenPose Face -DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g. `model_folder`."); -DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector. 320x320 usually works fine" - " while giving a substantial speed up when multiple faces on the image."); +DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g." + " `model_folder`."); +DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector." + " 320x320 usually works fine while giving a substantial speed up when multiple faces on the" + " image."); // OpenPose Hand // OpenPose Rendering DEFINE_int32(part_to_show, 0, "Part to show from the start."); -DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it will only display the results."); +DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it" + " will only display the results."); // OpenPose Rendering Pose -DEFINE_bool(no_render_pose, false, "If false, it will fill both `outputData` and `cvOutputData` with the original image + desired part to be shown." - " If true, it will leave them empty."); -DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_pose, 1, "Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering" + " (slower but greater functionality, e.g. `alpha_X` flags). If rendering is enabled, it will" + " render both `outputData` and `cvOutputData` with the original image and desired body part" + " to be shown (i.e. keypoints, heat maps or PAFs)."); +DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will" + " hide it. Only valid for GPU rendering."); +DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the" + " heatmap, 0 will only show the frame. Only valid for GPU rendering."); // OpenPose Rendering Face -DEFINE_bool(no_render_face, false, "Analogous to `no_render_pose` but applied to the face keypoints and heat maps."); -DEFINE_double(alpha_face, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap_face, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_face, -1, "Analogous to `render_pose` but applied to the face. Extra option: -1 to use the same" + " configuration that `render_pose` is using."); +DEFINE_double(alpha_face, 0.6, "Analogous to `alpha_pose` but applied to face."); +DEFINE_double(alpha_heatmap_face, 0.7, "Analogous to `alpha_heatmap` but applied to face."); // Result Saving DEFINE_string(write_images, "", "Directory to write rendered frames in `write_images_format` image format."); -DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV function cv::imwrite" - " for all compatible extensions."); -DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the final path does" - " not finish in `.avi`. It internally uses cv::VideoWriter."); -DEFINE_string(write_keypoint, "", "Directory to write the people body pose keypoint data. Desired format on `write_keypoint_format`."); -DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml and yml. Json not available for OpenCV < 3.0," - " use `write_keypoint_json` instead."); -DEFINE_string(write_keypoint_json, "", "Directory to write people pose data with *.json format, compatible with any OpenCV version."); +DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV" + " function cv::imwrite for all compatible extensions."); +DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the" + " final path does not finish in `.avi`. It internally uses cv::VideoWriter."); +DEFINE_string(write_keypoint, "", "Directory to write the people pose keypoint data. Format with `write_keypoint_format`."); +DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml & yml. Json not available" + " for OpenCV < 3.0, use `write_keypoint_json` instead."); +DEFINE_string(write_keypoint_json, "", "Directory to write people pose data in *.json format, compatible with any OpenCV version."); DEFINE_string(write_coco_json, "", "Full file path to write people pose data with *.json COCO validation format."); -DEFINE_string(write_heatmaps, "", "Directory to write heatmaps with *.png format. At least 1 `add_heatmaps_X` flag must be enabled."); -DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`. Recommended `png` or any compressed and" - " lossless format."); +DEFINE_string(write_heatmaps, "", "Directory to write heatmaps in *.png format. At least 1 `add_heatmaps_X` flag must be" + " enabled."); +DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`." + " Recommended `png` or any compressed and lossless format."); // If the user needs his own variables, he can inherit the op::Datum struct and add them -// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of Wrapper +// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of +// Wrapper struct UserDatum : public op::Datum { bool boolThatUserNeedsForSomeReason; @@ -224,41 +244,62 @@ op::ScaleMode gflagToScaleMode(const int keypointScale) return op::ScaleMode::PlusMinusOne; else { - const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution, NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; + const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution," + " NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; op::error(message, __LINE__, __FUNCTION__, __FILE__); return op::ScaleMode::InputResolution; } } -std::vector gflagToHeatMaps(const bool heatmaps_add_parts, const bool heatmaps_add_bkg, const bool heatmaps_add_PAFs) +std::vector gflagToHeatMaps(const bool heatMapsAddParts, const bool heatMapsAddBkg, const bool heatMapsAddPAFs) { - std::vector heatMapTypes; - if (heatmaps_add_parts) + if (heatMapsAddParts) heatMapTypes.emplace_back(op::HeatMapType::Parts); - if (heatmaps_add_bkg) + if (heatMapsAddBkg) heatMapTypes.emplace_back(op::HeatMapType::Background); - if (heatmaps_add_PAFs) + if (heatMapsAddPAFs) heatMapTypes.emplace_back(op::HeatMapType::PAFs); return heatMapTypes; } +op::RenderMode gflagToRenderMode(const int renderFlag, const int renderPoseFlag = -2) +{ + if (renderFlag == -1 && renderPoseFlag != -2) + return gflagToRenderMode(renderPoseFlag, -2); + else if (renderFlag == 0) + return op::RenderMode::None; + else if (renderFlag == 1) + return op::RenderMode::Cpu; + else if (renderFlag == 2) + return op::RenderMode::Gpu; + else + { + op::error("Undefined RenderMode selected.", __LINE__, __FUNCTION__, __FILE__); + return op::RenderMode::None; + } +} + // Google flags into program variables -std::tuple, op::Point, op::Point, op::PoseModel, op::ScaleMode, std::vector, op::ScaleMode> gflagsToOpParameters() +std::tuple, op::Point, op::Point, op::PoseModel, op::ScaleMode, std::vector, + op::ScaleMode> gflagsToOpParameters() { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); // outputSize op::Point outputSize; auto nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", + __LINE__, __FUNCTION__, __FILE__); // netInputSize op::Point netInputSize; nRead = sscanf(FLAGS_net_resolution.c_str(), "%dx%d", &netInputSize.x, &netInputSize.y); - op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", + __LINE__, __FUNCTION__, __FILE__); // faceNetInputSize op::Point faceNetInputSize; nRead = sscanf(FLAGS_face_net_resolution.c_str(), "%dx%d", &faceNetInputSize.x, &faceNetInputSize.y); - op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); // poseModel const auto poseModel = gflagToPoseModel(FLAGS_model_pose); // keypointScale @@ -266,7 +307,8 @@ std::tuple, op::Point, op::Point, op::PoseModel, op::Sc // heatmaps to add const auto heatMapTypes = gflagToHeatMaps(FLAGS_heatmaps_add_parts, FLAGS_heatmaps_add_bkg, FLAGS_heatmaps_add_PAFs); op::check(FLAGS_heatmaps_scale >= 0 && FLAGS_heatmaps_scale <= 2, "Non valid `heatmaps_scale`.", __LINE__, __FUNCTION__, __FILE__); - const auto heatMapScale = (FLAGS_heatmaps_scale == 0 ? op::ScaleMode::PlusMinusOne : (FLAGS_heatmaps_scale == 1 ? op::ScaleMode::ZeroToOne : op::ScaleMode::UnsignedChar )); + const auto heatMapScale = (FLAGS_heatmaps_scale == 0 ? op::ScaleMode::PlusMinusOne + : (FLAGS_heatmaps_scale == 1 ? op::ScaleMode::ZeroToOne : op::ScaleMode::UnsignedChar )); // return return std::make_tuple(outputSize, netInputSize, faceNetInputSize, poseModel, keypointScale, heatMapTypes, heatMapScale); } @@ -297,16 +339,19 @@ int openPoseTutorialWrapper1() const bool displayGui = false; const bool guiVerbose = false; const bool fullScreen = false; - const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, FLAGS_num_scales, (float)FLAGS_scale_gap, - !FLAGS_no_render_pose, poseModel, !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, + const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, + FLAGS_num_scales, (float)FLAGS_scale_gap, gflagToRenderMode(FLAGS_render_pose), poseModel, + !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, FLAGS_part_to_show, FLAGS_model_folder, heatMapTypes, heatMapScale}; - // (Experimental, function and class names might change in next versions) Face configuration (use op::WrapperStructFace{} to disable it) - const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, !FLAGS_no_render_face, (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; - // (Experimental, function and class names might change in next versions) Hand configuration (use op::WrapperStructFace{} to disable it) + // Face configuration (use op::WrapperStructFace{} to disable it) + const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, gflagToRenderMode(FLAGS_render_face, FLAGS_render_pose), + (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; + // Hand configuration (use op::WrapperStructHand{} to disable it) const op::experimental::WrapperStructHand wrapperStructHand{false}; // Consumer (comment or use default argument to disable any output) - const op::WrapperStructOutput wrapperStructOutput{displayGui, guiVerbose, fullScreen, FLAGS_write_keypoint, op::stringToDataFormat(FLAGS_write_keypoint_format), - FLAGS_write_keypoint_json, FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, + const op::WrapperStructOutput wrapperStructOutput{displayGui, guiVerbose, fullScreen, FLAGS_write_keypoint, + op::stringToDataFormat(FLAGS_write_keypoint_format), FLAGS_write_keypoint_json, + FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, FLAGS_write_heatmaps, FLAGS_write_heatmaps_format}; // Configure wrapper opWrapper.configure(wrapperStructPose, wrapperStructFace, wrapperStructHand, op::WrapperStructInput{}, wrapperStructOutput); @@ -339,7 +384,8 @@ int openPoseTutorialWrapper1() opWrapper.stop(); // Measuring total time - const auto totalTimeSec = (double)std::chrono::duration_cast(std::chrono::high_resolution_clock::now()-timerBegin).count() * 1e-9; + const auto now = std::chrono::high_resolution_clock::now(); + const auto totalTimeSec = (double)std::chrono::duration_cast(now-timerBegin).count() * 1e-9; const auto message = "Real-time pose estimation demo successfully finished. Total time: " + std::to_string(totalTimeSec) + " seconds."; op::log(message, op::Priority::Max); diff --git a/examples/tutorial_wrapper/2_user_synchronous.cpp b/examples/tutorial_wrapper/2_user_synchronous.cpp index 3a5f00d142b6f16bd01518685cd050d0835283b9..571bda0ee4e966942add470ae88920368927a050 100644 --- a/examples/tutorial_wrapper/2_user_synchronous.cpp +++ b/examples/tutorial_wrapper/2_user_synchronous.cpp @@ -14,12 +14,12 @@ // This file should only be used for the user to take specific examples. // C++ std library dependencies -#include // std::atomic +#include #include // `std::chrono::` functions and classes, e.g. std::chrono::milliseconds #include // sscanf -#include // std::string +#include #include // std::this_thread -#include // std::vector +#include // Other 3rdpary depencencies #include // DEFINE_bool, DEFINE_int32, DEFINE_int64, DEFINE_uint64, DEFINE_double, DEFINE_string #include // google::InitGoogleLogging @@ -43,67 +43,87 @@ // Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose // executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`. // Debugging -DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." - " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); +DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while" + " 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for" + " low priority messages and 4 for important ones."); // Producer DEFINE_string(image_dir, "examples/media/", "Process a directory of images."); // OpenPose DEFINE_string(model_folder, "models/", "Folder where the pose models (COCO and MPI) are located."); -DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the default images resolution."); -DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your machine."); +DEFINE_string(resolution, "1280x720", "The image resolution (display and output). Use \"-1x-1\" to force the program to use the" + " default images resolution."); +DEFINE_int32(num_gpu, -1, "The number of GPU devices to use. If negative, it will use all the available GPUs in your" + " machine."); DEFINE_int32(num_gpu_start, 0, "GPU device start number."); -DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y) coordinates that will be saved" - " with the `write_keypoint` & `write_keypoint_json` flags. Select `0` to scale it to the original source resolution, `1`to scale" - " it to the net output size (set with `net_resolution`), `2` to scale it to the final output size (set with `resolution`)," - " `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related with `num_scales` and `scale_gap`."); +DEFINE_int32(keypoint_scale, 0, "Scaling of the (x,y) coordinates of the final pose data array, i.e. the scale of the (x,y)" + " coordinates that will be saved with the `write_keypoint` & `write_keypoint_json` flags." + " Select `0` to scale it to the original source resolution, `1`to scale it to the net output" + " size (set with `net_resolution`), `2` to scale it to the final output size (set with" + " `resolution`), `3` to scale it in the range [0,1], and 4 for range [-1,1]. Non related" + " with `num_scales` and `scale_gap`."); // OpenPose Body Pose DEFINE_string(model_pose, "COCO", "Model to be used (e.g. COCO, MPI, MPI_4_layers)."); -DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased, the speed increases."); +DEFINE_string(net_resolution, "656x368", "Multiples of 16. If it is increased, the accuracy usually increases. If it is decreased," + " the speed increases."); DEFINE_int32(num_scales, 1, "Number of scales to average."); -DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you want to change the initial scale," - " you actually want to multiply the `net_resolution` by your desired initial scale."); -DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array (program speed will decrease). Not" - " required for our library, enable it only if you intend to process this information later. If more than one `add_heatmaps_X`" - " flag is enabled, it will place then in sequential memory order: body parts + bkg + PAFs. It will follow the order on" - " POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); -DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to background."); +DEFINE_double(scale_gap, 0.3, "Scale gap between scales. No effect unless num_scales>1. Initial scale is always 1. If you" + " want to change the initial scale, you actually want to multiply the `net_resolution` by" + " your desired initial scale."); +DEFINE_bool(heatmaps_add_parts, false, "If true, it will add the body part heatmaps to the final op::Datum::poseHeatMaps array" + " (program speed will decrease). Not required for our library, enable it only if you intend" + " to process this information later. If more than one `add_heatmaps_X` flag is enabled, it" + " will place then in sequential memory order: body parts + bkg + PAFs. It will follow the" + " order on POSE_BODY_PART_MAPPING in `include/openpose/pose/poseParameters.hpp`."); +DEFINE_bool(heatmaps_add_bkg, false, "Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to" + " background."); DEFINE_bool(heatmaps_add_PAFs, false, "Same functionality as `add_heatmaps_parts`, but adding the PAFs."); -DEFINE_int32(heatmaps_scale, 2, "Set 0 to scale op::Datum::poseHeatMaps in the range [0,1], 1 for [-1,1]; and 2 for integer rounded [0,255]."); +DEFINE_int32(heatmaps_scale, 2, "Set 0 to scale op::Datum::poseHeatMaps in the range [0,1], 1 for [-1,1]; and 2 for integer" + " rounded [0,255]."); // OpenPose Face -DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g. `model_folder`."); -DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector. 320x320 usually works fine" - " while giving a substantial speed up when multiple faces on the image."); +DEFINE_bool(face, false, "Enables face keypoint detection. It will share some parameters from the body pose, e.g." + " `model_folder`."); +DEFINE_string(face_net_resolution, "368x368", "Multiples of 16. Analogous to `net_resolution` but applied to the face keypoint detector." + " 320x320 usually works fine while giving a substantial speed up when multiple faces on the" + " image."); // OpenPose Hand // OpenPose Rendering DEFINE_int32(part_to_show, 0, "Part to show from the start."); -DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it will only display the results."); +DEFINE_bool(disable_blending, false, "If blending is enabled, it will merge the results with the original frame. If disabled, it" + " will only display the results."); // OpenPose Rendering Pose -DEFINE_bool(no_render_pose, false, "If false, it will fill both `outputData` and `cvOutputData` with the original image + desired part to be shown." - " If true, it will leave them empty."); -DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_pose, 1, "Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering" + " (slower but greater functionality, e.g. `alpha_X` flags). If rendering is enabled, it will" + " render both `outputData` and `cvOutputData` with the original image and desired body part" + " to be shown (i.e. keypoints, heat maps or PAFs)."); +DEFINE_double(alpha_pose, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will" + " hide it. Only valid for GPU rendering."); +DEFINE_double(alpha_heatmap, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the" + " heatmap, 0 will only show the frame. Only valid for GPU rendering."); // OpenPose Rendering Face -DEFINE_bool(no_render_face, false, "Analogous to `no_render_pose` but applied to the face keypoints and heat maps."); -DEFINE_double(alpha_face, 0.6, "Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will hide it."); -DEFINE_double(alpha_heatmap_face, 0.7, "Blending factor (range 0-1) between heatmap and original frame. 1 will only show the heatmap, 0 will only show the frame."); +DEFINE_int32(render_face, -1, "Analogous to `render_pose` but applied to the face. Extra option: -1 to use the same" + " configuration that `render_pose` is using."); +DEFINE_double(alpha_face, 0.6, "Analogous to `alpha_pose` but applied to face."); +DEFINE_double(alpha_heatmap_face, 0.7, "Analogous to `alpha_heatmap` but applied to face."); // Result Saving DEFINE_string(write_images, "", "Directory to write rendered frames in `write_images_format` image format."); -DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV function cv::imwrite" - " for all compatible extensions."); -DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the final path does" - " not finish in `.avi`. It internally uses cv::VideoWriter."); -DEFINE_string(write_keypoint, "", "Directory to write the people body pose keypoint data. Desired format on `write_keypoint_format`."); -DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml and yml. Json not available for OpenCV < 3.0," - " use `write_keypoint_json` instead."); -DEFINE_string(write_keypoint_json, "", "Directory to write people pose data with *.json format, compatible with any OpenCV version."); +DEFINE_string(write_images_format, "png", "File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV" + " function cv::imwrite for all compatible extensions."); +DEFINE_string(write_video, "", "Full file path to write rendered frames in motion JPEG video format. It might fail if the" + " final path does not finish in `.avi`. It internally uses cv::VideoWriter."); +DEFINE_string(write_keypoint, "", "Directory to write the people pose keypoint data. Format with `write_keypoint_format`."); +DEFINE_string(write_keypoint_format, "yml", "File extension and format for `write_keypoint`: json, xml, yaml & yml. Json not available" + " for OpenCV < 3.0, use `write_keypoint_json` instead."); +DEFINE_string(write_keypoint_json, "", "Directory to write people pose data in *.json format, compatible with any OpenCV version."); DEFINE_string(write_coco_json, "", "Full file path to write people pose data with *.json COCO validation format."); -DEFINE_string(write_heatmaps, "", "Directory to write heatmaps with *.png format. At least 1 `add_heatmaps_X` flag must be enabled."); -DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`. Recommended `png` or any compressed and" - " lossless format."); +DEFINE_string(write_heatmaps, "", "Directory to write heatmaps in *.png format. At least 1 `add_heatmaps_X` flag must be" + " enabled."); +DEFINE_string(write_heatmaps_format, "png", "File extension and format for `write_heatmaps`, analogous to `write_images_format`." + " Recommended `png` or any compressed and lossless format."); // If the user needs his own variables, he can inherit the op::Datum struct and add them -// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of Wrapper +// UserDatum can be directly used by the OpenPose wrapper because it inherits from op::Datum, just define Wrapper instead of +// Wrapper struct UserDatum : public op::Datum { bool boolThatUserNeedsForSomeReason; @@ -269,41 +289,62 @@ op::ScaleMode gflagToScaleMode(const int keypointScale) return op::ScaleMode::PlusMinusOne; else { - const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution, NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; + const std::string message = "String does not correspond to any scale mode: (0, 1, 2, 3, 4) for (InputResolution," + " NetOutputResolution, OutputResolution, ZeroToOne, PlusMinusOne)."; op::error(message, __LINE__, __FUNCTION__, __FILE__); return op::ScaleMode::InputResolution; } } -std::vector gflagToHeatMaps(const bool heatmaps_add_parts, const bool heatmaps_add_bkg, const bool heatmaps_add_PAFs) +std::vector gflagToHeatMaps(const bool heatMapsAddParts, const bool heatMapsAddBkg, const bool heatMapsAddPAFs) { - std::vector heatMapTypes; - if (heatmaps_add_parts) + if (heatMapsAddParts) heatMapTypes.emplace_back(op::HeatMapType::Parts); - if (heatmaps_add_bkg) + if (heatMapsAddBkg) heatMapTypes.emplace_back(op::HeatMapType::Background); - if (heatmaps_add_PAFs) + if (heatMapsAddPAFs) heatMapTypes.emplace_back(op::HeatMapType::PAFs); return heatMapTypes; } +op::RenderMode gflagToRenderMode(const int renderFlag, const int renderPoseFlag = -2) +{ + if (renderFlag == -1 && renderPoseFlag != -2) + return gflagToRenderMode(renderPoseFlag, -2); + else if (renderFlag == 0) + return op::RenderMode::None; + else if (renderFlag == 1) + return op::RenderMode::Cpu; + else if (renderFlag == 2) + return op::RenderMode::Gpu; + else + { + op::error("Undefined RenderMode selected.", __LINE__, __FUNCTION__, __FILE__); + return op::RenderMode::None; + } +} + // Google flags into program variables -std::tuple, op::Point, op::Point, op::PoseModel, op::ScaleMode, std::vector, op::ScaleMode> gflagsToOpParameters() +std::tuple, op::Point, op::Point, op::PoseModel, op::ScaleMode, std::vector, + op::ScaleMode> gflagsToOpParameters() { op::log("", op::Priority::Low, __LINE__, __FUNCTION__, __FILE__); // outputSize op::Point outputSize; auto nRead = sscanf(FLAGS_resolution.c_str(), "%dx%d", &outputSize.x, &outputSize.y); - op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, resolution format (" + FLAGS_resolution + ") invalid, should be e.g., 960x540 ", + __LINE__, __FUNCTION__, __FILE__); // netInputSize op::Point netInputSize; nRead = sscanf(FLAGS_net_resolution.c_str(), "%dx%d", &netInputSize.x, &netInputSize.y); - op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, net resolution format (" + FLAGS_net_resolution + ") invalid, should be e.g., 656x368 (multiples of 16)", + __LINE__, __FUNCTION__, __FILE__); // faceNetInputSize op::Point faceNetInputSize; nRead = sscanf(FLAGS_face_net_resolution.c_str(), "%dx%d", &faceNetInputSize.x, &faceNetInputSize.y); - op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); + op::checkE(nRead, 2, "Error, face net resolution format (" + FLAGS_face_net_resolution + + ") invalid, should be e.g., 368x368 (multiples of 16)", __LINE__, __FUNCTION__, __FILE__); // poseModel const auto poseModel = gflagToPoseModel(FLAGS_model_pose); // keypointScale @@ -311,7 +352,8 @@ std::tuple, op::Point, op::Point, op::PoseModel, op::Sc // heatmaps to add const auto heatMapTypes = gflagToHeatMaps(FLAGS_heatmaps_add_parts, FLAGS_heatmaps_add_bkg, FLAGS_heatmaps_add_PAFs); op::check(FLAGS_heatmaps_scale >= 0 && FLAGS_heatmaps_scale <= 2, "Non valid `heatmaps_scale`.", __LINE__, __FUNCTION__, __FILE__); - const auto heatMapScale = (FLAGS_heatmaps_scale == 0 ? op::ScaleMode::PlusMinusOne : (FLAGS_heatmaps_scale == 1 ? op::ScaleMode::ZeroToOne : op::ScaleMode::UnsignedChar )); + const auto heatMapScale = (FLAGS_heatmaps_scale == 0 ? op::ScaleMode::PlusMinusOne + : (FLAGS_heatmaps_scale == 1 ? op::ScaleMode::ZeroToOne : op::ScaleMode::UnsignedChar )); // return return std::make_tuple(outputSize, netInputSize, faceNetInputSize, poseModel, keypointScale, heatMapTypes, heatMapScale); } @@ -359,16 +401,19 @@ int openPoseTutorialWrapper2() const bool displayGui = false; const bool guiVerbose = false; const bool fullScreen = false; - const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, FLAGS_num_scales, (float)FLAGS_scale_gap, - !FLAGS_no_render_pose, poseModel, !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, + const op::WrapperStructPose wrapperStructPose{netInputSize, outputSize, keypointScale, FLAGS_num_gpu, FLAGS_num_gpu_start, + FLAGS_num_scales, (float)FLAGS_scale_gap, gflagToRenderMode(FLAGS_render_pose), poseModel, + !FLAGS_disable_blending, (float)FLAGS_alpha_pose, (float)FLAGS_alpha_heatmap, FLAGS_part_to_show, FLAGS_model_folder, heatMapTypes, heatMapScale}; - // (Experimental, function and class names might change in next versions) Face configuration (use op::WrapperStructFace{} to disable it) - const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, !FLAGS_no_render_face, (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; - // (Experimental, function and class names might change in next versions) Hand configuration (use op::WrapperStructFace{} to disable it) + // Face configuration (use op::WrapperStructFace{} to disable it) + const op::WrapperStructFace wrapperStructFace{FLAGS_face, faceNetInputSize, gflagToRenderMode(FLAGS_render_face, FLAGS_render_pose), + (float)FLAGS_alpha_face, (float)FLAGS_alpha_heatmap_face}; + // Hand configuration (use op::WrapperStructHand{} to disable it) const op::experimental::WrapperStructHand wrapperStructHand{false}; // Consumer (comment or use default argument to disable any output) - const op::WrapperStructOutput wrapperStructOutput{displayGui, guiVerbose, fullScreen, FLAGS_write_keypoint, op::stringToDataFormat(FLAGS_write_keypoint_format), - FLAGS_write_keypoint_json, FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, + const op::WrapperStructOutput wrapperStructOutput{displayGui, guiVerbose, fullScreen, FLAGS_write_keypoint, + op::stringToDataFormat(FLAGS_write_keypoint_format), FLAGS_write_keypoint_json, + FLAGS_write_coco_json, FLAGS_write_images, FLAGS_write_images_format, FLAGS_write_video, FLAGS_write_heatmaps, FLAGS_write_heatmaps_format}; // Configure wrapper opWrapper.configure(wrapperStructPose, wrapperStructFace, wrapperStructHand, op::WrapperStructInput{}, wrapperStructOutput); @@ -400,7 +445,8 @@ int openPoseTutorialWrapper2() // opWrapper.stop(); // Measuring total time - const auto totalTimeSec = (double)std::chrono::duration_cast(std::chrono::high_resolution_clock::now()-timerBegin).count() * 1e-9; + const auto now = std::chrono::high_resolution_clock::now(); + const auto totalTimeSec = (double)std::chrono::duration_cast(now-timerBegin).count() * 1e-9; const auto message = "Real-time pose estimation demo successfully finished. Total time: " + std::to_string(totalTimeSec) + " seconds."; op::log(message, op::Priority::Max); diff --git a/include/openpose/core/array.hpp b/include/openpose/core/array.hpp index e9a775183c59bbd5ba37d36ef1658ffd75c5f8f3..23e005e510239703728790452add68291150cd94 100644 --- a/include/openpose/core/array.hpp +++ b/include/openpose/core/array.hpp @@ -211,12 +211,6 @@ namespace op return spData.get(); } - // Disabled because people might try to modify it in illegal ways and change the allocated memory (e.g. resizing), leading to huge errors - // inline cv::Mat& getCvMat() - // { - // return mCvMatData.second; - // } - /** * Return a cv::Mat wrapper to the data. It forbids the data to be modified. * OpenCV only admits unsigned char, signed char, int, float & double. If the T class is not supported by OpenCV, it will throw an error. @@ -229,6 +223,14 @@ namespace op */ const cv::Mat& getConstCvMat() const; + /** + * Analogous to getConstCvMat, but in this case it returns a editable cv::Mat. + * Very important: Only allowed functions which do not provoke data reallocation. + * E.g. resizing functions will not work and they would provoke an undefined behaviour and/or execution crashes. + * @return A cv::Mat pointing to the data. + */ + cv::Mat& getCvMat(); + /** * [] operator * Similar to the [] operator for raw pointer data. diff --git a/include/openpose/core/datum.hpp b/include/openpose/core/datum.hpp index a948e03768dce3983974b118a5197e29d25c4ddb..abdceb99b7f905bc3c3dca4276c230d4ec0d5b88 100644 --- a/include/openpose/core/datum.hpp +++ b/include/openpose/core/datum.hpp @@ -2,7 +2,7 @@ #define OPENPOSE_CORE_DATUM_HPP #include // std::shared_ptr -#include // std::string +#include #include // cv::Mat #include "array.hpp" #include "point.hpp" diff --git a/include/openpose/core/enumClasses.hpp b/include/openpose/core/enumClasses.hpp index f7821883d7d2c95e7476ce00a1cd6f96bdfb38a9..ea1e096097e941e920501b8cf3a9126eca411dff 100644 --- a/include/openpose/core/enumClasses.hpp +++ b/include/openpose/core/enumClasses.hpp @@ -19,6 +19,13 @@ namespace op Background, PAFs, }; + + enum class RenderMode : unsigned char + { + None, + Cpu, + Gpu, + }; } #endif // OPENPOSE_CORE_ENUM_CLASSES_HPP diff --git a/include/openpose/core/headers.hpp b/include/openpose/core/headers.hpp index 89655e5eca668dcf41ebbe30c0aae36a2e34ff37..513879ef0642406e7a459e006da7eda765aa2881 100644 --- a/include/openpose/core/headers.hpp +++ b/include/openpose/core/headers.hpp @@ -18,7 +18,6 @@ #include "renderer.hpp" #include "resizeAndMergeBase.hpp" #include "resizeAndMergeCaffe.hpp" -#include "scaleKeypoints.hpp" #include "wCvMatToOpInput.hpp" #include "wCvMatToOpOutput.hpp" #include "wKeypointScaler.hpp" diff --git a/include/openpose/core/renderer.hpp b/include/openpose/core/renderer.hpp index f06da407ae8d194383b777b395a5f49eafa7b1c1..518b6910b6a29ba082a9732e065d51bc5174906b 100644 --- a/include/openpose/core/renderer.hpp +++ b/include/openpose/core/renderer.hpp @@ -11,8 +11,8 @@ namespace op class Renderer { public: - explicit Renderer(const unsigned long long volume, const float alphaKeypoint, const float alphaHeatMap, const unsigned int elementToRender = 0u, - const unsigned int numberElementsToRender = 0u); + explicit Renderer(const unsigned long long volume, const float alphaKeypoint, const float alphaHeatMap, + const unsigned int elementToRender = 0u, const unsigned int numberElementsToRender = 0u); ~Renderer(); @@ -22,9 +22,11 @@ namespace op void setElementToRender(const int elementToRender); - std::tuple, std::shared_ptr, std::shared_ptr>, std::shared_ptr> getSharedParameters(); + std::tuple, std::shared_ptr, std::shared_ptr>, + std::shared_ptr> getSharedParameters(); - void setSharedParametersAndIfLast(const std::tuple, std::shared_ptr, std::shared_ptr>, + void setSharedParametersAndIfLast(const std::tuple, std::shared_ptr, + std::shared_ptr>, std::shared_ptr>& tuple, const bool isLast); float getAlphaKeypoint() const; diff --git a/include/openpose/core/scaleKeypoints.hpp b/include/openpose/core/scaleKeypoints.hpp deleted file mode 100644 index 3c1a7e545527a207ebe817ba7ca02c89934501f3..0000000000000000000000000000000000000000 --- a/include/openpose/core/scaleKeypoints.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef OPENPOSE_CORE_SCALE_KEYPOINTS_HPP -#define OPENPOSE_CORE_SCALE_KEYPOINTS_HPP - -#include "array.hpp" - -namespace op -{ - void scaleKeypoints(Array& keypoints, const float scale); - - void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY); - - void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY, const float offsetX, const float offsetY); -} - -#endif // OPENPOSE_CORE_SCALE_KEYPOINTS_HPP diff --git a/include/openpose/core/wKeypointScaler.hpp b/include/openpose/core/wKeypointScaler.hpp index 64f159a0a049ea909d9b1fb7f92f3e975f731b5c..3829eb37f1446e31410a9420d1846cdb0f9e4395 100644 --- a/include/openpose/core/wKeypointScaler.hpp +++ b/include/openpose/core/wKeypointScaler.hpp @@ -3,7 +3,6 @@ #include #include "keypointScaler.hpp" -#include "scaleKeypoints.hpp" namespace op { diff --git a/include/openpose/experimental/hand/handParameters.hpp b/include/openpose/experimental/hand/handParameters.hpp index 97ee9f51d466d7bd9746aa62b657fe9ff8beae23..1ef87fbfdad9c024ad4c7b3950489bbd22dc0517 100644 --- a/include/openpose/experimental/hand/handParameters.hpp +++ b/include/openpose/experimental/hand/handParameters.hpp @@ -9,7 +9,33 @@ namespace op const auto HAND_MAX_HANDS = 2*POSE_MAX_PEOPLE; const auto HAND_NUMBER_PARTS = 21u; - #define HAND_PAIRS_TO_RENDER {0,1, 1,2, 2,3, 3,4, 0,5, 5,6, 6,7, 7,8, 0,9, 9,10, 10,11, 11,12, 0,13, 13,14, 14,15, 15,16, 0,17, 17,18, 18,19, 19,20} + #define HAND_PAIRS_RENDER_GPU {0,1, 1,2, 2,3, 3,4, 0,5, 5,6, 6,7, 7,8, 0,9, 9,10, 10,11, 11,12, 0,13, 13,14, 14,15, 15,16, 0,17, 17,18, 18,19, 19,20} + const std::vector HAND_PAIRS_RENDER {HAND_PAIRS_RENDER_GPU}; + #define HAND_COLORS_RENDER \ + 179.f, 0.f, 0.f, \ + 204.f, 0.f, 0.f, \ + 230.f, 0.f, 0.f, \ + 255.f, 0.f, 0.f, \ + 143.f, 179.f, 0.f, \ + 163.f, 204.f, 0.f, \ + 184.f, 230.f, 0.f, \ + 204.f, 255.f, 0.f, \ + 0.f, 179.f, 71.f, \ + 0.f, 204.f, 82.f, \ + 0.f, 230.f, 92.f, \ + 0.f, 255.f, 102.f, \ + 0.f, 71.f, 179.f, \ + 0.f, 82.f, 204.f, \ + 0.f, 92.f, 230.f, \ + 0.f, 102.f, 255.f, \ + 143.f, 0.f, 179.f, \ + 163.f, 0.f, 204.f, \ + 184.f, 0.f, 230.f, \ + 204.f, 0.f, 255.f, \ + 179.f, 179.f, 179.f, \ + 179.f, 179.f, 179.f, \ + 179.f, 179.f, 179.f, \ + 179.f, 179.f, 179.f // Constant parameters const auto HAND_CCN_DECREASE_FACTOR = 8.f; diff --git a/include/openpose/experimental/hand/handRenderGpu.hpp b/include/openpose/experimental/hand/handRenderGpu.hpp deleted file mode 100644 index ba1dcd827dbfa747fb483e70a01851dfe79b3cfe..0000000000000000000000000000000000000000 --- a/include/openpose/experimental/hand/handRenderGpu.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef OPENPOSE_HAND_GPU_HAND_RENDER_HPP -#define OPENPOSE_HAND_GPU_HAND_RENDER_HPP - -#include -#include "handParameters.hpp" - -namespace op -{ - void renderHandsGpu(float* framePtr, const Point& frameSize, const float* const handsPtr, const int numberHands, const float alphaColorToAdd = HAND_DEFAULT_ALPHA_KEYPOINT); -} - -#endif // OPENPOSE_HAND_GPU_HAND_RENDER_HPP diff --git a/include/openpose/experimental/hand/handRenderer.hpp b/include/openpose/experimental/hand/handRenderer.hpp index d0d1cacd230e34d85c0f8a7312c3632d4fb05e66..cb969511fc018cae03b850391c01722293a95d8a 100644 --- a/include/openpose/experimental/hand/handRenderer.hpp +++ b/include/openpose/experimental/hand/handRenderer.hpp @@ -2,9 +2,11 @@ #define OPENPOSE_HAND_HAND_RENDERER_HPP #include +#include #include #include #include +#include "handParameters.hpp" namespace op { @@ -13,17 +15,23 @@ namespace op class HandRenderer : public Renderer { public: - explicit HandRenderer(const Point& frameSize); + HandRenderer(const Point& frameSize, const float alphaKeypoint = HAND_DEFAULT_ALPHA_KEYPOINT, + const float alphaHeatMap = HAND_DEFAULT_ALPHA_HEAT_MAP, const RenderMode renderMode = RenderMode::Cpu); ~HandRenderer(); void initializationOnThread(); - void renderHands(Array& outputData, const Array& handKeypoints); + void renderHand(Array& outputData, const Array& handKeypoints); private: const Point mFrameSize; - float* pGpuHands; // GPU aux memory + const RenderMode mRenderMode; + float* pGpuHands; // GPU aux memory + + void renderHandCpu(Array& outputData, const Array& handKeypoints); + + void renderHandGpu(Array& outputData, const Array& handKeypoints); DELETE_COPY(HandRenderer); }; diff --git a/include/openpose/experimental/hand/headers.hpp b/include/openpose/experimental/hand/headers.hpp index 9d8fd4c5dc33398edc6e38c80155dd027657846c..af33339553f4843777a5c6bd007da45720e9a27e 100644 --- a/include/openpose/experimental/hand/headers.hpp +++ b/include/openpose/experimental/hand/headers.hpp @@ -6,7 +6,7 @@ #include "handExtractor.hpp" #include "handParameters.hpp" #include "handRenderer.hpp" -#include "handRenderGpu.hpp" +#include "renderHand.hpp" #include "wHandExtractor.hpp" #include "wHandRenderer.hpp" diff --git a/include/openpose/experimental/hand/renderHand.hpp b/include/openpose/experimental/hand/renderHand.hpp new file mode 100644 index 0000000000000000000000000000000000000000..8fb9fdd7732b62242a8e2f6e19f9321983bef138 --- /dev/null +++ b/include/openpose/experimental/hand/renderHand.hpp @@ -0,0 +1,16 @@ +#ifndef OPENPOSE_HAND_GPU_HAND_RENDER_HPP +#define OPENPOSE_HAND_GPU_HAND_RENDER_HPP + +#include +#include +#include "handParameters.hpp" + +namespace op +{ + void renderHandKeypointsCpu(Array& frameArray, const Array& handKeypoints); + + void renderHandKeypointsGpu(float* framePtr, const Point& frameSize, const float* const handsPtr, const int numberHands, + const float alphaColorToAdd = HAND_DEFAULT_ALPHA_KEYPOINT); +} + +#endif // OPENPOSE_HAND_GPU_HAND_RENDER_HPP diff --git a/include/openpose/experimental/hand/wHandRenderer.hpp b/include/openpose/experimental/hand/wHandRenderer.hpp index bb4d00316140746c66a487f363d15d656985af8f..5ef8733774958fcf97799eef10c690f1a47c9663 100644 --- a/include/openpose/experimental/hand/wHandRenderer.hpp +++ b/include/openpose/experimental/hand/wHandRenderer.hpp @@ -65,7 +65,7 @@ namespace op const auto profilerKey = Profiler::timerInit(__LINE__, __FUNCTION__, __FILE__); // Render people hands for (auto& tDatum : *tDatums) - spHandRenderer->renderHands(tDatum.outputData, tDatum.handKeypoints); + spHandRenderer->renderHand(tDatum.outputData, tDatum.handKeypoints); // Profiling speed Profiler::timerEnd(profilerKey); Profiler::printAveragedTimeMsOnIterationX(profilerKey, __LINE__, __FUNCTION__, __FILE__, Profiler::DEFAULT_X); diff --git a/include/openpose/experimental/producer/wPeoplePoseLoader.hpp b/include/openpose/experimental/producer/wPeoplePoseLoader.hpp index f93e01b236e772e5ba368bdf4f9221286a9af90b..b5acd1a972ba5a70b69ef01f03dae52a514a2178 100644 --- a/include/openpose/experimental/producer/wPeoplePoseLoader.hpp +++ b/include/openpose/experimental/producer/wPeoplePoseLoader.hpp @@ -7,7 +7,7 @@ // namespace op // { -// template +// template // class wPoseLoader : public Worker // { // public: diff --git a/include/openpose/face/faceParameters.hpp b/include/openpose/face/faceParameters.hpp index 54fe45e85bb5f33619993fe439c39e2dd5fc23bc..aa2b8756984fdbbf831e8b9fd84fdaec9d289bf8 100644 --- a/include/openpose/face/faceParameters.hpp +++ b/include/openpose/face/faceParameters.hpp @@ -9,10 +9,12 @@ namespace op const auto FACE_MAX_FACES = POSE_MAX_PEOPLE; const auto FACE_NUMBER_PARTS = 70u; - #define FACE_PAIRS_TO_RENDER {0,1, 1,2, 2,3, 3,4, 4,5, 5,6, 6,7, 7,8, 8,9, 9,10, 10,11, 11,12, 12,13, 13,14, 14,15, 15,16, 17,18, 18,19, 19,20, \ + #define FACE_PAIRS_RENDER_GPU {0,1, 1,2, 2,3, 3,4, 4,5, 5,6, 6,7, 7,8, 8,9, 9,10, 10,11, 11,12, 12,13, 13,14, 14,15, 15,16, 17,18, 18,19, 19,20, \ 20,21, 22,23, 23,24, 24,25, 25,26, 27,28, 28,29, 29,30, 31,32, 32,33, 33,34, 34,35, 36,37, 37,38, 38,39, 39,40, 40,41, \ 41,36, 42,43, 43,44, 44,45, 45,46, 46,47, 47,42, 48,49, 49,50, 50,51, 51,52, 52,53, 53,54, 54,55, 55,56, 56,57, 57,58, \ 58,59, 59,48, 60,61, 61,62, 62,63, 63,64, 64,65, 65,66, 66,67, 67,60} + const std::vector FACE_PAIRS_RENDER {FACE_PAIRS_RENDER_GPU}; + #define FACE_COLORS_RENDER 255.f, 255.f, 255.f // Constant parameters const auto FACE_CCN_DECREASE_FACTOR = 8.f; diff --git a/include/openpose/face/faceRenderGpu.hpp b/include/openpose/face/faceRenderGpu.hpp deleted file mode 100644 index 47f6c4c4478438eb01e151503f74f6eb4b324082..0000000000000000000000000000000000000000 --- a/include/openpose/face/faceRenderGpu.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef OPENPOSE_FACE_GPU_FACE_RENDER_HPP -#define OPENPOSE_FACE_GPU_FACE_RENDER_HPP - -#include -#include "faceParameters.hpp" - -namespace op -{ - void renderFaceGpu(float* framePtr, const Point& frameSize, const float* const facePtr, const int numberFace, const float alphaColorToAdd = FACE_DEFAULT_ALPHA_KEYPOINT); -} - -#endif // OPENPOSE_FACE_GPU_FACE_RENDER_HPP diff --git a/include/openpose/face/faceRenderer.hpp b/include/openpose/face/faceRenderer.hpp index 1ab61e01a1cfc2b072598734dabefcf65dfe1eaf..02038063c78d150140acc760490c28113d05ed9c 100644 --- a/include/openpose/face/faceRenderer.hpp +++ b/include/openpose/face/faceRenderer.hpp @@ -2,9 +2,11 @@ #define OPENPOSE_FACE_FACE_RENDERER_HPP #include +#include #include #include #include +#include "faceParameters.hpp" namespace op { @@ -12,7 +14,7 @@ namespace op { public: explicit FaceRenderer(const Point& frameSize, const float alphaKeypoint = FACE_DEFAULT_ALPHA_KEYPOINT, - const float alphaHeatMap = FACE_DEFAULT_ALPHA_HEAT_MAP); + const float alphaHeatMap = FACE_DEFAULT_ALPHA_HEAT_MAP, const RenderMode renderMode = RenderMode::Cpu); ~FaceRenderer(); @@ -22,7 +24,12 @@ namespace op private: const Point mFrameSize; - float* pGpuFace; // GPU aux memory + const RenderMode mRenderMode; + float* pGpuFace; // GPU aux memory + + void renderFaceCpu(Array& outputData, const Array& faceKeypoints); + + void renderFaceGpu(Array& outputData, const Array& faceKeypoints); DELETE_COPY(FaceRenderer); }; diff --git a/include/openpose/face/headers.hpp b/include/openpose/face/headers.hpp index b1b66629a5009826ed88fd0c8d5a601047c775ed..0bdeba984f13ec9158aed43908eac494c36baf82 100644 --- a/include/openpose/face/headers.hpp +++ b/include/openpose/face/headers.hpp @@ -7,7 +7,7 @@ #include "faceExtractor.hpp" #include "faceParameters.hpp" #include "faceRenderer.hpp" -#include "faceRenderGpu.hpp" +#include "renderFace.hpp" #include "wFaceDetector.hpp" #include "wFaceExtractor.hpp" #include "wFaceRenderer.hpp" diff --git a/include/openpose/face/renderFace.hpp b/include/openpose/face/renderFace.hpp new file mode 100644 index 0000000000000000000000000000000000000000..e1e18039b715149a1a80cc451c18083dee201a5c --- /dev/null +++ b/include/openpose/face/renderFace.hpp @@ -0,0 +1,16 @@ +#ifndef OPENPOSE_FACE_RENDER_FACE_HPP +#define OPENPOSE_FACE_RENDER_FACE_HPP + +#include +#include +#include "faceParameters.hpp" + +namespace op +{ + void renderFaceKeypointsCpu(Array& frameArray, const Array& faceKeypoints); + + void renderFaceKeypointsGpu(float* framePtr, const Point& frameSize, const float* const facePtr, const int numberFace, + const float alphaColorToAdd = FACE_DEFAULT_ALPHA_KEYPOINT); +} + +#endif // OPENPOSE_FACE_RENDER_FACE_HPP diff --git a/include/openpose/pose/headers.hpp b/include/openpose/pose/headers.hpp index 879defe8607f8631b16b74ae5d34c6f014a897b2..9cf374531d5f3c948c14b5e462b8747ac56e0afb 100644 --- a/include/openpose/pose/headers.hpp +++ b/include/openpose/pose/headers.hpp @@ -8,8 +8,8 @@ #include "poseExtractor.hpp" #include "poseExtractorCaffe.hpp" #include "poseRenderer.hpp" -#include "poseRenderGpu.hpp" #include "poseParameters.hpp" +#include "renderPose.hpp" #include "wPoseExtractor.hpp" #include "wPoseRenderer.hpp" diff --git a/include/openpose/pose/poseParameters.hpp b/include/openpose/pose/poseParameters.hpp index 4e5b8e6a083f8220361dd4e7fd8cd3e2e8faed73..e36b4eb779b8b03d39de9bfa625131a7f699f559 100644 --- a/include/openpose/pose/poseParameters.hpp +++ b/include/openpose/pose/poseParameters.hpp @@ -31,10 +31,30 @@ namespace op {17, "LEar"}, {18, "Background"} }; - const unsigned int POSE_COCO_NUMBER_PARTS = 18u; // Equivalent to size of std::map POSE_COCO_BODY_PARTS - 1 (removing background) - const std::vector POSE_COCO_MAP_IDX {31,32, 39,40, 33,34, 35,36, 41,42, 43,44, 19,20, 21,22, 23,24, 25,26, 27,28, 29,30, 47,48, 49,50, 53,54, 51,52, 55,56, 37,38, 45,46}; - #define POSE_COCO_PAIRS_TO_RENDER {1,2, 1,5, 2,3, 3,4, 5,6, 6,7, 1,8, 8,9, 9,10, 1,11, 11,12, 12,13, 1,0, 0,14, 14,16, 0,15, 15,17} - const std::vector POSE_COCO_PAIRS {1,2, 1,5, 2,3, 3,4, 5,6, 6,7, 1,8, 8,9, 9,10, 1,11, 11,12, 12,13, 1,0, 0,14, 14,16, 0,15, 15,17, 2,16, 5,17}; + const unsigned int POSE_COCO_NUMBER_PARTS = 18u; // Equivalent to size of std::map POSE_COCO_BODY_PARTS - 1 (removing background) + const std::vector POSE_COCO_MAP_IDX {31,32, 39,40, 33,34, 35,36, 41,42, 43,44, 19,20, 21,22, 23,24, 25,26, 27,28, 29,30, 47,48, 49,50, 53,54, 51,52, 55,56, 37,38, 45,46}; + #define POSE_COCO_PAIRS_RENDER_GPU {1,2, 1,5, 2,3, 3,4, 5,6, 6,7, 1,8, 8,9, 9,10, 1,11, 11,12, 12,13, 1,0, 0,14, 14,16, 0,15, 15,17} + const std::vector POSE_COCO_PAIRS_RENDER {POSE_COCO_PAIRS_RENDER_GPU}; + const std::vector POSE_COCO_PAIRS {1,2, 1,5, 2,3, 3,4, 5,6, 6,7, 1,8, 8,9, 9,10, 1,11, 11,12, 12,13, 1,0, 0,14, 14,16, 0,15, 15,17, 2,16, 5,17}; + #define POSE_COCO_COLORS_RENDER \ + 255.f, 0.f, 0.f, \ + 255.f, 85.f, 0.f, \ + 255.f, 170.f, 0.f, \ + 255.f, 255.f, 0.f, \ + 170.f, 255.f, 0.f, \ + 85.f, 255.f, 0.f, \ + 0.f, 255.f, 0.f, \ + 0.f, 255.f, 85.f, \ + 0.f, 255.f, 170.f, \ + 0.f, 255.f, 255.f, \ + 0.f, 170.f, 255.f, \ + 0.f, 85.f, 255.f, \ + 0.f, 0.f, 255.f, \ + 85.f, 0.f, 255.f, \ + 170.f, 0.f, 255.f, \ + 255.f, 0.f, 255.f, \ + 255.f, 0.f, 170.f, \ + 255.f, 0.f, 85.f const std::map POSE_MPI_BODY_PARTS{ {0, "Head"}, @@ -56,8 +76,25 @@ namespace op }; const unsigned int POSE_MPI_NUMBER_PARTS = 15; // Equivalent to size of std::map POSE_MPI_NUMBER_PARTS - 1 (removing background) const std::vector POSE_MPI_MAP_IDX {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43}; - #define POSE_MPI_PAIRS_TO_RENDER { 0,1, 1,2, 2,3, 3,4, 1,5, 5,6, 6,7, 1,14, 14,8, 8,9, 9,10, 14,11, 11,12, 12,13} - const std::vector POSE_MPI_PAIRS POSE_MPI_PAIRS_TO_RENDER; + #define POSE_MPI_PAIRS_RENDER_GPU { 0,1, 1,2, 2,3, 3,4, 1,5, 5,6, 6,7, 1,14, 14,8, 8,9, 9,10, 14,11, 11,12, 12,13} + const std::vector POSE_MPI_PAIRS POSE_MPI_PAIRS_RENDER_GPU; + // MPI colors chosen such that they are closed to COCO colors + #define POSE_MPI_COLORS_RENDER \ + 255.f, 0.f, 85.f, \ + 255.f, 0.f, 0.f, \ + 255.f, 85.f, 0.f, \ + 255.f, 170.f, 0.f, \ + 255.f, 255.f, 0.f, \ + 170.f, 255.f, 0.f, \ + 85.f, 255.f, 0.f, \ + 43.f, 255.f, 0.f, \ + 0.f, 255.f, 0.f, \ + 0.f, 255.f, 85.f, \ + 0.f, 255.f, 170.f, \ + 0.f, 255.f, 255.f, \ + 0.f, 170.f, 255.f, \ + 0.f, 85.f, 255.f, \ + 0.f, 0.f, 255.f // Constant Global Parameters const unsigned int POSE_MAX_PEOPLE = 96u; @@ -67,6 +104,7 @@ namespace op const std::array POSE_MAX_PEAKS{ POSE_MAX_PEOPLE, POSE_MAX_PEOPLE, POSE_MAX_PEOPLE}; const std::array POSE_NUMBER_BODY_PARTS{ POSE_COCO_NUMBER_PARTS, POSE_MPI_NUMBER_PARTS, POSE_MPI_NUMBER_PARTS}; const std::array, 3> POSE_BODY_PART_PAIRS{ POSE_COCO_PAIRS, POSE_MPI_PAIRS, POSE_MPI_PAIRS}; + const std::array, 3> POSE_BODY_PART_PAIRS_RENDER{POSE_COCO_PAIRS_RENDER, POSE_MPI_PAIRS, POSE_MPI_PAIRS}; const std::array, 3> POSE_MAP_IDX{ POSE_COCO_MAP_IDX, POSE_MPI_MAP_IDX, POSE_MPI_MAP_IDX}; const std::array POSE_PROTOTXT{ "pose/coco/pose_deploy_linevec.prototxt", "pose/mpi/pose_deploy_linevec.prototxt", @@ -74,17 +112,17 @@ namespace op const std::array POSE_TRAINED_MODEL{ "pose/coco/pose_iter_440000.caffemodel", "pose/mpi/pose_iter_160000.caffemodel", "pose/mpi/pose_iter_160000.caffemodel"}; - // POSE_BODY_PART_MAPPING crashes on Windows at dynamic initialization, to avoid this crash: - // POSE_BODY_PART_MAPPING has been moved to poseParameters.cpp and getPoseBodyPartMapping() wraps it - //const std::array, 3> POSE_BODY_PART_MAPPING{ POSE_COCO_BODY_PARTS, POSE_MPI_BODY_PARTS, POSE_MPI_BODY_PARTS}; - const std::map& getPoseBodyPartMapping(const PoseModel poseModel); + // POSE_BODY_PART_MAPPING crashes on Windows at dynamic initialization, to avoid this crash: + // POSE_BODY_PART_MAPPING has been moved to poseParameters.cpp and getPoseBodyPartMapping() wraps it + //const std::array, 3> POSE_BODY_PART_MAPPING{ POSE_COCO_BODY_PARTS, POSE_MPI_BODY_PARTS, POSE_MPI_BODY_PARTS}; + const std::map& getPoseBodyPartMapping(const PoseModel poseModel); // Default Model Parameters // They might be modified on running time const std::array POSE_DEFAULT_NMS_THRESHOLD{ 0.05f, 0.6f, 0.3f}; - const std::array POSE_DEFAULT_CONNECT_INTER_MIN_ABOVE_THRESHOLD{ 9, 8, 8}; + const std::array POSE_DEFAULT_CONNECT_INTER_MIN_ABOVE_THRESHOLD{ 9, 8, 8}; const std::array POSE_DEFAULT_CONNECT_INTER_THRESHOLD{ 0.05f, 0.01f, 0.01f}; - const std::array POSE_DEFAULT_CONNECT_MIN_SUBSET_CNT{ 3, 3, 3}; + const std::array POSE_DEFAULT_CONNECT_MIN_SUBSET_CNT{ 3, 3, 3}; const std::array POSE_DEFAULT_CONNECT_MIN_SUBSET_SCORE{ 0.4f, 0.4f, 0.4f}; // Rendering default parameters diff --git a/include/openpose/pose/poseRenderGpu.hpp b/include/openpose/pose/poseRenderGpu.hpp deleted file mode 100644 index d42743ccee9b820abed3253636b3ca5bef847975..0000000000000000000000000000000000000000 --- a/include/openpose/pose/poseRenderGpu.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef OPENPOSE_POSE_GPU_POSE_RENDER_HPP -#define OPENPOSE_POSE_GPU_POSE_RENDER_HPP - -#include -#include "enumClasses.hpp" -#include "poseParameters.hpp" - -namespace op -{ - void renderPoseGpu(float* framePtr, const PoseModel poseModel, const int numberPeople, const Point& frameSize, const float* const posePtr, - const bool googlyEyes = false, const bool blendOriginalFrame = true, const float alphaBlending = POSE_DEFAULT_ALPHA_KEYPOINT); - void renderBodyPartGpu(float* frame, const PoseModel poseModel, const Point& frameSize, const float* const heatmap, const Point& heatmapSize, - const float scaleToKeepRatio, const int part, const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); - void renderBodyPartsGpu(float* frame, const PoseModel poseModel, const Point& frameSize, const float* const heatmap, const Point& heatmapSize, - const float scaleToKeepRatio, const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); - void renderPartAffinityFieldGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatmapPtr, - const Point& heatmapSize, const float scaleToKeepRatio, const int part, const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); - void renderPartAffinityFieldsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatmapPtr, - const Point& heatmapSize, const float scaleToKeepRatio, const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); -} - -#endif // OPENPOSE_POSE_GPU_POSE_RENDER_HPP diff --git a/include/openpose/pose/poseRenderer.hpp b/include/openpose/pose/poseRenderer.hpp index 4ad50bf58dd3aa39bf3d7ec8f62066403491e513..daf6c57ad8d556092e1b0a2fa9399f5f27462a0a 100644 --- a/include/openpose/pose/poseRenderer.hpp +++ b/include/openpose/pose/poseRenderer.hpp @@ -3,6 +3,7 @@ #include // std::shared_ptr #include +#include #include #include #include @@ -14,9 +15,10 @@ namespace op class PoseRenderer : public Renderer { public: - explicit PoseRenderer(const Point& heatMapsSize, const Point& outputSize, const PoseModel poseModel, const std::shared_ptr& poseExtractor, - const bool blendOriginalFrame = true, const float alphaKeypoint = POSE_DEFAULT_ALPHA_KEYPOINT, - const float alphaHeatMap = POSE_DEFAULT_ALPHA_HEAT_MAP, const unsigned int elementToRender = 0u); + explicit PoseRenderer(const Point& heatMapsSize, const Point& outputSize, const PoseModel poseModel, + const std::shared_ptr& poseExtractor, const bool blendOriginalFrame = true, + const float alphaKeypoint = POSE_DEFAULT_ALPHA_KEYPOINT, const float alphaHeatMap = POSE_DEFAULT_ALPHA_HEAT_MAP, + const unsigned int elementToRender = 0u, const RenderMode renderMode = RenderMode::Cpu); ~PoseRenderer(); @@ -38,10 +40,15 @@ namespace op const PoseModel mPoseModel; const std::map mPartIndexToName; const std::shared_ptr spPoseExtractor; + const RenderMode mRenderMode; std::atomic mBlendOriginalFrame; std::atomic mShowGooglyEyes; // Init with thread - float* pGpuPose; // GPU aux memory + float* pGpuPose; // GPU aux memory + + std::pair renderPoseCpu(Array& outputData, const Array& poseKeypoints, const float scaleNetToOutput = -1.f); + + std::pair renderPoseGpu(Array& outputData, const Array& poseKeypoints, const float scaleNetToOutput = -1.f); DELETE_COPY(PoseRenderer); }; diff --git a/include/openpose/pose/renderPose.hpp b/include/openpose/pose/renderPose.hpp new file mode 100644 index 0000000000000000000000000000000000000000..d8e86c2fc37502d3160b14231ac349bd3ed3665f --- /dev/null +++ b/include/openpose/pose/renderPose.hpp @@ -0,0 +1,36 @@ +#ifndef OPENPOSE_POSE_RENDER_POSE_HPP +#define OPENPOSE_POSE_RENDER_POSE_HPP + +#include // cv::Mat +#include +#include +#include "enumClasses.hpp" +#include "poseParameters.hpp" + +namespace op +{ + void renderPoseKeypointsCpu(Array& frameArray, const Array& poseKeypoints, const PoseModel poseModel, + const bool blendOriginalFrame = true); + + void renderPoseKeypointsGpu(float* framePtr, const PoseModel poseModel, const int numberPeople, const Point& frameSize, + const float* const posePtr, const bool googlyEyes = false, const bool blendOriginalFrame = true, + const float alphaBlending = POSE_DEFAULT_ALPHA_KEYPOINT); + + void renderPoseHeatMapGpu(float* frame, const PoseModel poseModel, const Point& frameSize, const float* const heatmap, + const Point& heatmapSize, const float scaleToKeepRatio, const int part, + const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); + + void renderPoseHeatMapsGpu(float* frame, const PoseModel poseModel, const Point& frameSize, const float* const heatmap, + const Point& heatmapSize, const float scaleToKeepRatio, + const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); + + void renderPosePAFGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatmapPtr, + const Point& heatmapSize, const float scaleToKeepRatio, const int part, + const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); + + void renderPosePAFsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatmapPtr, + const Point& heatmapSize, const float scaleToKeepRatio, + const float alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP); +} + +#endif // OPENPOSE_POSE_RENDER_POSE_HPP diff --git a/include/openpose/thread/workerConsumer.hpp b/include/openpose/thread/workerConsumer.hpp index 66b146b1196be9087915e7cd0fcecc633f167a7b..00c894c3b3f983ded72cfb8be48a32c831f9f025 100644 --- a/include/openpose/thread/workerConsumer.hpp +++ b/include/openpose/thread/workerConsumer.hpp @@ -13,7 +13,7 @@ namespace op inline void work(TDatums& tDatums) { - workConsumer(tDatums); + workConsumer(tDatums); } protected: diff --git a/include/openpose/utilities/cuda.hpp b/include/openpose/utilities/cuda.hpp index 6c2d880acbb8bcf386e2d76cc4c5ab3cd2eed172..b3de9b86977c98f3ac63fb705f8faa6a606383f2 100644 --- a/include/openpose/utilities/cuda.hpp +++ b/include/openpose/utilities/cuda.hpp @@ -20,7 +20,7 @@ namespace op return (totalRequired + numberCudaThreads - 1) / numberCudaThreads; } - dim3 getNumberCudaBlocks(const Point& frameSize, const dim3 numberCudaThreads = dim3{ CUDA_NUM_THREADS, CUDA_NUM_THREADS, 1 }); + dim3 getNumberCudaBlocks(const Point& frameSize, const dim3 numberCudaThreads = dim3{ CUDA_NUM_THREADS, CUDA_NUM_THREADS, 1 }); std::pair getNumberCudaThreadsAndBlocks(const Point& frameSize); } diff --git a/include/openpose/utilities/headers.hpp b/include/openpose/utilities/headers.hpp index c0acf06a88fc0fd7ccb1631c2424d552cce52bad..7043f03a0a380b78182ad66766c11ee2e20cdcc4 100644 --- a/include/openpose/utilities/headers.hpp +++ b/include/openpose/utilities/headers.hpp @@ -8,6 +8,7 @@ #include "errorAndLog.hpp" #include "fastMath.hpp" #include "fileSystem.hpp" +#include "keypoint.hpp" #include "macros.hpp" #include "openCv.hpp" #include "pointerContainer.hpp" diff --git a/include/openpose/utilities/keypoint.hpp b/include/openpose/utilities/keypoint.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4b5d08ed2fc0111be39cb4e1061082447ad32cb0 --- /dev/null +++ b/include/openpose/utilities/keypoint.hpp @@ -0,0 +1,28 @@ +#ifndef OPENPOSE_UTILITIES_KEYPOINT_HPP +#define OPENPOSE_UTILITIES_KEYPOINT_HPP + +#include +#include +#include + +namespace op +{ + float getDistance(const float* keypointPtr, const int elementA, const int elementB); + + void scaleKeypoints(Array& keypoints, const float scale); + + void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY); + + void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY, const float offsetX, const float offsetY); + + void renderKeypointsCpu(Array& frameArray, const Array& keypoints, const std::vector& pairs, + const std::vector colors, const float thicknessCircleRatio, const float thicknessLineRatioWRTCircle); + + Rectangle getKeypointsRectangle(const float* keypointPtr, const int numberBodyParts, const float threshold); + + int getKeypointsArea(const float* keypointPtr, const int numberBodyParts, const float threshold); + + int getBiggestPerson(const Array& keypoints, const float threshold); +} + +#endif // OPENPOSE_UTILITIES_KEYPOINT_HPP diff --git a/include/openpose/wrapper/wrapper.hpp b/include/openpose/wrapper/wrapper.hpp index cd5d353f6fd229f6528cca268b8441647f28677d..8fac32f649551b9530b3ec59dc967ae35f6a71da 100644 --- a/include/openpose/wrapper/wrapper.hpp +++ b/include/openpose/wrapper/wrapper.hpp @@ -80,17 +80,15 @@ namespace op // Consumer (keep default values to disable any output) const WrapperStructOutput& wrapperStructOutput = WrapperStructOutput{}); - // THIS FUNCTION IS NOT IMPLEMENTED YET -> COMING SOON // Similar to the previos configure, but it includes hand extraction and rendering void configure(const WrapperStructPose& wrapperStructPose, // Hand (use the default WrapperStructHand{} to disable any hand detector) - const experimental::WrapperStructHand& wrapperHandStruct, + const experimental::WrapperStructHand& wrapperStructHand, // Producer (set producerSharedPtr = nullptr or use the default WrapperStructInput{} to disable any input) const WrapperStructInput& wrapperStructInput, // Consumer (keep default values to disable any output) const WrapperStructOutput& wrapperStructOutput = WrapperStructOutput{}); - // THIS FUNCTION IS NOT IMPLEMENTED YET -> COMING SOON // Similar to the previos configure, but it includes hand extraction and rendering void configure(const WrapperStructPose& wrapperStructPose, // Face (use the default WrapperStructFace{} to disable any face detector) @@ -100,13 +98,12 @@ namespace op // Consumer (keep default values to disable any output) const WrapperStructOutput& wrapperStructOutput = WrapperStructOutput{}); - // THIS FUNCTION IS NOT IMPLEMENTED YET -> COMING SOON // Similar to the previos configure, but it includes hand extraction and rendering void configure(const WrapperStructPose& wrapperStructPose = WrapperStructPose{}, // Face (use the default WrapperStructFace{} to disable any face detector) const WrapperStructFace& wrapperStructFace = WrapperStructFace{}, // Hand (use the default WrapperStructHand{} to disable any hand detector) - const experimental::WrapperStructHand& wrapperHandStruct = experimental::WrapperStructHand{}, + const experimental::WrapperStructHand& wrapperStructHand = experimental::WrapperStructHand{}, // Producer (set producerSharedPtr = nullptr or use the default WrapperStructInput{} to disable any input) const WrapperStructInput& wrapperStructInput = WrapperStructInput{}, // Consumer (keep default values to disable any output) @@ -372,12 +369,14 @@ namespace op } template - void Wrapper::configure(const WrapperStructPose& wrapperStructPose, const WrapperStructInput& wrapperStructInput, + void Wrapper::configure(const WrapperStructPose& wrapperStructPose, + const WrapperStructInput& wrapperStructInput, const WrapperStructOutput& wrapperStructOutput) { try { - configure(wrapperStructPose, WrapperStructFace{}, experimental::WrapperStructHand{}, wrapperStructInput, wrapperStructOutput); + configure(wrapperStructPose, WrapperStructFace{}, experimental::WrapperStructHand{}, + wrapperStructInput, wrapperStructOutput); } catch (const std::exception& e) { @@ -386,12 +385,15 @@ namespace op } template - void Wrapper::configure(const WrapperStructPose& wrapperStructPose, const WrapperStructFace& wrapperStructFace, - const WrapperStructInput& wrapperStructInput, const WrapperStructOutput& wrapperStructOutput) + void Wrapper::configure(const WrapperStructPose& wrapperStructPose, + const WrapperStructFace& wrapperStructFace, + const WrapperStructInput& wrapperStructInput, + const WrapperStructOutput& wrapperStructOutput) { try { - configure(wrapperStructPose, wrapperStructFace, experimental::WrapperStructHand{}, wrapperStructInput, wrapperStructOutput); + configure(wrapperStructPose, wrapperStructFace, experimental::WrapperStructHand{}, + wrapperStructInput, wrapperStructOutput); } catch (const std::exception& e) { @@ -400,12 +402,15 @@ namespace op } template - void Wrapper::configure(const WrapperStructPose& wrapperStructPose, const experimental::WrapperStructHand& wrapperHandStruct, - const WrapperStructInput& wrapperStructInput, const WrapperStructOutput& wrapperStructOutput) + void Wrapper::configure(const WrapperStructPose& wrapperStructPose, + const experimental::WrapperStructHand& wrapperStructHand, + const WrapperStructInput& wrapperStructInput, + const WrapperStructOutput& wrapperStructOutput) { try { - configure(wrapperStructPose, WrapperStructFace{}, wrapperHandStruct, wrapperStructInput, wrapperStructOutput); + configure(wrapperStructPose, WrapperStructFace{}, wrapperStructHand, + wrapperStructInput, wrapperStructOutput); } catch (const std::exception& e) { @@ -414,8 +419,10 @@ namespace op } template - void Wrapper::configure(const WrapperStructPose& wrapperStructPose, const WrapperStructFace& wrapperStructFace, - const experimental::WrapperStructHand& wrapperHandStruct, const WrapperStructInput& wrapperStructInput, + void Wrapper::configure(const WrapperStructPose& wrapperStructPose, + const WrapperStructFace& wrapperStructFace, + const experimental::WrapperStructHand& wrapperStructHand, + const WrapperStructInput& wrapperStructInput, const WrapperStructOutput& wrapperStructOutput) { try @@ -426,8 +433,9 @@ namespace op typedef std::shared_ptr TDatumsPtr; // Required parameters - const auto renderOutput = wrapperStructPose.renderOutput || wrapperStructFace.renderOutput; - const auto renderFace = wrapperStructFace.enable && wrapperStructFace.renderOutput; + const auto renderOutput = wrapperStructPose.renderMode != RenderMode::None || wrapperStructFace.renderMode != RenderMode::None; + const auto renderOutputGpu = wrapperStructPose.renderMode == RenderMode::Gpu || wrapperStructFace.renderMode == RenderMode::Gpu; + const auto renderFace = wrapperStructFace.enable && wrapperStructFace.renderMode != RenderMode::None; // Check no wrong/contradictory flags enabled if (wrapperStructPose.alphaKeypoint < 0. || wrapperStructPose.alphaKeypoint > 1. @@ -563,22 +571,38 @@ namespace op // Pose renderers std::vector> poseRenderers; - if (wrapperStructPose.renderOutput || renderOutput) + std::shared_ptr poseCpuRenderer; + std::vector cpuRenderers; + if (renderOutputGpu || wrapperStructPose.renderMode == RenderMode::Cpu) { - // If !wrapperStructPose.renderOutput but renderOutput, then we create an alpha = 0 pose renderer + // If !wrapperStructPose.renderMode == RenderMode::Gpu but renderOutput, then we create an alpha = 0 pose renderer // in order to keep the removing background option - const auto alphaKeypoint = (wrapperStructPose.renderOutput ? wrapperStructPose.alphaKeypoint : 0.f); - const auto alphaHeatMap = (wrapperStructPose.renderOutput ? wrapperStructPose.alphaHeatMap : 0.f); - for (auto gpuId = 0; gpuId < poseExtractors.size(); gpuId++) + const auto alphaKeypoint = (wrapperStructPose.renderMode != RenderMode::None ? wrapperStructPose.alphaKeypoint : 0.f); + const auto alphaHeatMap = (wrapperStructPose.renderMode != RenderMode::None ? wrapperStructPose.alphaHeatMap : 0.f); + // GPU rendering + if (renderOutputGpu) { - poseRenderers.emplace_back(std::make_shared( - poseNetOutputSize, finalOutputSize, wrapperStructPose.poseModel, poseExtractors[gpuId], + for (auto gpuId = 0; gpuId < poseExtractors.size(); gpuId++) + { + poseRenderers.emplace_back(std::make_shared( + poseNetOutputSize, finalOutputSize, wrapperStructPose.poseModel, poseExtractors[gpuId], + wrapperStructPose.blendOriginalFrame, alphaKeypoint, + alphaHeatMap, wrapperStructPose.defaultPartToRender, wrapperStructPose.renderMode + )); + } + } + // CPU rendering + if (wrapperStructPose.renderMode == RenderMode::Cpu) + { + poseCpuRenderer = std::make_shared( + poseNetOutputSize, finalOutputSize, wrapperStructPose.poseModel, nullptr, wrapperStructPose.blendOriginalFrame, alphaKeypoint, - alphaHeatMap, wrapperStructPose.defaultPartToRender - )); + alphaHeatMap, wrapperStructPose.defaultPartToRender, wrapperStructPose.renderMode + ); + cpuRenderers.emplace_back(std::make_shared>(poseCpuRenderer)); } + log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__); } - log("", Priority::Low, __LINE__, __FUNCTION__, __FILE__); // Input cvMat to OpenPose format const auto cvMatToOpInput = std::make_shared( @@ -589,7 +613,6 @@ namespace op spWCvMatToOpOutput = std::make_shared>(cvMatToOpOutput); // Pose extractor(s) - spWPoses.clear(); spWPoses.resize(poseExtractors.size()); for (auto i = 0; i < spWPoses.size(); i++) spWPoses.at(i) = {std::make_shared>(poseExtractors.at(i))}; @@ -612,7 +635,7 @@ namespace op } // Hand extractor(s) - if (wrapperHandStruct.extractAndRenderHands) + if (wrapperStructHand.extractAndRenderHands) { for (auto gpuId = 0; gpuId < spWPoses.size(); gpuId++) { @@ -624,44 +647,76 @@ namespace op } // Pose renderer(s) - if (!poseRenderers.empty()) + if (renderOutputGpu && !poseRenderers.empty()) for (auto i = 0; i < spWPoses.size(); i++) spWPoses.at(i).emplace_back(std::make_shared>(poseRenderers.at(i))); - // Hands renderer(s) - if (wrapperHandStruct.extractAndRenderHands) + // Face renderer(s) + if (renderFace) { - for (auto i = 0; i < spWPoses.size(); i++) + // CPU rendering + if (wrapperStructFace.renderMode == RenderMode::Cpu) { - // Construct hands renderer - const auto handRenderer = std::make_shared(finalOutputSize); - // Performance boost -> share spGpuMemoryPtr for all renderers - if (!poseRenderers.empty()) + // Construct face renderer + const auto faceRenderer = std::make_shared(finalOutputSize, wrapperStructFace.alphaKeypoint, + wrapperStructFace.alphaHeatMap, + wrapperStructFace.renderMode); + // Add worker + cpuRenderers.emplace_back(std::make_shared>(faceRenderer)); + } + // GPU rendering + else if (wrapperStructFace.renderMode == RenderMode::Gpu) + { + for (auto i = 0; i < spWPoses.size(); i++) { - const bool isLastRenderer = (!renderFace); - handRenderer->setSharedParametersAndIfLast(poseRenderers.at(i)->getSharedParameters(), isLastRenderer); + // Construct face renderer + const auto faceRenderer = std::make_shared(finalOutputSize, wrapperStructFace.alphaKeypoint, + wrapperStructFace.alphaHeatMap, + wrapperStructFace.renderMode); + // Performance boost -> share spGpuMemoryPtr for all renderers + if (!poseRenderers.empty()) + { + const bool isLastRenderer = (!wrapperStructHand.extractAndRenderHands); + faceRenderer->setSharedParametersAndIfLast(poseRenderers.at(i)->getSharedParameters(), isLastRenderer); + } + // Add worker + spWPoses.at(i).emplace_back(std::make_shared>(faceRenderer)); } - // Add worker - spWPoses.at(i).emplace_back(std::make_shared>(handRenderer)); } + else + error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__); } - // Face renderer(s) - if (renderFace) + // Hands renderer(s) + if (wrapperStructHand.extractAndRenderHands) { - for (auto i = 0; i < spWPoses.size(); i++) + // CPU rendering + // if (wrapperStructHand.renderMode == RenderMode::Cpu) { - // Construct face renderer - const auto faceRenderer = std::make_shared(finalOutputSize, wrapperStructFace.alphaKeypoint, wrapperStructFace.alphaHeatMap); - // Performance boost -> share spGpuMemoryPtr for all renderers - if (!poseRenderers.empty()) - { - const bool isLastRenderer = true; - faceRenderer->setSharedParametersAndIfLast(poseRenderers.at(i)->getSharedParameters(), isLastRenderer); - } + // Construct hand renderer + const auto handRenderer = std::make_shared(finalOutputSize); // Add worker - spWPoses.at(i).emplace_back(std::make_shared>(faceRenderer)); + cpuRenderers.emplace_back(std::make_shared>(handRenderer)); } + // GPU rendering + // else if (wrapperStructHand.renderMode == RenderMode::Gpu) + // { + // for (auto i = 0; i < spWPoses.size(); i++) + // { + // // Construct hands renderer + // const auto handRenderer = std::make_shared(finalOutputSize); + // // Performance boost -> share spGpuMemoryPtr for all renderers + // if (!poseRenderers.empty()) + // { + // const bool isLastRenderer = true; + // handRenderer->setSharedParametersAndIfLast(poseRenderers.at(i)->getSharedParameters(), isLastRenderer); + // } + // // Add worker + // spWPoses.at(i).emplace_back(std::make_shared>(handRenderer)); + // } + // } + // else + // error("Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__); } // Itermediate workers (e.g. OpenPose format to cv::Mat, json & frames recorder, ...) @@ -672,6 +727,7 @@ namespace op // Frames processor (OpenPose format -> cv::Mat format) if (renderOutput) { + mPostProcessingWs = mergeWorkers(mPostProcessingWs, cpuRenderers); const auto opOutputToCvMat = std::make_shared(finalOutputSize); mPostProcessingWs.emplace_back(std::make_shared>(opOutputToCvMat)); } @@ -692,7 +748,7 @@ namespace op mOutputWs.emplace_back(std::make_shared>(keypointSaver)); if (wrapperStructFace.enable) mOutputWs.emplace_back(std::make_shared>(keypointSaver)); - if (wrapperHandStruct.extractAndRenderHands) + if (wrapperStructHand.extractAndRenderHands) mOutputWs.emplace_back(std::make_shared>(keypointSaver)); } // Write people pose data on disk (json format) @@ -702,7 +758,7 @@ namespace op mOutputWs.emplace_back(std::make_shared>(keypointJsonSaver)); if (wrapperStructFace.enable) mOutputWs.emplace_back(std::make_shared>(keypointJsonSaver)); - if (wrapperHandStruct.extractAndRenderHands) + if (wrapperStructHand.extractAndRenderHands) mOutputWs.emplace_back(std::make_shared>(keypointJsonSaver)); } // Write people pose data on disk (COCO validation json format) @@ -750,7 +806,8 @@ namespace op if (wrapperStructOutput.displayGui) { const auto gui = std::make_shared( - wrapperStructOutput.fullScreen, finalOutputSize, mThreadManager.getIsRunningSharedPtr(), spVideoSeek, poseExtractors, poseRenderers + wrapperStructOutput.fullScreen, finalOutputSize, mThreadManager.getIsRunningSharedPtr(), spVideoSeek, poseExtractors, + (wrapperStructPose.renderMode == RenderMode::Cpu ? std::vector>{poseCpuRenderer} : poseRenderers) ); spWGui = {std::make_shared>(gui)}; } diff --git a/include/openpose/wrapper/wrapperStructFace.hpp b/include/openpose/wrapper/wrapperStructFace.hpp index 29f79dd083c032054632aa20ed4c268abc1a5abb..b9aa36f0108c2f64dad28d788c734859ee5d4ea7 100644 --- a/include/openpose/wrapper/wrapperStructFace.hpp +++ b/include/openpose/wrapper/wrapperStructFace.hpp @@ -1,6 +1,7 @@ #ifndef OPENPOSE_WRAPPER_WRAPPER_STRUCT_FACE_HPP #define OPENPOSE_WRAPPER_WRAPPER_STRUCT_FACE_HPP +#include #include #include @@ -27,9 +28,10 @@ namespace op Point netInputSize; /** - * Whether to render the output (pose locations, face, background or PAF heat maps). + * Whether to render the output (pose locations, body, background or PAF heat maps) with CPU or GPU. + * Select `None` for no rendering, `Cpu` or `Gpu` por CPU and GPU rendering respectively. */ - bool renderOutput; + RenderMode renderMode; /** * Rendering blending alpha value of the pose point locations with respect to the background image. @@ -49,7 +51,8 @@ namespace op * Since all the elements of the struct are public, they can also be manually filled. */ WrapperStructFace(const bool enable = false, const Point& netInputSize = Point{368, 368}, - const bool renderOutput = false, const float alphaKeypoint = FACE_DEFAULT_ALPHA_KEYPOINT, + const RenderMode renderMode = RenderMode::None, + const float alphaKeypoint = FACE_DEFAULT_ALPHA_KEYPOINT, const float alphaHeatMap = FACE_DEFAULT_ALPHA_HEAT_MAP); }; } diff --git a/include/openpose/wrapper/wrapperStructPose.hpp b/include/openpose/wrapper/wrapperStructPose.hpp index 2c3bb3fec69a55cf2ea725a535ecd93cc7471537..a8844d848d28eaf913228315a3e75119dd2b3f0d 100644 --- a/include/openpose/wrapper/wrapperStructPose.hpp +++ b/include/openpose/wrapper/wrapperStructPose.hpp @@ -63,9 +63,10 @@ namespace op float scaleGap; /** - * Whether to render the output (pose locations, body, background or PAF heat maps). + * Whether to render the output (pose locations, body, background or PAF heat maps) with CPU or GPU. + * Select `None` for no rendering, `Cpu` or `Gpu` por CPU and GPU rendering respectively. */ - bool renderOutput; + RenderMode renderMode; /** * Pose model, it affects the number of body parts to render @@ -124,7 +125,7 @@ namespace op */ WrapperStructPose(const Point& netInputSize = Point{656, 368}, const Point& outputSize = Point{1280, 720}, const ScaleMode keypointScale = ScaleMode::InputResolution, const int gpuNumber = 1, const int gpuNumberStart = 0, - const int scalesNumber = 1, const float scaleGap = 0.15f, const bool renderOutput = false, + const int scalesNumber = 1, const float scaleGap = 0.15f, const RenderMode renderMode = RenderMode::None, const PoseModel poseModel = PoseModel::COCO_18, const bool blendOriginalFrame = true, const float alphaKeypoint = POSE_DEFAULT_ALPHA_KEYPOINT, const float alphaHeatMap = POSE_DEFAULT_ALPHA_HEAT_MAP, const int defaultPartToRender = 0, const std::string& modelFolder = "models/", diff --git a/models/pose/coco/pose_deploy_linevec.prototxt b/models/pose/coco/pose_deploy_linevec.prototxt index 2048c2e8f89381430dce9af345e3ff8149d4b940..fbe0c824588d61f079de03b06ab428e817b99819 100755 --- a/models/pose/coco/pose_deploy_linevec.prototxt +++ b/models/pose/coco/pose_deploy_linevec.prototxt @@ -1,8 +1,8 @@ input: "image" input_dim: 1 input_dim: 3 -input_dim: 1 # This value will be defined at runtime -input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime layer { name: "conv1_1" type: "Convolution" diff --git a/models/pose/mpi/pose_deploy_linevec.prototxt b/models/pose/mpi/pose_deploy_linevec.prototxt index c4251176bfdf0c020aa342ac7d598cad8aceea0a..54492d68a185cc50661078f370c7aa0041d8761a 100755 --- a/models/pose/mpi/pose_deploy_linevec.prototxt +++ b/models/pose/mpi/pose_deploy_linevec.prototxt @@ -1,8 +1,8 @@ input: "image" input_dim: 1 input_dim: 3 -input_dim: 1 # This value will be defined at runtime -input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime layer { name: "conv1_1" type: "Convolution" diff --git a/models/pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt b/models/pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt index f92c6fc257212f11f606d701b6dced2615636d7a..02ec183300ecbf5509d897e73c7663f16fb3b1a6 100644 --- a/models/pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt +++ b/models/pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt @@ -1,8 +1,8 @@ input: "image" input_dim: 1 input_dim: 3 -input_dim: 1 # This value will be defined at runtime -input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime +input_dim: 1 # This value will be defined at runtime layer { name: "conv1_1" type: "Convolution" diff --git a/src/openpose/core/array.cpp b/src/openpose/core/array.cpp index 3d42813b44e2ca2ac96779038f000e188ed9a2a4..d16f23859734bb0307dd0618d1c05b869467ecff 100644 --- a/src/openpose/core/array.cpp +++ b/src/openpose/core/array.cpp @@ -322,13 +322,25 @@ namespace op { try { - if (mCvMatData.first) - return mCvMatData.second; - else - { + if (!mCvMatData.first) error("Array: cv::Mat functions only valid for T types defined by OpenCV: unsigned char, signed char, int, float & double", __LINE__, __FUNCTION__, __FILE__); - return mCvMatData.second; - } + return mCvMatData.second; + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return mCvMatData.second; + } + } + + template + cv::Mat& Array::getCvMat() + { + try + { + if (!mCvMatData.first) + error("Array: cv::Mat functions only valid for T types defined by OpenCV: unsigned char, signed char, int, float & double", __LINE__, __FUNCTION__, __FILE__); + return mCvMatData.second; } catch (const std::exception& e) { diff --git a/src/openpose/core/keypointScaler.cpp b/src/openpose/core/keypointScaler.cpp index c2081f755467e20e6721c1d1430e5455d44e25ad..c90ca76559a84ef5c5f121cddf3eff24f43a8596 100644 --- a/src/openpose/core/keypointScaler.cpp +++ b/src/openpose/core/keypointScaler.cpp @@ -1,5 +1,5 @@ -#include #include +#include #include namespace op diff --git a/src/openpose/core/renderer.cpp b/src/openpose/core/renderer.cpp index bc916ea7009b5498a40e5653e98b6e8addcc7fe9..dfde23fb07f4255e93d7a423db71fe618ee24db3 100644 --- a/src/openpose/core/renderer.cpp +++ b/src/openpose/core/renderer.cpp @@ -1,12 +1,14 @@ -#include -#include +#ifndef CPU_ONLY + #include + #include +#endif #include #include namespace op { - Renderer::Renderer(const unsigned long long volume, const float alphaKeypoint, const float alphaHeatMap, const unsigned int elementToRender, - const unsigned int numberElementsToRender) : + Renderer::Renderer(const unsigned long long volume, const float alphaKeypoint, const float alphaHeatMap, + const unsigned int elementToRender, const unsigned int numberElementsToRender) : spGpuMemoryPtr{std::make_shared()}, spElementToRender{std::make_shared>(elementToRender)}, spNumberElementsToRender{std::make_shared(numberElementsToRender)}, @@ -23,8 +25,10 @@ namespace op { try { - if (mIsLastRenderer) - cudaFree(*spGpuMemoryPtr); + #ifndef CPU_ONLY + if (mIsLastRenderer) + cudaFree(*spGpuMemoryPtr); + #endif } catch (const std::exception& e) { @@ -36,8 +40,10 @@ namespace op { try { - if (mIsFirstRenderer) - cudaMalloc((void**)(spGpuMemoryPtr.get()), mVolume * sizeof(float)); + #ifndef CPU_ONLY + if (mIsFirstRenderer) + cudaMalloc((void**)(spGpuMemoryPtr.get()), mVolume * sizeof(float)); + #endif } catch (const std::exception& e) { @@ -74,7 +80,8 @@ namespace op } } - std::tuple, std::shared_ptr, std::shared_ptr>, std::shared_ptr> Renderer::getSharedParameters() + std::tuple, std::shared_ptr, std::shared_ptr>, + std::shared_ptr> Renderer::getSharedParameters() { try { @@ -88,7 +95,8 @@ namespace op } } - void Renderer::setSharedParametersAndIfLast(const std::tuple, std::shared_ptr, std::shared_ptr>, + void Renderer::setSharedParametersAndIfLast(const std::tuple, std::shared_ptr, + std::shared_ptr>, std::shared_ptr>& tuple, const bool isLast) { try @@ -160,11 +168,16 @@ namespace op { try { - if (!*spGpuMemoryAllocated) - { - cudaMemcpy(*spGpuMemoryPtr, cpuMemory, mVolume * sizeof(float), cudaMemcpyHostToDevice); - *spGpuMemoryAllocated = true; - } + #ifndef CPU_ONLY + if (!*spGpuMemoryAllocated) + { + cudaMemcpy(*spGpuMemoryPtr, cpuMemory, mVolume * sizeof(float), cudaMemcpyHostToDevice); + *spGpuMemoryAllocated = true; + } + #else + error("GPU rendering not available if `CPU_ONLY` is set.", __LINE__, __FUNCTION__, __FILE__); + UNUSED(cpuMemory); + #endif } catch (const std::exception& e) { @@ -176,11 +189,16 @@ namespace op { try { - if (*spGpuMemoryAllocated && mIsLastRenderer) - { - cudaMemcpy(cpuMemory, *spGpuMemoryPtr, mVolume * sizeof(float), cudaMemcpyDeviceToHost); - *spGpuMemoryAllocated = false; - } + #ifndef CPU_ONLY + if (*spGpuMemoryAllocated && mIsLastRenderer) + { + cudaMemcpy(cpuMemory, *spGpuMemoryPtr, mVolume * sizeof(float), cudaMemcpyDeviceToHost); + *spGpuMemoryAllocated = false; + } + #else + error("GPU rendering not available if `CPU_ONLY` is set.", __LINE__, __FUNCTION__, __FILE__); + UNUSED(cpuMemory); + #endif } catch (const std::exception& e) { diff --git a/src/openpose/core/scaleKeypoints.cpp b/src/openpose/core/scaleKeypoints.cpp deleted file mode 100644 index 9952fde1055f3d8542733fc979a5d7e3b6088179..0000000000000000000000000000000000000000 --- a/src/openpose/core/scaleKeypoints.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include -#include - -namespace op -{ - const std::string errorMessage = "This function is only for array of dimension: [sizeA x sizeB x 3]."; - - void scaleKeypoints(Array& keypoints, const float scale) - { - try - { - scaleKeypoints(keypoints, scale, scale); - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - } - } - - void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY) - { - try - { - if (scaleX != 1. && scaleY != 1.) - { - // Error check - if (!keypoints.empty() && keypoints.getSize(2) != 3) - error(errorMessage, __LINE__, __FUNCTION__, __FILE__); - // Get #people and #parts - const auto numberPeople = keypoints.getSize(0); - const auto numberParts = keypoints.getSize(1); - // For each person - for (auto person = 0 ; person < numberPeople ; person++) - { - // For each body part - for (auto part = 0 ; part < numberParts ; part++) - { - const auto finalIndex = 3*(person*numberParts + part); - keypoints[finalIndex] *= scaleX; - keypoints[finalIndex+1] *= scaleY; - } - } - } - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - } - } - - void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY, const float offsetX, const float offsetY) - { - try - { - if (scaleX != 1. && scaleY != 1.) - { - // Error check - if (!keypoints.empty() && keypoints.getSize(2) != 3) - error(errorMessage, __LINE__, __FUNCTION__, __FILE__); - // Get #people and #parts - const auto numberPeople = keypoints.getSize(0); - const auto numberParts = keypoints.getSize(1); - // For each person - for (auto person = 0 ; person < numberPeople ; person++) - { - // For each body part - for (auto part = 0 ; part < numberParts ; part++) - { - const auto finalIndex = 3*(person*numberParts + part); - keypoints[finalIndex] = keypoints[finalIndex] * scaleX + offsetX; - keypoints[finalIndex+1] = keypoints[finalIndex+1] * scaleY + offsetY; - } - } - } - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - } - } -} diff --git a/src/openpose/experimental/hand/handRenderer.cpp b/src/openpose/experimental/hand/handRenderer.cpp index 1a30e2840252a0d31c1d6b1c5d85d30a77b4934b..46be2796a0d66f77ddb8816b9f1cc7ecea70a599 100644 --- a/src/openpose/experimental/hand/handRenderer.cpp +++ b/src/openpose/experimental/hand/handRenderer.cpp @@ -1,7 +1,8 @@ -#include -#include -#include -#include +#ifndef CPU_ONLY + #include + #include +#endif +#include #include #include #include @@ -10,9 +11,10 @@ namespace op { namespace experimental { - HandRenderer::HandRenderer(const Point& frameSize) : - Renderer{(unsigned long long)(frameSize.area() * 3), HAND_DEFAULT_ALPHA_KEYPOINT, HAND_DEFAULT_ALPHA_HEAT_MAP}, - mFrameSize{frameSize} + HandRenderer::HandRenderer(const Point& frameSize, const float alphaKeypoint, const float alphaHeatMap, const RenderMode renderMode) : + Renderer{(unsigned long long)(frameSize.area() * 3), alphaKeypoint, alphaHeatMap}, + mFrameSize{frameSize}, + mRenderMode{renderMode} { } @@ -21,7 +23,9 @@ namespace op try { // Free CUDA pointers - Note that if pointers are 0 (i.e. nullptr), no operation is performed. - cudaFree(pGpuHands); + #ifndef CPU_ONLY + cudaFree(pGpuHands); + #endif } catch (const std::exception& e) { @@ -33,8 +37,13 @@ namespace op { try { + log("Starting initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); Renderer::initializationOnThread(); - cudaMalloc((void**)(&pGpuHands), 2*HAND_NUMBER_PARTS * 3 * sizeof(float)); + // GPU memory allocation for rendering + #ifndef CPU_ONLY + cudaMalloc((void**)(&pGpuHands), 2*HAND_NUMBER_PARTS * 3 * sizeof(float)); + #endif + log("Finished initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); } catch (const std::exception& e) { @@ -42,25 +51,67 @@ namespace op } } - void HandRenderer::renderHands(Array& outputData, const Array& handKeypoints) + void HandRenderer::renderHand(Array& outputData, const Array& handKeypoints) + { + try + { + // Security checks + if (outputData.empty()) + error("Empty Array outputData.", __LINE__, __FUNCTION__, __FILE__); + + // CPU rendering + if (mRenderMode == RenderMode::Cpu) + renderHandCpu(outputData, handKeypoints); + + // GPU rendering + else + renderHandGpu(outputData, handKeypoints); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void HandRenderer::renderHandCpu(Array& outputData, const Array& handKeypoints) + { + try + { + renderHandKeypointsCpu(outputData, handKeypoints); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void HandRenderer::renderHandGpu(Array& outputData, const Array& handKeypoints) { try { - const auto elementRendered = spElementToRender->load(); // I prefer std::round(T&) over intRound(T) for std::atomic - const auto numberPeople = handKeypoints.getSize(0); // GPU rendering - if (numberPeople > 0 && elementRendered == 0) - { - cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); - // Draw faceKeypoints - cudaMemcpy(pGpuHands, handKeypoints.getConstPtr(), 2*HAND_NUMBER_PARTS*3 * sizeof(float), cudaMemcpyHostToDevice); - renderHandsGpu(*spGpuMemoryPtr, mFrameSize, pGpuHands, handKeypoints.getSize(0)); - // CUDA check + #ifndef CPU_ONLY + const auto elementRendered = spElementToRender->load(); // I prefer std::round(T&) over intRound(T) for std::atomic + const auto numberPeople = handKeypoints.getSize(0); + // GPU rendering + if (numberPeople > 0 && elementRendered == 0) + { + cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); + // Draw handKeypoints + cudaMemcpy(pGpuHands, handKeypoints.getConstPtr(), 2*HAND_NUMBER_PARTS*3 * sizeof(float), cudaMemcpyHostToDevice); + renderHandKeypointsGpu(*spGpuMemoryPtr, mFrameSize, pGpuHands, handKeypoints.getSize(0)); + // CUDA check + cudaCheck(__LINE__, __FUNCTION__, __FILE__); + } + // GPU memory to CPU if last renderer + gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); cudaCheck(__LINE__, __FUNCTION__, __FILE__); - } - // GPU memory to CPU if last renderer - gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); - cudaCheck(__LINE__, __FUNCTION__, __FILE__); + // CPU_ONLY mode + #else + error("GPU rendering not available if `CPU_ONLY` is set.", __LINE__, __FUNCTION__, __FILE__); + UNUSED(outputData); + UNUSED(handKeypoints); + #endif } catch (const std::exception& e) { diff --git a/src/openpose/experimental/hand/renderHand.cpp b/src/openpose/experimental/hand/renderHand.cpp new file mode 100644 index 0000000000000000000000000000000000000000..29d882e05728b5656b922fd583684b6c2d5e59c5 --- /dev/null +++ b/src/openpose/experimental/hand/renderHand.cpp @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include + +namespace op +{ + const std::vector COLORS{HAND_COLORS_RENDER}; + + void renderHandKeypointsCpu(Array& frameArray, const Array& handKeypoints) + { + try + { + if (!frameArray.empty()) + { + // Parameters + const auto thicknessCircleRatio = 1.f/200.f; + const auto thicknessLineRatioWRTCircle = 0.75f; + const auto& pairs = HAND_PAIRS_RENDER; + + // Render keypoints + renderKeypointsCpu(frameArray, handKeypoints, pairs, COLORS, thicknessCircleRatio, thicknessLineRatioWRTCircle); + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } +} diff --git a/src/openpose/experimental/hand/handRenderGpu.cu b/src/openpose/experimental/hand/renderHand.cu similarity index 63% rename from src/openpose/experimental/hand/handRenderGpu.cu rename to src/openpose/experimental/hand/renderHand.cu index 99922b67898f8d8cf63cba82119ce57b30ad533e..3bc53df20baf3127865423eef2dba1721c494510 100644 --- a/src/openpose/experimental/hand/handRenderGpu.cu +++ b/src/openpose/experimental/hand/renderHand.cu @@ -3,37 +3,12 @@ #include #include #include -#include +#include namespace op { - __constant__ const unsigned int PART_PAIRS_GPU[] = HAND_PAIRS_TO_RENDER; - __constant__ const float RGB_COLORS[] = { - 179.f, 0.f, 0.f, - 204.f, 0.f, 0.f, - 230.f, 0.f, 0.f, - 255.f, 0.f, 0.f, - 143.f, 179.f, 0.f, - 163.f, 204.f, 0.f, - 184.f, 230.f, 0.f, - 204.f, 255.f, 0.f, - 0.f, 179.f, 71.f, - 0.f, 204.f, 82.f, - 0.f, 230.f, 92.f, - 0.f, 255.f, 102.f, - 0.f, 71.f, 179.f, - 0.f, 82.f, 204.f, - 0.f, 92.f, 230.f, - 0.f, 102.f, 255.f, - 143.f, 0.f, 179.f, - 163.f, 0.f, 204.f, - 184.f, 0.f, 230.f, - 204.f, 0.f, 255.f, - 179.f, 179.f, 179.f, - 179.f, 179.f, 179.f, - 179.f, 179.f, 179.f, - 179.f, 179.f, 179.f - }; + __constant__ const unsigned int PART_PAIRS_GPU[] = HAND_PAIRS_RENDER_GPU; + __constant__ const float COLORS[] = {HAND_COLORS_RENDER}; @@ -51,18 +26,19 @@ namespace op // Other parameters const auto numberPartPairs = sizeof(PART_PAIRS_GPU) / (2*sizeof(PART_PAIRS_GPU[0])); - const auto numberColors = sizeof(RGB_COLORS) / (3*sizeof(RGB_COLORS[0])); + const auto numberColors = sizeof(COLORS) / (3*sizeof(COLORS[0])); const auto radius = fastMin(targetWidth, targetHeight) / 100.f; const auto stickwidth = fastMin(targetWidth, targetHeight) / 80.f; // Render key points renderKeypoints(targetPtr, sharedMaxs, sharedMins, sharedScaleF, globalIdx, x, y, targetWidth, targetHeight, handsPtr, PART_PAIRS_GPU, numberHands, - HAND_NUMBER_PARTS, numberPartPairs, RGB_COLORS, numberColors, + HAND_NUMBER_PARTS, numberPartPairs, COLORS, numberColors, radius, stickwidth, threshold, alphaColorToAdd); } - void renderHandsGpu(float* framePtr, const Point& frameSize, const float* const handsPtr, const int numberHands, const float alphaColorToAdd) + void renderHandKeypointsGpu(float* framePtr, const Point& frameSize, const float* const handsPtr, const int numberHands, + const float alphaColorToAdd) { try { @@ -72,7 +48,8 @@ namespace op dim3 threadsPerBlock; dim3 numBlocks; std::tie(threadsPerBlock, numBlocks) = getNumberCudaThreadsAndBlocks(frameSize); - renderHandsParts<<>>(framePtr, frameSize.x, frameSize.y, handsPtr, numberHands, threshold, alphaColorToAdd); + renderHandsParts<<>>(framePtr, frameSize.x, frameSize.y, handsPtr, numberHands, threshold, + alphaColorToAdd); cudaCheck(__LINE__, __FUNCTION__, __FILE__); } } diff --git a/src/openpose/face/faceDetector.cpp b/src/openpose/face/faceDetector.cpp index 3c2a88bd131bf79f05f232647f8cd953ed14871e..5c681fbde525e2578d37579db1f554d671391fca 100644 --- a/src/openpose/face/faceDetector.cpp +++ b/src/openpose/face/faceDetector.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include namespace op @@ -16,21 +17,6 @@ namespace op { } - float getDistance(const float* posePtr, const int elementA, const int elementB) - { - try - { - const auto pixelX = posePtr[elementA*3] - posePtr[elementB*3]; - const auto pixelY = posePtr[elementA*3+1] - posePtr[elementB*3+1]; - return std::sqrt(pixelX*pixelX+pixelY*pixelY); - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - return -1.f; - } - } - inline Rectangle getFaceFromPoseKeypoints(const Array& poseKeypoints, const unsigned int personIndex, const unsigned int neck, const unsigned int nose, const unsigned int lEar, const unsigned int rEar, const unsigned int lEye, const unsigned int rEye, const float threshold) diff --git a/src/openpose/face/faceExtractor.cpp b/src/openpose/face/faceExtractor.cpp index 30d1cd84fac7786b93c4c23536e64069bac083a5..8f4fab547bed4915cd71d9a98eff57008fe7b2ee 100644 --- a/src/openpose/face/faceExtractor.cpp +++ b/src/openpose/face/faceExtractor.cpp @@ -10,9 +10,11 @@ namespace op { - FaceExtractor::FaceExtractor(const Point& netInputSize, const Point& netOutputSize, const std::string& modelFolder, const int gpuId) : + FaceExtractor::FaceExtractor(const Point& netInputSize, const Point& netOutputSize, const std::string& modelFolder, + const int gpuId) : mNetOutputSize{netOutputSize}, - spNet{std::make_shared(std::array{1, 3, mNetOutputSize.y, mNetOutputSize.x}, modelFolder + FACE_PROTOTXT, modelFolder + FACE_TRAINED_MODEL, gpuId)}, + spNet{std::make_shared(std::array{1, 3, mNetOutputSize.y, mNetOutputSize.x}, modelFolder + FACE_PROTOTXT, + modelFolder + FACE_TRAINED_MODEL, gpuId)}, spResizeAndMergeCaffe{std::make_shared>()}, spNmsCaffe{std::make_shared>()}, mFaceImageCrop{mNetOutputSize.area()*3} @@ -21,6 +23,7 @@ namespace op { checkE(netOutputSize.x, netInputSize.x, "Net input and output size must be equal.", __LINE__, __FUNCTION__, __FILE__); checkE(netOutputSize.y, netInputSize.y, "Net input and output size must be equal.", __LINE__, __FUNCTION__, __FILE__); + checkE(netInputSize.x, netInputSize.y, "Net input size must be squared.", __LINE__, __FUNCTION__, __FILE__); // Properties for (auto& property : mProperties) property = 0.; @@ -77,24 +80,25 @@ namespace op // Set face size const auto numberPeople = (int)faceRectangles.size(); - mFaceKeypoints.reset({numberPeople, FACE_NUMBER_PARTS, 3}, 0); -// // Commented lines are for debugging -// log("\nAreas:"); -// cv::Mat cvInputDataCopy = cvInputData.clone(); + mFaceKeypoints.reset({numberPeople, (int)FACE_NUMBER_PARTS, 3}, 0); + + // // Debugging + // cv::Mat cvInputDataCopy = cvInputData.clone(); + // Extract face keypoints for each person for (auto person = 0 ; person < numberPeople ; person++) { // Only consider faces with a minimum pixel area const auto faceAreaSquared = std::sqrt(faceRectangles.at(person).area()); + // // Debugging + // log(std::to_string(cvInputData.cols) + " " + std::to_string(cvInputData.rows)); + // cv::rectangle(cvInputDataCopy, + // cv::Point{(int)faceRectangle.x, (int)faceRectangle.y}, + // cv::Point{(int)faceRectangle.bottomRight().x, (int)faceRectangle.bottomRight().y}, + // cv::Scalar{0,0,255}, 2); // Get parts if (faceAreaSquared > 50) { const auto& faceRectangle = faceRectangles.at(person); -// log(faceAreaSquared); -// log(std::to_string(cvInputData.cols) + " " + std::to_string(cvInputData.rows)); -// cv::rectangle(cvInputDataCopy, -// cv::Point{(int)faceRectangle.x, (int)faceRectangle.y}, -// cv::Point{(int)faceRectangle.bottomRight().x, (int)faceRectangle.bottomRight().y}, -// cv::Scalar{255,0,255}, 2); // Get face position(s) const Point faceCenterPosition{faceRectangle.topLeft()}; const auto faceSize = fastMax(faceRectangle.width, faceRectangle.height); @@ -112,8 +116,11 @@ namespace op // cv::Mat -> float* uCharCvMatToFloatPtr(mFaceImageCrop.getPtr(), faceImage, true); -// if (person < 5) -// cv::imshow("faceImage" + std::to_string(person), faceImage); + + // // Debugging + // if (person < 5) + // cv::imshow("faceImage" + std::to_string(person), faceImage); + // 1. Caffe deep network auto* inputDataGpuPtr = spNet->getInputDataGpuPtr(); cudaMemcpy(inputDataGpuPtr, mFaceImageCrop.getPtr(), mNetOutputSize.area() * 3 * sizeof(float), cudaMemcpyHostToDevice); @@ -162,7 +169,7 @@ namespace op const auto x = facePeaksPtr[xyIndex]; const auto y = facePeaksPtr[xyIndex + 1]; const auto score = facePeaksPtr[xyIndex + 2]; - const auto baseIndex = (person * FACE_NUMBER_PARTS + part) * 3; + const auto baseIndex = mFaceKeypoints.getSize(2) * (person * mFaceKeypoints.getSize(1) + part); mFaceKeypoints[baseIndex] = scaleInputToOutput * (Mscaling.at(0,0) * x + Mscaling.at(0,1) * y + Mscaling.at(0,2)); mFaceKeypoints[baseIndex+1] = scaleInputToOutput * (Mscaling.at(1,0) * x + Mscaling.at(1,1) * y + Mscaling.at(1,2)); mFaceKeypoints[baseIndex+2] = score; @@ -170,7 +177,8 @@ namespace op } } } -// cv::imshow("AcvInputDataCopy", cvInputDataCopy); + // // Debugging + // cv::imshow("AcvInputDataCopy", cvInputDataCopy); } else mFaceKeypoints.reset(); diff --git a/src/openpose/face/faceRenderer.cpp b/src/openpose/face/faceRenderer.cpp index 48689d8654149bc169736b47b0da80c8adf7d1a2..b1d9d8cada4149d641a2a45910235aa5056a281d 100644 --- a/src/openpose/face/faceRenderer.cpp +++ b/src/openpose/face/faceRenderer.cpp @@ -1,16 +1,18 @@ -#include -#include -#include -#include +#ifndef CPU_ONLY + #include + #include +#endif +#include #include #include #include namespace op { - FaceRenderer::FaceRenderer(const Point& frameSize, const float alphaKeypoint, const float alphaHeatMap) : + FaceRenderer::FaceRenderer(const Point& frameSize, const float alphaKeypoint, const float alphaHeatMap, const RenderMode renderMode) : Renderer{(unsigned long long)(frameSize.area() * 3), alphaKeypoint, alphaHeatMap}, - mFrameSize{frameSize} + mFrameSize{frameSize}, + mRenderMode{renderMode} { } @@ -19,7 +21,9 @@ namespace op try { // Free CUDA pointers - Note that if pointers are 0 (i.e. nullptr), no operation is performed. - cudaFree(pGpuFace); + #ifndef CPU_ONLY + cudaFree(pGpuFace); + #endif } catch (const std::exception& e) { @@ -31,8 +35,13 @@ namespace op { try { + log("Starting initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); Renderer::initializationOnThread(); - cudaMalloc((void**)(&pGpuFace), POSE_MAX_PEOPLE * FACE_NUMBER_PARTS * 3 * sizeof(float)); + // GPU memory allocation for rendering + #ifndef CPU_ONLY + cudaMalloc((void**)(&pGpuFace), POSE_MAX_PEOPLE * FACE_NUMBER_PARTS * 3 * sizeof(float)); + #endif + log("Finished initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); } catch (const std::exception& e) { @@ -44,21 +53,63 @@ namespace op { try { - const auto elementRendered = spElementToRender->load(); // I prefer std::round(T&) over intRound(T) for std::atomic - const auto numberPeople = faceKeypoints.getSize(0); + // Security checks + if (outputData.empty()) + error("Empty Array outputData.", __LINE__, __FUNCTION__, __FILE__); + + // CPU rendering + if (mRenderMode == RenderMode::Cpu) + renderFaceCpu(outputData, faceKeypoints); + + // GPU rendering + else + renderFaceGpu(outputData, faceKeypoints); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void FaceRenderer::renderFaceCpu(Array& outputData, const Array& faceKeypoints) + { + try + { + renderFaceKeypointsCpu(outputData, faceKeypoints); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void FaceRenderer::renderFaceGpu(Array& outputData, const Array& faceKeypoints) + { + try + { // GPU rendering - if (numberPeople > 0 && elementRendered == 0) - { - cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); - // Draw faceKeypoints - cudaMemcpy(pGpuFace, faceKeypoints.getConstPtr(), faceKeypoints.getSize(0) * FACE_NUMBER_PARTS * 3 * sizeof(float), cudaMemcpyHostToDevice); - renderFaceGpu(*spGpuMemoryPtr, mFrameSize, pGpuFace, faceKeypoints.getSize(0), getAlphaKeypoint()); - // CUDA check + #ifndef CPU_ONLY + const auto elementRendered = spElementToRender->load(); // I prefer std::round(T&) over intRound(T) for std::atomic + const auto numberPeople = faceKeypoints.getSize(0); + if (numberPeople > 0 && elementRendered == 0) + { + cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); + // Draw faceKeypoints + cudaMemcpy(pGpuFace, faceKeypoints.getConstPtr(), faceKeypoints.getSize(0) * FACE_NUMBER_PARTS * 3 * sizeof(float), + cudaMemcpyHostToDevice); + renderFaceKeypointsGpu(*spGpuMemoryPtr, mFrameSize, pGpuFace, faceKeypoints.getSize(0), getAlphaKeypoint()); + // CUDA check + cudaCheck(__LINE__, __FUNCTION__, __FILE__); + } + // GPU memory to CPU if last renderer + gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); cudaCheck(__LINE__, __FUNCTION__, __FILE__); - } - // GPU memory to CPU if last renderer - gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); - cudaCheck(__LINE__, __FUNCTION__, __FILE__); + // CPU_ONLY mode + #else + error("GPU rendering not available if `CPU_ONLY` is set.", __LINE__, __FUNCTION__, __FILE__); + UNUSED(outputData); + UNUSED(faceKeypoints); + #endif } catch (const std::exception& e) { diff --git a/src/openpose/face/renderFace.cpp b/src/openpose/face/renderFace.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2f7aa70efebf1c5bdd3865c0d05d3d924b1b7517 --- /dev/null +++ b/src/openpose/face/renderFace.cpp @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include + +namespace op +{ + const std::vector COLORS{FACE_COLORS_RENDER}; + + void renderFaceKeypointsCpu(Array& frameArray, const Array& faceKeypoints) + { + try + { + if (!frameArray.empty()) + { + // Parameters + const auto thicknessCircleRatio = 1.f/75.f; + const auto thicknessLineRatioWRTCircle = 0.334f; + const auto& pairs = FACE_PAIRS_RENDER; + + // Render keypoints + renderKeypointsCpu(frameArray, faceKeypoints, pairs, COLORS, thicknessCircleRatio, thicknessLineRatioWRTCircle); + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } +} diff --git a/src/openpose/face/faceRenderGpu.cu b/src/openpose/face/renderFace.cu similarity index 79% rename from src/openpose/face/faceRenderGpu.cu rename to src/openpose/face/renderFace.cu index b8d66d75a6a2cc19baccf55bfe324f83592a0cb4..e4e5823f6538d4e83d43f91c31304a734162373e 100644 --- a/src/openpose/face/faceRenderGpu.cu +++ b/src/openpose/face/renderFace.cu @@ -3,15 +3,13 @@ #include #include #include -#include +#include namespace op { const dim3 THREADS_PER_BLOCK{128, 128, 1}; - __constant__ const unsigned int PART_PAIRS_GPU[] = FACE_PAIRS_TO_RENDER; - __constant__ const float RGB_COLORS[] = { - 255.f, 255.f, 255.f, - }; + __constant__ const unsigned int PART_PAIRS_GPU[] = FACE_PAIRS_RENDER_GPU; + __constant__ const float COLORS[] = {FACE_COLORS_RENDER}; @@ -29,18 +27,19 @@ namespace op // Other parameters const auto numberPartPairs = sizeof(PART_PAIRS_GPU) / (2*sizeof(PART_PAIRS_GPU[0])); - const auto numberColors = sizeof(RGB_COLORS) / (3*sizeof(RGB_COLORS[0])); + const auto numberColors = sizeof(COLORS) / (3*sizeof(COLORS[0])); const auto radius = fastMin(targetWidth, targetHeight) / 120.f; const auto stickwidth = fastMin(targetWidth, targetHeight) / 250.f; // Render key points renderKeypoints(targetPtr, sharedMaxs, sharedMins, sharedScaleF, globalIdx, x, y, targetWidth, targetHeight, facePtr, PART_PAIRS_GPU, numberFaces, - FACE_NUMBER_PARTS, numberPartPairs, RGB_COLORS, numberColors, + FACE_NUMBER_PARTS, numberPartPairs, COLORS, numberColors, radius, stickwidth, threshold, alphaColorToAdd); } - void renderFaceGpu(float* framePtr, const Point& frameSize, const float* const facePtr, const int numberFaces, const float alphaColorToAdd) + void renderFaceKeypointsGpu(float* framePtr, const Point& frameSize, const float* const facePtr, const int numberFaces, + const float alphaColorToAdd) { try { @@ -48,7 +47,8 @@ namespace op { const auto threshold = 0.4f; const auto numBlocks = getNumberCudaBlocks(frameSize, THREADS_PER_BLOCK); - renderFaceParts<<>>(framePtr, frameSize.x, frameSize.y, facePtr, numberFaces, threshold, alphaColorToAdd); + renderFaceParts<<>>(framePtr, frameSize.x, frameSize.y, facePtr, numberFaces, threshold, + alphaColorToAdd); cudaCheck(__LINE__, __FUNCTION__, __FILE__); } } diff --git a/src/openpose/pose/poseExtractor.cpp b/src/openpose/pose/poseExtractor.cpp index 88185285400ecf6ac8daef525c8b052bccf1429c..0e58c8facd41a0fc1e50291ed1d0b38c68f4906e 100644 --- a/src/openpose/pose/poseExtractor.cpp +++ b/src/openpose/pose/poseExtractor.cpp @@ -7,78 +7,6 @@ namespace op { - // In case I wanna order the pose keypoints by area - // inline int getPersonArea(const float* posePtr, const int numberBodyParts, const float threshold) - // { - // try - // { - // if (numberBodyParts < 1) - // error("Number body parts must be > 0", __LINE__, __FUNCTION__, __FILE__); - - // unsigned int minX = -1; - // unsigned int maxX = 0u; - // unsigned int minY = -1; - // unsigned int maxY = 0u; - // for (auto part = 0 ; part < numberBodyParts ; part++) - // { - // const auto score = posePtr[3*part + 2]; - // if (score > threshold) - // { - // const auto x = posePtr[3*part]; - // const auto y = posePtr[3*part + 1]; - // // Set X - // if (maxX < x) - // maxX = x; - // if (minX > x) - // minX = x; - // // Set Y - // if (maxY < y) - // maxY = y; - // if (minY > y) - // minY = y; - // } - // } - // return (maxX - minX) * (maxY - minY); - // } - // catch (const std::exception& e) - // { - // error(e.what(), __LINE__, __FUNCTION__, __FILE__); - // return 0; - // } - // } - - // inline int getPersonWithMaxArea(const Array& poseKeypoints, const float threshold) - // { - // try - // { - // if (!poseKeypoints.empty()) - // { - // const auto numberPeople = poseKeypoints.getSize(0); - // const auto numberBodyParts = poseKeypoints.getSize(1); - // const auto area = numberBodyParts * poseKeypoints.getSize(2); - // auto biggestPoseIndex = -1; - // auto biggestArea = -1; - // for (auto person = 0 ; person < numberPeople ; person++) - // { - // const auto newPersonArea = getPersonArea(&poseKeypoints[person*area], numberBodyParts, threshold); - // if (newPersonArea > biggestArea) - // { - // biggestArea = newPersonArea; - // biggestPoseIndex = person; - // } - // } - // return biggestPoseIndex; - // } - // else - // return -1; - // } - // catch (const std::exception& e) - // { - // error(e.what(), __LINE__, __FUNCTION__, __FILE__); - // return -1; - // } - // } - bool heatMapTypesHas(const std::vector& heatMapTypes, const HeatMapType heatMapType) { try diff --git a/src/openpose/pose/poseParameters.cpp b/src/openpose/pose/poseParameters.cpp index 65255adf901fb2af4a09a017ef3104f80359242d..5f70117f695f86cd6f17725ee12743e2511dcf7d 100644 --- a/src/openpose/pose/poseParameters.cpp +++ b/src/openpose/pose/poseParameters.cpp @@ -3,7 +3,7 @@ namespace op { - const std::array, 3> POSE_BODY_PART_MAPPING{ POSE_COCO_BODY_PARTS, POSE_MPI_BODY_PARTS, POSE_MPI_BODY_PARTS }; + const std::array, 3> POSE_BODY_PART_MAPPING{ POSE_COCO_BODY_PARTS, POSE_MPI_BODY_PARTS, POSE_MPI_BODY_PARTS }; unsigned int poseBodyPartMapStringToKey(const PoseModel poseModel, const std::vector& strings) { @@ -24,29 +24,29 @@ namespace op } } - unsigned int poseBodyPartMapStringToKey(const PoseModel poseModel, const std::string& string) - { - try - { - return poseBodyPartMapStringToKey(poseModel, std::vector{string}); - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - return 0; - } - } + unsigned int poseBodyPartMapStringToKey(const PoseModel poseModel, const std::string& string) + { + try + { + return poseBodyPartMapStringToKey(poseModel, std::vector{string}); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return 0; + } + } - const std::map& getPoseBodyPartMapping(const PoseModel poseModel) - { - try - { - return POSE_BODY_PART_MAPPING.at((int)poseModel); - } - catch (const std::exception& e) - { - error(e.what(), __LINE__, __FUNCTION__, __FILE__); - return POSE_BODY_PART_MAPPING[(int)poseModel]; - } - } + const std::map& getPoseBodyPartMapping(const PoseModel poseModel) + { + try + { + return POSE_BODY_PART_MAPPING.at((int)poseModel); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return POSE_BODY_PART_MAPPING[(int)poseModel]; + } + } } diff --git a/src/openpose/pose/poseRenderer.cpp b/src/openpose/pose/poseRenderer.cpp index c349d4a5690484577dc1f6caedb7ca0f6a34323a..09953b4a350cf5a69afb17afcff895765c1c8e57 100644 --- a/src/openpose/pose/poseRenderer.cpp +++ b/src/openpose/pose/poseRenderer.cpp @@ -1,7 +1,9 @@ -#include -#include +#ifndef CPU_ONLY + #include + #include +#endif #include -#include +#include #include #include #include @@ -37,8 +39,10 @@ namespace op } } - PoseRenderer::PoseRenderer(const Point& heatMapsSize, const Point& outputSize, const PoseModel poseModel, const std::shared_ptr& poseExtractor, - const bool blendOriginalFrame, const float alphaKeypoint, const float alphaHeatMap, const unsigned int elementToRender) : + PoseRenderer::PoseRenderer(const Point& heatMapsSize, const Point& outputSize, const PoseModel poseModel, + const std::shared_ptr& poseExtractor, const bool blendOriginalFrame, + const float alphaKeypoint, const float alphaHeatMap, const unsigned int elementToRender, + const RenderMode renderMode) : // #body elements to render = #body parts (size()) + #body part pair connections + 3 (+whole pose +whole heatmaps +PAFs) // POSE_BODY_PART_MAPPING crashes on Windows, replaced by getPoseBodyPartMapping Renderer{(unsigned long long)(outputSize.area() * 3), alphaKeypoint, alphaHeatMap, elementToRender, @@ -48,6 +52,7 @@ namespace op mPoseModel{poseModel}, mPartIndexToName{createPartToName(poseModel)}, spPoseExtractor{poseExtractor}, + mRenderMode{renderMode}, mBlendOriginalFrame{blendOriginalFrame}, mShowGooglyEyes{false}, pGpuPose{nullptr} @@ -59,7 +64,9 @@ namespace op try { // Free CUDA pointers - Note that if pointers are 0 (i.e. nullptr), no operation is performed. - cudaFree(pGpuPose); + #ifndef CPU_ONLY + cudaFree(pGpuPose); + #endif } catch (const std::exception& e) { @@ -71,11 +78,13 @@ namespace op { try { - // GPU memory allocation for rendering log("Starting initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); Renderer::initializationOnThread(); - cudaMalloc((void**)(&pGpuPose), POSE_MAX_PEOPLE * POSE_NUMBER_BODY_PARTS[(int)mPoseModel] * 3 * sizeof(float)); - cudaCheck(__LINE__, __FUNCTION__, __FILE__); + // GPU memory allocation for rendering + #ifndef CPU_ONLY + cudaMalloc((void**)(&pGpuPose), POSE_MAX_PEOPLE * POSE_NUMBER_BODY_PARTS[(int)mPoseModel] * 3 * sizeof(float)); + cudaCheck(__LINE__, __FUNCTION__, __FILE__); + #endif log("Finished initialization on thread.", Priority::Low, __LINE__, __FUNCTION__, __FILE__); } catch (const std::exception& e) @@ -134,73 +143,135 @@ namespace op } } - std::pair PoseRenderer::renderPose(Array& outputData, const Array& poseKeypoints, const float scaleNetToOutput) + std::pair PoseRenderer::renderPose(Array& outputData, const Array& poseKeypoints, + const float scaleNetToOutput) { try { // Security checks if (outputData.empty()) - error("Empty outputData.", __LINE__, __FUNCTION__, __FILE__); + error("Empty Array outputData.", __LINE__, __FUNCTION__, __FILE__); - const auto elementRendered = spElementToRender->load(); // I prefer std::round(T&) over intRound(T) for std::atomic - const auto numberPeople = poseKeypoints.getSize(0); - std::string elementRenderedName; + // CPU rendering + if (mRenderMode == RenderMode::Cpu) + return renderPoseCpu(outputData, poseKeypoints, scaleNetToOutput); // GPU rendering - if (numberPeople > 0 || elementRendered != 0 || !mBlendOriginalFrame) + else + return renderPoseGpu(outputData, poseKeypoints, scaleNetToOutput); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return std::make_pair(-1, ""); + } + } + + std::pair PoseRenderer::renderPoseCpu(Array& outputData, const Array& poseKeypoints, + const float scaleNetToOutput) + { + try + { + const auto elementRendered = spElementToRender->load(); + + std::string elementRenderedName; + // CPU rendering + // Draw poseKeypoints + if (elementRendered == 0) + renderPoseKeypointsCpu(outputData, poseKeypoints, mPoseModel, mBlendOriginalFrame); + // Draw heat maps / PAFs + else { - cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); - cudaCheck(__LINE__, __FUNCTION__, __FILE__); - const auto numberBodyParts = POSE_NUMBER_BODY_PARTS[(int)mPoseModel]; - const auto numberBodyPartsPlusBkg = numberBodyParts+1; - // Draw poseKeypoints - if (elementRendered == 0) - { - if (!poseKeypoints.empty()) - cudaMemcpy(pGpuPose, poseKeypoints.getConstPtr(), numberPeople * numberBodyParts * 3 * sizeof(float), cudaMemcpyHostToDevice); - renderPoseGpu(*spGpuMemoryPtr, mPoseModel, numberPeople, mOutputSize, pGpuPose, mShowGooglyEyes, mBlendOriginalFrame, getAlphaKeypoint()); - } - else + UNUSED(scaleNetToOutput); + error("CPU rendering only available for drawing keypoints, no heat maps nor PAFs.", __LINE__, __FUNCTION__, __FILE__); + } + // Return result + return std::make_pair(elementRendered, elementRenderedName); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return std::make_pair(-1, ""); + } + } + + std::pair PoseRenderer::renderPoseGpu(Array& outputData, const Array& poseKeypoints, + const float scaleNetToOutput) + { + try + { + const auto elementRendered = spElementToRender->load(); + + std::string elementRenderedName; + // GPU rendering + #ifndef CPU_ONLY + const auto numberPeople = poseKeypoints.getSize(0); + if (numberPeople > 0 || elementRendered != 0 || !mBlendOriginalFrame) { - if (scaleNetToOutput == -1.f) - error("Non valid scaleNetToOutput.", __LINE__, __FUNCTION__, __FILE__); - // Draw specific body part or bkg - if (elementRendered <= numberBodyPartsPlusBkg) + cpuToGpuMemoryIfNotCopiedYet(outputData.getPtr()); + cudaCheck(__LINE__, __FUNCTION__, __FILE__); + const auto numberBodyParts = POSE_NUMBER_BODY_PARTS[(int)mPoseModel]; + const auto numberBodyPartsPlusBkg = numberBodyParts+1; + // Draw poseKeypoints + if (elementRendered == 0) { - elementRenderedName = mPartIndexToName.at(elementRendered-1); - renderBodyPartGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), mHeatMapsSize, - scaleNetToOutput, elementRendered, (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); + if (!poseKeypoints.empty()) + cudaMemcpy(pGpuPose, poseKeypoints.getConstPtr(), numberPeople * numberBodyParts * 3 * sizeof(float), + cudaMemcpyHostToDevice); + renderPoseKeypointsGpu(*spGpuMemoryPtr, mPoseModel, numberPeople, mOutputSize, pGpuPose, + mShowGooglyEyes, mBlendOriginalFrame, getAlphaKeypoint()); } - // Draw PAFs (Part Affinity Fields) - else if (elementRendered == numberBodyPartsPlusBkg+1) - { - elementRenderedName = "Heatmaps"; - renderBodyPartsGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), mHeatMapsSize, scaleNetToOutput, - (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); - } - // Draw PAFs (Part Affinity Fields) - else if (elementRendered == numberBodyPartsPlusBkg+2) - { - elementRenderedName = "PAFs (Part Affinity Fields)"; - renderPartAffinityFieldsGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), - mHeatMapsSize, scaleNetToOutput, (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); - } - // Draw affinity between 2 body parts else { - const auto affinityPart = (elementRendered-numberBodyPartsPlusBkg-3)*2; - const auto affinityPartMapped = POSE_MAP_IDX[(int)mPoseModel].at(affinityPart); - elementRenderedName = mPartIndexToName.at(affinityPartMapped); - elementRenderedName = elementRenderedName.substr(0, elementRenderedName.find("(")); - renderPartAffinityFieldGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), - mHeatMapsSize, scaleNetToOutput, affinityPartMapped, (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); - } + if (scaleNetToOutput == -1.f) + error("Non valid scaleNetToOutput.", __LINE__, __FUNCTION__, __FILE__); + // Draw specific body part or bkg + if (elementRendered <= numberBodyPartsPlusBkg) + { + elementRenderedName = mPartIndexToName.at(elementRendered-1); + renderPoseHeatMapGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), + mHeatMapsSize, scaleNetToOutput, elementRendered, + (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); + } + // Draw PAFs (Part Affinity Fields) + else if (elementRendered == numberBodyPartsPlusBkg+1) + { + elementRenderedName = "Heatmaps"; + renderPoseHeatMapsGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), + mHeatMapsSize, scaleNetToOutput, (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); + } + // Draw PAFs (Part Affinity Fields) + else if (elementRendered == numberBodyPartsPlusBkg+2) + { + elementRenderedName = "PAFs (Part Affinity Fields)"; + renderPosePAFsGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), + mHeatMapsSize, scaleNetToOutput, (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); + } + // Draw affinity between 2 body parts + else + { + const auto affinityPart = (elementRendered-numberBodyPartsPlusBkg-3)*2; + const auto affinityPartMapped = POSE_MAP_IDX[(int)mPoseModel].at(affinityPart); + elementRenderedName = mPartIndexToName.at(affinityPartMapped); + elementRenderedName = elementRenderedName.substr(0, elementRenderedName.find("(")); + renderPosePAFGpu(*spGpuMemoryPtr, mPoseModel, mOutputSize, spPoseExtractor->getHeatMapCpuConstPtr(), + mHeatMapsSize, scaleNetToOutput, affinityPartMapped, + (mBlendOriginalFrame ? getAlphaHeatMap() : 1.f)); + } + } } - } - // GPU memory to CPU if last renderer - gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); - cudaCheck(__LINE__, __FUNCTION__, __FILE__); - + // GPU memory to CPU if last renderer + gpuToCpuMemoryIfLastRenderer(outputData.getPtr()); + cudaCheck(__LINE__, __FUNCTION__, __FILE__); + // CPU_ONLY mode + #else + error("GPU rendering not available if `CPU_ONLY` is set.", __LINE__, __FUNCTION__, __FILE__); + UNUSED(elementRendered); + UNUSED(outputData); + UNUSED(poseKeypoints); + UNUSED(scaleNetToOutput); + #endif + // Return result return std::make_pair(elementRendered, elementRenderedName); } catch (const std::exception& e) diff --git a/src/openpose/pose/renderPose.cpp b/src/openpose/pose/renderPose.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9cb0aebff1e5613251fc0c4f34f8de5f484e93d0 --- /dev/null +++ b/src/openpose/pose/renderPose.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include + +namespace op +{ + const std::vector COCO_COLORS{POSE_COCO_COLORS_RENDER}; + const std::vector MPI_COLORS{POSE_MPI_COLORS_RENDER}; + + void renderPoseKeypointsCpu(Array& frameArray, const Array& poseKeypoints, const PoseModel poseModel, const bool blendOriginalFrame) + { + try + { + if (!frameArray.empty()) + { + // Array --> cv::Mat + auto frame = frameArray.getCvMat(); + + // Background + if (!blendOriginalFrame) + frame.setTo(0.f); // [0-255] + + // Parameters + const auto thicknessCircleRatio = 1.f/75.f; + const auto thicknessLineRatioWRTCircle = 0.75f; + const auto& pairs = POSE_BODY_PART_PAIRS_RENDER[(int)poseModel]; + const auto& colors = (poseModel == PoseModel::COCO_18 ? COCO_COLORS : MPI_COLORS); + + // Render keypoints + renderKeypointsCpu(frameArray, poseKeypoints, pairs, colors, thicknessCircleRatio, thicknessLineRatioWRTCircle); + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } +} diff --git a/src/openpose/pose/poseRenderGpu.cu b/src/openpose/pose/renderPose.cu similarity index 79% rename from src/openpose/pose/poseRenderGpu.cu rename to src/openpose/pose/renderPose.cu index b01c7be914c90a5219d94748632c5e1a01392a33..675afc6dd85b05861512e12df8e81229dd65693f 100644 --- a/src/openpose/pose/poseRenderGpu.cu +++ b/src/openpose/pose/renderPose.cu @@ -1,74 +1,18 @@ -#include // std::pair #include #include #include #include #include -#include +#include namespace op { - // PI digits: http://www.piday.org/million/ - __constant__ const float PI = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745f; - __constant__ const unsigned int COCO_PAIRS_GPU[] = POSE_COCO_PAIRS_TO_RENDER; - __constant__ const unsigned int MPI_PAIRS_GPU[] = POSE_MPI_PAIRS_TO_RENDER; - __constant__ const float COCO_RGB_COLORS[] = { - 255.f, 0.f, 0.f, - 255.f, 85.f, 0.f, - 255.f, 170.f, 0.f, - 255.f, 255.f, 0.f, - 170.f, 255.f, 0.f, - 85.f, 255.f, 0.f, - 0.f, 255.f, 0.f, - 0.f, 255.f, 85.f, - 0.f, 255.f, 170.f, - 0.f, 255.f, 255.f, - 0.f, 170.f, 255.f, - 0.f, 85.f, 255.f, - 0.f, 0.f, 255.f, - 85.f, 0.f, 255.f, - 170.f, 0.f, 255.f, - 255.f, 0.f, 255.f, - 255.f, 0.f, 170.f, - 255.f, 0.f, 85.f, - }; - __constant__ const float MPI_RGB_COLORS[] = { // MPI colors chosen such that they are closed to COCO colors - 255.f, 0.f, 85.f, - 255.f, 0.f, 0.f, - 255.f, 85.f, 0.f, - 255.f, 170.f, 0.f, - 255.f, 255.f, 0.f, - 170.f, 255.f, 0.f, - 85.f, 255.f, 0.f, - 43.f, 255.f, 0.f, - 0.f, 255.f, 0.f, - 0.f, 255.f, 85.f, - 0.f, 255.f, 170.f, - 0.f, 255.f, 255.f, - 0.f, 170.f, 255.f, - 0.f, 85.f, 255.f, - 0.f, 0.f, 255.f, - }; - __constant__ const float RGB_COLORS_BACKGROUND[] = { - 255.f, 0.f, 0.f, - 255.f, 85.f, 0.f, - 255.f, 170.f, 0.f, - 255.f, 255.f, 0.f, - 170.f, 255.f, 0.f, - 85.f, 255.f, 0.f, - 0.f, 255.f, 0.f, - 0.f, 255.f, 85.f, - 0.f, 255.f, 170.f, - 0.f, 255.f, 255.f, - 0.f, 170.f, 255.f, - 0.f, 85.f, 255.f, - 0.f, 0.f, 255.f, - 85.f, 0.f, 255.f, - 170.f, 0.f, 255.f, - 255.f, 0.f, 255.f, - 255.f, 0.f, 170.f, - 255.f, 0.f, 85.f, - }; + // PI digits: http://www.piday.org/million/ + __constant__ const float PI = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745f; + __constant__ const unsigned int COCO_PAIRS_GPU[] = POSE_COCO_PAIRS_RENDER_GPU; + __constant__ const unsigned int MPI_PAIRS_GPU[] = POSE_MPI_PAIRS_RENDER_GPU; + __constant__ const float COCO_COLORS[] = {POSE_COCO_COLORS_RENDER}; + __constant__ const float MPI_COLORS[] = {POSE_MPI_COLORS_RENDER}; @@ -163,14 +107,14 @@ namespace op // Other parameters const auto numberPartPairs = sizeof(COCO_PAIRS_GPU) / (2*sizeof(COCO_PAIRS_GPU[0])); - const auto numberColors = sizeof(COCO_RGB_COLORS) / (3*sizeof(COCO_RGB_COLORS[0])); + const auto numberColors = sizeof(COCO_COLORS) / (3*sizeof(COCO_COLORS[0])); const auto radius = fastMin(targetWidth, targetHeight) / 100.f; const auto stickwidth = fastMin(targetWidth, targetHeight) / 120.f; // Render key points renderKeypoints(targetPtr, sharedMaxs, sharedMins, sharedScaleF, globalIdx, x, y, targetWidth, targetHeight, posePtr, COCO_PAIRS_GPU, numberPeople, - POSE_COCO_NUMBER_PARTS, numberPartPairs, COCO_RGB_COLORS, numberColors, + POSE_COCO_NUMBER_PARTS, numberPartPairs, COCO_COLORS, numberColors, radius, stickwidth, threshold, alphaColorToAdd, blendOriginalFrame, (googlyEyes ? 14 : -1), (googlyEyes ? 15 : -1)); } @@ -188,14 +132,14 @@ namespace op // Other parameters const auto numberPartPairs = sizeof(MPI_PAIRS_GPU) / (2*sizeof(MPI_PAIRS_GPU[0])); - const auto numberColors = sizeof(MPI_RGB_COLORS) / (3*sizeof(MPI_RGB_COLORS[0])); + const auto numberColors = sizeof(MPI_COLORS) / (3*sizeof(MPI_COLORS[0])); const auto radius = fastMin(targetWidth, targetHeight) / 100.f; const auto stickwidth = fastMin(targetWidth, targetHeight) / 120.f; // Render key points renderKeypoints(targetPtr, sharedMaxs, sharedMins, sharedScaleF, globalIdx, x, y, targetWidth, targetHeight, posePtr, MPI_PAIRS_GPU, numberPeople, - POSE_MPI_NUMBER_PARTS, numberPartPairs, MPI_RGB_COLORS, numberColors, + POSE_MPI_NUMBER_PARTS, numberPartPairs, MPI_COLORS, numberColors, radius, stickwidth, threshold, alphaColorToAdd, blendOriginalFrame); } @@ -205,7 +149,7 @@ namespace op const auto x = (blockIdx.x * blockDim.x) + threadIdx.x; const auto y = (blockIdx.y * blockDim.y) + threadIdx.y; - const auto numberColors = sizeof(RGB_COLORS_BACKGROUND)/(3*sizeof(RGB_COLORS_BACKGROUND[0])); + const auto numberColors = sizeof(COCO_COLORS)/(3*sizeof(COCO_COLORS[0])); if (x < targetWidth && y < targetHeight) { @@ -220,9 +164,9 @@ namespace op const auto offsetOrigin = part * heatMapArea; const auto value = __saturatef(heatMapPtr[offsetOrigin + yHeatMap*widthHeatMap + xHeatMap]); // __saturatef = trucate to [0,1] const auto rgbColorIndex = (part%numberColors)*3; - rgbColor[0] += value*RGB_COLORS_BACKGROUND[rgbColorIndex]; - rgbColor[1] += value*RGB_COLORS_BACKGROUND[rgbColorIndex+1]; - rgbColor[2] += value*RGB_COLORS_BACKGROUND[rgbColorIndex+2]; + rgbColor[0] += value*COCO_COLORS[rgbColorIndex]; + rgbColor[1] += value*COCO_COLORS[rgbColorIndex+1]; + rgbColor[2] += value*COCO_COLORS[rgbColorIndex+2]; } const auto blueIndex = y * targetWidth + x; @@ -340,9 +284,9 @@ namespace op } } - inline void renderKeypointsPartAffinityAux(float* framePtr, const PoseModel poseModel, const Point& frameSize, - const float* const heatMapPtr, const Point& heatMapSize, const float scaleToKeepRatio, - const int part, const int partsToRender, const float alphaBlending) + inline void renderPosePAFGpuAux(float* framePtr, const PoseModel poseModel, const Point& frameSize, + const float* const heatMapPtr, const Point& heatMapSize, const float scaleToKeepRatio, + const int part, const int partsToRender, const float alphaBlending) { try { @@ -363,8 +307,8 @@ namespace op } } - void renderPoseGpu(float* framePtr, const PoseModel poseModel, const int numberPeople, const Point& frameSize, const float* const posePtr, - const bool googlyEyes, const bool blendOriginalFrame, const float alphaBlending) + void renderPoseKeypointsGpu(float* framePtr, const PoseModel poseModel, const int numberPeople, const Point& frameSize, + const float* const posePtr, const bool googlyEyes, const bool blendOriginalFrame, const float alphaBlending) { try { @@ -398,8 +342,8 @@ namespace op } } - void renderBodyPartGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, - const Point& heatMapSize, const float scaleToKeepRatio, const int part, const float alphaBlending) + void renderPoseHeatMapGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, + const Point& heatMapSize, const float scaleToKeepRatio, const int part, const float alphaBlending) { try { @@ -422,8 +366,8 @@ namespace op } } - void renderBodyPartsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, - const Point& heatMapSize, const float scaleToKeepRatio, const float alphaBlending) + void renderPoseHeatMapsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, + const Point& heatMapSize, const float scaleToKeepRatio, const float alphaBlending) { try { @@ -446,12 +390,12 @@ namespace op } } - void renderPartAffinityFieldGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, - const Point& heatMapSize, const float scaleToKeepRatio, const int part, const float alphaBlending) + void renderPosePAFGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, + const Point& heatMapSize, const float scaleToKeepRatio, const int part, const float alphaBlending) { try { - renderKeypointsPartAffinityAux(framePtr, poseModel, frameSize, heatMapPtr, heatMapSize, scaleToKeepRatio, part, 1, alphaBlending); + renderPosePAFGpuAux(framePtr, poseModel, frameSize, heatMapPtr, heatMapSize, scaleToKeepRatio, part, 1, alphaBlending); } catch (const std::exception& e) { @@ -459,14 +403,14 @@ namespace op } } - void renderPartAffinityFieldsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, - const Point& heatMapSize, const float scaleToKeepRatio, const float alphaBlending) + void renderPosePAFsGpu(float* framePtr, const PoseModel poseModel, const Point& frameSize, const float* const heatMapPtr, + const Point& heatMapSize, const float scaleToKeepRatio, const float alphaBlending) { try { const auto numberBodyPartPairs = (int)POSE_BODY_PART_PAIRS[(int)poseModel].size()/2; - renderKeypointsPartAffinityAux(framePtr, poseModel, frameSize, heatMapPtr, heatMapSize, scaleToKeepRatio, POSE_NUMBER_BODY_PARTS[(int)poseModel]+1, - numberBodyPartPairs, alphaBlending); + renderPosePAFGpuAux(framePtr, poseModel, frameSize, heatMapPtr, heatMapSize, scaleToKeepRatio, + POSE_NUMBER_BODY_PARTS[(int)poseModel]+1, numberBodyPartPairs, alphaBlending); } catch (const std::exception& e) { diff --git a/src/openpose/producer/defineTemplates.cpp b/src/openpose/producer/defineTemplates.cpp index aa8bf9129b7d1cd1333990fcb33eb9f620af8b11..5f59c6e9c610a47d765dec5a76bc020a0bf3425c 100644 --- a/src/openpose/producer/defineTemplates.cpp +++ b/src/openpose/producer/defineTemplates.cpp @@ -2,6 +2,6 @@ namespace op { - template class DatumProducer; + template class DatumProducer; template class WDatumProducer; } diff --git a/src/openpose/producer/videoReader.cpp b/src/openpose/producer/videoReader.cpp index f643dd790da2ec52af5aee94d7113081970d991d..bd2ea70908a25d96b10748289341ea7407403f6b 100644 --- a/src/openpose/producer/videoReader.cpp +++ b/src/openpose/producer/videoReader.cpp @@ -27,7 +27,7 @@ namespace op { try { - return VideoCaptureReader::getRawFrame(); + return VideoCaptureReader::getRawFrame(); } catch (const std::exception& e) { diff --git a/src/openpose/utilities/keypoint.cpp b/src/openpose/utilities/keypoint.cpp new file mode 100644 index 0000000000000000000000000000000000000000..54aa8f7ad1744219a209e5378062472672bfcea1 --- /dev/null +++ b/src/openpose/utilities/keypoint.cpp @@ -0,0 +1,265 @@ +#include +#include +#include + +namespace op +{ + const std::string errorMessage = "The Array is not a RGB image. This function is only for array of dimension: [sizeA x sizeB x 3]."; + + float getDistance(const float* keypointPtr, const int elementA, const int elementB) + { + try + { + const auto pixelX = keypointPtr[elementA*3] - keypointPtr[elementB*3]; + const auto pixelY = keypointPtr[elementA*3+1] - keypointPtr[elementB*3+1]; + return std::sqrt(pixelX*pixelX+pixelY*pixelY); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return -1.f; + } + } + + void scaleKeypoints(Array& keypoints, const float scale) + { + try + { + scaleKeypoints(keypoints, scale, scale); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY) + { + try + { + if (scaleX != 1. && scaleY != 1.) + { + // Error check + if (!keypoints.empty() && keypoints.getSize(2) != 3) + error(errorMessage, __LINE__, __FUNCTION__, __FILE__); + // Get #people and #parts + const auto numberPeople = keypoints.getSize(0); + const auto numberParts = keypoints.getSize(1); + // For each person + for (auto person = 0 ; person < numberPeople ; person++) + { + // For each body part + for (auto part = 0 ; part < numberParts ; part++) + { + const auto finalIndex = 3*(person*numberParts + part); + keypoints[finalIndex] *= scaleX; + keypoints[finalIndex+1] *= scaleY; + } + } + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void scaleKeypoints(Array& keypoints, const float scaleX, const float scaleY, const float offsetX, const float offsetY) + { + try + { + if (scaleX != 1. && scaleY != 1.) + { + // Error check + if (!keypoints.empty() && keypoints.getSize(2) != 3) + error(errorMessage, __LINE__, __FUNCTION__, __FILE__); + // Get #people and #parts + const auto numberPeople = keypoints.getSize(0); + const auto numberParts = keypoints.getSize(1); + // For each person + for (auto person = 0 ; person < numberPeople ; person++) + { + // For each body part + for (auto part = 0 ; part < numberParts ; part++) + { + const auto finalIndex = keypoints.getSize(2)*(person*numberParts + part); + keypoints[finalIndex] = keypoints[finalIndex] * scaleX + offsetX; + keypoints[finalIndex+1] = keypoints[finalIndex+1] * scaleY + offsetY; + } + } + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + void renderKeypointsCpu(Array& frameArray, const Array& keypoints, const std::vector& pairs, + const std::vector colors, const float thicknessCircleRatio, const float thicknessLineRatioWRTCircle) + { + try + { + if (!frameArray.empty()) + { + // Array --> cv::Mat + auto frame = frameArray.getCvMat(); + + // Security check + if (frame.dims != 3 || frame.size[0] != 3) + error(errorMessage, __LINE__, __FUNCTION__, __FILE__); + + // Get frame channels + const auto width = frame.size[2]; + const auto height = frame.size[1]; + const auto area = width * height; + cv::Mat frameB{height, width, CV_32FC1, &frame.data[0]}; + cv::Mat frameG{height, width, CV_32FC1, &frame.data[area * sizeof(float) / sizeof(uchar)]}; + cv::Mat frameR{height, width, CV_32FC1, &frame.data[2 * area * sizeof(float) / sizeof(uchar)]}; + + // Parameters + const auto lineType = 8; + const auto shift = 0; + const auto threshold = 0.1; + const auto numberColors = colors.size(); + const auto numberBodyParts = keypoints.getSize(1); + const auto areaKeypoints = numberBodyParts * keypoints.getSize(2); + + // Keypoints + for (auto person = 0 ; person < keypoints.getSize(0) ; person++) + { + const auto personRectangle = getKeypointsRectangle(&keypoints[person*areaKeypoints], keypoints.getSize(1), threshold); + const auto ratioAreas = fastMin(1.f, fastMax(personRectangle.width/(float)width, personRectangle.height/(float)height)); + // Size-dependent variables + const auto thicknessCircle = fastMax(intRound(std::sqrt(area)*thicknessCircleRatio * ratioAreas), 2); + const auto thicknessLine = intRound(thicknessCircle * thicknessLineRatioWRTCircle); + const auto radius = thicknessCircle / 2; + + // Draw lines + for (auto pair = 0 ; pair < pairs.size() ; pair+=2) + { + const auto index1 = (person * keypoints.getSize(1) + pairs[pair]) * keypoints.getSize(2); + const auto index2 = (person * keypoints.getSize(1) + pairs[pair+1]) * keypoints.getSize(2); + if (keypoints[index1+2] > threshold && keypoints[index2+2] > threshold) + { + const auto colorIndex = pair/2*3; + const cv::Scalar color{colors[colorIndex % numberColors], + colors[(colorIndex+1) % numberColors], + colors[(colorIndex+2) % numberColors]}; + const cv::Point keypoint1{intRound(keypoints[index1]), intRound(keypoints[index1+1])}; + const cv::Point keypoint2{intRound(keypoints[index2]), intRound(keypoints[index2+1])}; + cv::line(frameR, keypoint1, keypoint2, color[0], thicknessLine, lineType, shift); + cv::line(frameG, keypoint1, keypoint2, color[1], thicknessLine, lineType, shift); + cv::line(frameB, keypoint1, keypoint2, color[2], thicknessLine, lineType, shift); + } + } + + // Draw circles + for (auto part = 0 ; part < keypoints.getSize(1) ; part++) + { + const auto faceIndex = (person * keypoints.getSize(1) + part) * keypoints.getSize(2); + if (keypoints[faceIndex+2] > threshold) + { + const auto colorIndex = part*3; + const cv::Scalar color{colors[colorIndex % numberColors], + colors[(colorIndex+1) % numberColors], + colors[(colorIndex+2) % numberColors]}; + const cv::Point center{intRound(keypoints[faceIndex]), intRound(keypoints[faceIndex+1])}; + cv::circle(frameR, center, radius, color[0], thicknessCircle, lineType, shift); + cv::circle(frameG, center, radius, color[1], thicknessCircle, lineType, shift); + cv::circle(frameB, center, radius, color[2], thicknessCircle, lineType, shift); + } + } + } + } + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + } + } + + Rectangle getKeypointsRectangle(const float* keypointPtr, const int numberBodyParts, const float threshold) + { + try + { + if (numberBodyParts < 1) + error("Number body parts must be > 0", __LINE__, __FUNCTION__, __FILE__); + + unsigned int minX = -1; + unsigned int maxX = 0u; + unsigned int minY = -1; + unsigned int maxY = 0u; + for (auto part = 0 ; part < numberBodyParts ; part++) + { + const auto score = keypointPtr[3*part + 2]; + if (score > threshold) + { + const auto x = keypointPtr[3*part]; + const auto y = keypointPtr[3*part + 1]; + // Set X + if (maxX < x) + maxX = x; + if (minX > x) + minX = x; + // Set Y + if (maxY < y) + maxY = y; + if (minY > y) + minY = y; + } + } + return Rectangle{minX, minY, maxX-minX, maxY-minY}; + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return Rectangle{}; + } + } + + int getKeypointsArea(const float* keypointPtr, const int numberBodyParts, const float threshold) + { + try + { + return getKeypointsRectangle(keypointPtr, numberBodyParts, threshold).area(); + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return 0; + } + } + + int getBiggestPerson(const Array& keypoints, const float threshold) + { + try + { + if (!keypoints.empty()) + { + const auto numberPeople = keypoints.getSize(0); + const auto numberBodyParts = keypoints.getSize(1); + const auto area = numberBodyParts * keypoints.getSize(2); + auto biggestPoseIndex = -1; + auto biggestArea = -1; + for (auto person = 0 ; person < numberPeople ; person++) + { + const auto newPersonArea = getKeypointsArea(&keypoints[person*area], numberBodyParts, threshold); + if (newPersonArea > biggestArea) + { + biggestArea = newPersonArea; + biggestPoseIndex = person; + } + } + return biggestPoseIndex; + } + else + return -1; + } + catch (const std::exception& e) + { + error(e.what(), __LINE__, __FUNCTION__, __FILE__); + return -1; + } + } +} diff --git a/src/openpose/wrapper/wrapperStructFace.cpp b/src/openpose/wrapper/wrapperStructFace.cpp index 86061a15d410250d65240eda925d5a2d17e891bb..9b96019318ff8314eb545ed2b23c089426c0f5d8 100644 --- a/src/openpose/wrapper/wrapperStructFace.cpp +++ b/src/openpose/wrapper/wrapperStructFace.cpp @@ -2,11 +2,11 @@ namespace op { - WrapperStructFace::WrapperStructFace(const bool enable_, const Point& netInputSize_, const bool renderOutput_, const float alphaKeypoint_, - const float alphaHeatMap_) : + WrapperStructFace::WrapperStructFace(const bool enable_, const Point& netInputSize_, const RenderMode renderMode_, + const float alphaKeypoint_, const float alphaHeatMap_) : enable{enable_}, netInputSize{netInputSize_}, - renderOutput{renderOutput_}, + renderMode{renderMode_}, alphaKeypoint{alphaKeypoint_}, alphaHeatMap{alphaHeatMap_} { diff --git a/src/openpose/wrapper/wrapperStructPose.cpp b/src/openpose/wrapper/wrapperStructPose.cpp index 5d1a3b0e124a233e99b66085727f8a5e2f7c348f..6addd11302ff9f88fc79a0a8694594f8c9e6dc10 100644 --- a/src/openpose/wrapper/wrapperStructPose.cpp +++ b/src/openpose/wrapper/wrapperStructPose.cpp @@ -3,7 +3,7 @@ namespace op { WrapperStructPose::WrapperStructPose(const Point& netInputSize_, const Point& outputSize_, const ScaleMode keypointScale_, const int gpuNumber_, - const int gpuNumberStart_, const int scalesNumber_, const float scaleGap_, const bool renderOutput_, + const int gpuNumberStart_, const int scalesNumber_, const float scaleGap_, const RenderMode renderMode_, const PoseModel poseModel_, const bool blendOriginalFrame_, const float alphaKeypoint_, const float alphaHeatMap_, const int defaultPartToRender_, const std::string& modelFolder_, const std::vector& heatMapTypes_, const ScaleMode heatMapScale_) : @@ -14,7 +14,7 @@ namespace op gpuNumberStart{gpuNumberStart_}, scalesNumber{scalesNumber_}, scaleGap{scaleGap_}, - renderOutput{renderOutput_}, + renderMode{renderMode_}, poseModel{poseModel_}, blendOriginalFrame{blendOriginalFrame_}, alphaKeypoint{alphaKeypoint_},