Going through documentation again, and ensuring that documentation is accurate and up to date
1253 lines
158 KiB
XML
1253 lines
158 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<XMI xmlns:UML="http://schema.omg.org/spec/UML/1.4" xmi.version="1.2" timestamp="2023-03-14T09:59:58" verified="false">
|
|
<XMI.header>
|
|
<XMI.documentation>
|
|
<XMI.exporter>umbrello uml modeller 2.32.2 http://umbrello.kde.org</XMI.exporter>
|
|
<XMI.exporterVersion>1.6.19</XMI.exporterVersion>
|
|
<XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
|
|
</XMI.documentation>
|
|
<XMI.metamodel xmi.version="1.4" href="UML.xml" xmi.name="UML"/>
|
|
</XMI.header>
|
|
<XMI.content>
|
|
<UML:Model isAbstract="false" isRoot="false" isSpecification="false" name="UML Model" isLeaf="false" xmi.id="m1">
|
|
<UML:Namespace.ownedElement>
|
|
<UML:Stereotype isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="folder" isLeaf="false" xmi.id="folder"/>
|
|
<UML:Stereotype isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="enum" isLeaf="false" xmi.id="enum"/>
|
|
<UML:Model isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="Logical View" isLeaf="false" xmi.id="Logical_View">
|
|
<UML:Namespace.ownedElement>
|
|
<UML:Package isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" stereotype="folder" isSpecification="false" name="Datatypes" isLeaf="false" xmi.id="Datatypes">
|
|
<UML:Namespace.ownedElement>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="char" isLeaf="false" xmi.id="uDoWSpaQhZYMj"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="int" isLeaf="false" xmi.id="u6dG093IE5KRR"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="float" isLeaf="false" xmi.id="uCO3HE6xCfnkW"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="double" isLeaf="false" xmi.id="uCrL5Q2hyX5sQ"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="bool" isLeaf="false" xmi.id="ufLcoOmblD5xA"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="string" isLeaf="false" xmi.id="uC91Z5I6GvBha"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="unsigned char" isLeaf="false" xmi.id="upfnNUZyNFmjz"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="signed char" isLeaf="false" xmi.id="ugNO2pJM1hFz7"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="unsigned int" isLeaf="false" xmi.id="uKCE2OEBE2Raz"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="signed int" isLeaf="false" xmi.id="uzJVMVJLwomgo"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="short int" isLeaf="false" xmi.id="uONsxKyOkUqSG"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="unsigned short int" isLeaf="false" xmi.id="ufjpqsbculg16"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="signed short int" isLeaf="false" xmi.id="uByu3v8UDLNuV"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="long int" isLeaf="false" xmi.id="u6DR57G26MnPK"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="signed long int" isLeaf="false" xmi.id="uwGdEGKab0jTL"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="unsigned long int" isLeaf="false" xmi.id="uFMaK6PVQ2sTp"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="long double" isLeaf="false" xmi.id="u12LSDcvfbGFa"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" isActive="false" name="wchar_t" isLeaf="false" xmi.id="uXdpgpHjS8pIQ"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="boolean" isLeaf="false" xmi.id="uUFR10GCed46Q"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="byte" isLeaf="false" xmi.id="udTQ2y9M1GLg9"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="short" isLeaf="false" xmi.id="usyIvFLIaNduc"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="long" isLeaf="false" xmi.id="uRiiCWnAy5RVe"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="String" isLeaf="false" xmi.id="uMYRTkE3rxR2B"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Integer" isLeaf="false" xmi.id="uDhbC7HamBUXf"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Character" isLeaf="false" xmi.id="uUBHYF2VTs95m"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Boolean" isLeaf="false" xmi.id="umD3Y5YgpHTL5"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Float" isLeaf="false" xmi.id="uEXdFpDPOdfpV"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Double" isLeaf="false" xmi.id="uQwhrzourTSFc"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Byte" isLeaf="false" xmi.id="uMX44yrUJSq2Z"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Short" isLeaf="false" xmi.id="ujXLj0TVNtFs1"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Long" isLeaf="false" xmi.id="uppdevdmKoAeT"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="StringBuffer" isLeaf="false" xmi.id="uN4zCdvj7rsZz"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="StringBuilder" isLeaf="false" xmi.id="uBwekzeWX8icG"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="java.util.concurrent.locks.Lock" isSpecification="false" name="Lock" isLeaf="false" xmi.id="u8ik9hKNzgKcH"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Scanner" isLeaf="false" xmi.id="uyTBx9P7f4VjF"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder" isSpecification="false" name="FileBasedConfigurationBuilder" isLeaf="false" xmi.id="u53NpBDIiJKLh"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.apache.commons.configuration2.INIConfiguration" isSpecification="false" name="INIConfiguration" isLeaf="false" xmi.id="ue50uK6Axr5uJ"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.apache.poi.hssf.usermodel.HSSFCellStyle" isSpecification="false" name="HSSFCellStyle" isLeaf="false" xmi.id="u1Ano2L3MNqB9"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.apache.poi.hssf.usermodel.HSSFSheet" isSpecification="false" name="HSSFSheet" isLeaf="false" xmi.id="unYkf3XdlbOvG"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.apache.poi.hssf.usermodel.HSSFWorkbook" isSpecification="false" name="HSSFWorkbook" isLeaf="false" xmi.id="uCN5vhsamIMZS"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="DateTimeFormatter" isLeaf="false" xmi.id="u3iolu1KBaeLC"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="BufferedWriter" isLeaf="false" xmi.id="uI35GxgSf15Ke"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="PrintWriter" isLeaf="false" xmi.id="uBH80PyFvNP0W"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="FileWriter" isLeaf="false" xmi.id="uBxtki3mYxNXH"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="com.pi4j.io.gpio.digital.DigitalInput
" isSpecification="false" name="DigitalInput" isLeaf="false" xmi.id="um5BRQatdPbwa"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="com.pi4j.io.gpio.digital.DigitalOutput" isSpecification="false" name="DigitalOutput" isLeaf="false" xmi.id="u21ZDyvoF16O4"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="com.pi4j.context.Context

Used for creating DigitalInput and DigitalOutput objects." isSpecification="false" name="Context" isLeaf="false" xmi.id="uQwi67sMHYYH8"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Thread" isLeaf="false" xmi.id="unl1k1K0LtpWx"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.bytedeco.javacv.FrameGrabber

OpenCV Camera object" isSpecification="false" name="FrameGrabber" isLeaf="false" xmi.id="uOY0ocupt3vUN"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Map" isLeaf="false" xmi.id="usELT5EPkFTAY"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="List" isLeaf="false" xmi.id="uF3615aHJR1V4"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.bytedeco.opencv.opencv_core.Mat

Image, stored in an OpenCV matrix" isSpecification="false" name="Mat" isLeaf="false" xmi.id="uTFuxlA0IbjaA"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="File" isLeaf="false" xmi.id="uLtWoZg2r6vK5"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.bytedeco.tesseract.TessBaseAPI

API object type for interacting with Tesseract" isSpecification="false" name="TessBaseAPI" isLeaf="false" xmi.id="uM9KJKNeM6Kog"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" comment="org.bytedeco.javacv.OpenCVFrameConverter.ToMat" isSpecification="false" name="OpenCVFrameConverter " isLeaf="false" xmi.id="uBAEhogVaCinW"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Rect" isLeaf="false" xmi.id="uVfGuVVTLsk6z"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Set" isLeaf="false" xmi.id="u3L4GKc1rVusd"/>
|
|
<UML:DataType isRoot="false" isAbstract="false" namespace="Datatypes" visibility="public" isSpecification="false" name="Throwable" isLeaf="false" xmi.id="uDuQErHgUBVcM"/>
|
|
</UML:Namespace.ownedElement>
|
|
</UML:Package>
|
|
<UML:Enumeration isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" stereotype="enum" isSpecification="false" name="ConfigProperties" isLeaf="false" xmi.id="uWQfGitACJCjJ">
|
|
<UML:Enumeration.literal>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Whether a camera should be used when running tests." value="("Camera active","active",1.0)" isSpecification="false" name="ACTIVE" isLeaf="false" xmi.id="uvn8JayutLubu"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Homw many frames to composite together while processing this camera's image." value="("Composite frame count",compositeCount",5.0)" isSpecification="false" name="COMPOSITE_FRAMES" isLeaf="false" xmi.id="u73SthAH5zOdg"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Whether or not to crop the image during processing." value="("Toggle crop","crop",1.0)" isSpecification="false" name="CROP" isLeaf="false" xmi.id="uf89LbU8P2tU9"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Height of the newly cropped image" value="("Crop Height","cropH",50.0)" isSpecification="false" name="CROP_H" isLeaf="false" xmi.id="ucE3ge21K40yx"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Width of the newly cropped image." value="("Crop Width","cropW",80.0)" isSpecification="false" name="CROP_W" isLeaf="false" xmi.id="ujmy3pgeQ26Qi"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="X coordinate of the top-left corner of the newly cropped image" value="("Crop X","cropX",275.0)" isSpecification="false" name="CROP_X" isLeaf="false" xmi.id="umY8MrEM1VFve"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Y coordinate of the top-left corner of the newly cropped image." value="("Crop Y","cropY",205.0)" isSpecification="false" name="CROP_Y" isLeaf="false" xmi.id="uDmhLJC7JhotK"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Whether or not to press the button on the device twice when under test." value="("Prime device","prime",0.0)" isSpecification="false" name="PRIME" isLeaf="false" xmi.id="uRWCAbjEUsefQ"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Whether or not to threshold the image during processing." value="("Toggle Threshold","threshold",1.0)" isSpecification="false" name="THRESHOLD" isLeaf="false" xmi.id="uiMqHtn48FYKm"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uWQfGitACJCjJ" visibility="public" comment="Where the threshold point should land." value="("Threshold value","thresholdValue",45.0)" isSpecification="false" name="THRESHOLD_VALUE" isLeaf="false" xmi.id="ukyBP0PULsi35"/>
|
|
</UML:Enumeration.literal>
|
|
</UML:Enumeration>
|
|
<UML:Enumeration isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" comment="Final state of any one movement." stereotype="enum" isSpecification="false" name="MovementFacade.FinalState" isLeaf="false" xmi.id="uhoYk9h6KpMug">
|
|
<UML:Enumeration.literal>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uhoYk9h6KpMug" visibility="public" isSpecification="false" name="FAILED" isLeaf="false" xmi.id="unJPOlWUL5Dmv"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uhoYk9h6KpMug" visibility="public" isSpecification="false" name="SAFE" isLeaf="false" xmi.id="ulhOoUKvgvVVe"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uhoYk9h6KpMug" visibility="public" isSpecification="false" name="UNSAFE" isLeaf="false" xmi.id="u5jKNi1695At9"/>
|
|
</UML:Enumeration.literal>
|
|
</UML:Enumeration>
|
|
<UML:Enumeration isRoot="false" isAbstract="false" namespace="Logical_View" visibility="private" stereotype="enum" isSpecification="false" name="Cli.Menus" isLeaf="false" xmi.id="uX8xl8SknIiop">
|
|
<UML:Enumeration.literal>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uX8xl8SknIiop" visibility="public" isSpecification="false" name="CAMERA" isLeaf="false" xmi.id="uXEgtMa6ojh5v"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uX8xl8SknIiop" visibility="public" isSpecification="false" name="MAIN" isLeaf="false" xmi.id="uumycodD0FI2b"/>
|
|
<UML:EnumerationLiteral isRoot="false" isAbstract="false" namespace="uX8xl8SknIiop" visibility="public" isSpecification="false" name="OTHER" isLeaf="false" xmi.id="uykUAZaKuvRtj"/>
|
|
</UML:Enumeration.literal>
|
|
</UML:Enumeration>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="TesseractFacade" isLeaf="false" xmi.id="uszTbwciTSOHV">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="API object for Tesseract. Initialised using OCR_ENGINE_MODE, OCR_LANGUAGE, and OCR_LANGUAGE_LOCATION" type="uM9KJKNeM6Kog" isSpecification="false" ownerScope="classifier" name="api" xmi.id="uMd0VTCwpENXT"/>
|
|
<UML:Attribute visibility="private" comment="OCR engine mode. 

From https://ai-facets.org/tesseract-ocr-best-practices/: 
0: Legacy engine only 
1: Neural nets Long Short-Term Memory (LSTM) engine only. This form of neural network has feedback, as well as feedforward within the design, allowing the neural network to learn from itself. 
2: Legacy + LSTM engines 
3: Default, based on what is available 

As I didn't write the training data, and don't actually know what kind of network the training set requires, this value is set to default." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="OCR_ENGINE_MODE" initialValue="3" xmi.id="uUWwF5fgtv9QG"/>
|
|
<UML:Attribute visibility="private" comment="OCR language name (if available by default), or training data filename." type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="OCR_LANGUAGE" initialValue=""Pro6_temp_test"" xmi.id="uZhvZ4Q9CC10o"/>
|
|
<UML:Attribute visibility="private" comment="Location on the file system that the OCR languages are stored. This value requires that the folder "tessdata" be in the same location as your current working directory." type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="OCR_LANGUAGE_LOCATION" initialValue=""tessdata"" xmi.id="u0Q4w9Mkq75IR"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Converts an image file to a double." isSpecification="false" ownerScope="classifier" name="imageToDouble" isLeaf="false" isInline="false" xmi.id="uZ4qzz259Z3S3" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uCrL5Q2hyX5sQ" xmi.id="udXXVGkwYQRZR"/>
|
|
<UML:Parameter visibility="private" comment="File containing the image to be parsed." value="" type="uLtWoZg2r6vK5" isSpecification="false" name="file" xmi.id="umHhjQ5kMcwOQ"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" comment="Facade for the OpenCV package. Performs image capture as well as rudamentary image manipulation." isSpecification="false" name="OpenCVFacade" isLeaf="false" xmi.id="uxutGWImUrqt7">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="FourCC code of the image generated by the camera being communicated with.

The camera currently in use (Arducam 8MP Sony IMX219, SKU B0196) does not support UVC codec declaration, but this is required for OpenCV to function properly." type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="CAMERA_CODEC" initialValue=""mjpg"" xmi.id="usQIEDGKPGhT9"/>
|
|
<UML:Attribute visibility="private" comment="Name of custom-created symlink for all cameras.

This configuration must be done manually on initial install." type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="CAMERA_FILE_PREFIX" initialValue=""video-cam-"" xmi.id="uT50OpN6jOap5"/>
|
|
<UML:Attribute visibility="private" comment="Storage of all cameras.

Key: String (camera name)
Value: FrameGrabber (camera object)" type="usELT5EPkFTAY" isSpecification="false" ownerScope="classifier" name="cameraMap" xmi.id="uCsd18DlWrWRF"/>
|
|
<UML:Attribute visibility="private" comment="Height of the image created by the camera.

The camera currently in use (Arducam 8MP Sony IMX219, SKU B0196) does not support UVC codec declaration, but this is required for OpenCV to function properly." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="IMG_HEIGHT" initialValue="600" xmi.id="u6cDpzouIuCbE"/>
|
|
<UML:Attribute visibility="private" comment="Width of the image created by the camera.

The camera currently in use (Arducam 8MP Sony IMX219, SKU B0196) does not support UVC codec declaration, but this is required for OpenCV to function properly." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="IMG_WIDTH" initialValue="800" xmi.id="uwNi7W5uRzqkt"/>
|
|
<UML:Attribute visibility="private" comment="Object used to convert between Mats, Frames, and IplImages. (This is currently only in use for saving to a file)." type="uBAEhogVaCinW" isSpecification="false" name="MAT_CONVERTER" xmi.id="ucOvTSRQwQ2kr"/>
|
|
<UML:Attribute visibility="private" type="ug4xpByAYlb4g" isSpecification="false" name="new_attribute" xmi.id="uOMz2SVLu1Ltn"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Process an image from the defined camera, using config defaults, and saving to [defaultImageLocation]/config/" isSpecification="false" ownerScope="classifier" name="completeProcess" isLeaf="false" isInline="false" xmi.id="uPf65fmeKYRyL" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uLtWoZg2r6vK5" xmi.id="uQuU38Dl5N11o"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to start processing." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uR7jYl3RaxL2R"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Processes image from the given camera, using the config values." isSpecification="false" ownerScope="classifier" name="completeProcess" isLeaf="false" isInline="false" xmi.id="uN5CzQSYAnEuI" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uLtWoZg2r6vK5" xmi.id="u126wTnwMbCWG"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to take a picture from." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uMwpP9q2T4wYn"/>
|
|
<UML:Parameter visibility="private" comment="Whether to crop the image" value="" type="uUFR10GCed46Q" isSpecification="false" name="crop" xmi.id="u1ND4CK4bXJtI"/>
|
|
<UML:Parameter visibility="private" comment="Whether to threshold the image" value="" type="uUFR10GCed46Q" isSpecification="false" name="threshold" xmi.id="uRBQMxLH8OVnD"/>
|
|
<UML:Parameter visibility="private" comment="Number of frames to composite together" value="" type="u6dG093IE5KRR" isSpecification="false" name="compositeFrames" xmi.id="u1Fh7xxnyMDrY"/>
|
|
<UML:Parameter visibility="private" comment="Name of the outgoing file" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="saveLocation" xmi.id="umNZq1QFVx6im"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Process image from defined camera, using config defaults. Saves to a defined location. Assumes you want to both crop and threshold." isSpecification="false" ownerScope="classifier" name="completeProcess" isLeaf="false" isInline="false" xmi.id="uC99YehW24GIL" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uLtWoZg2r6vK5" xmi.id="uzGpnpa2Z76mf"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to take a picture from." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="ukxbjrIFPdlty"/>
|
|
<UML:Parameter visibility="private" comment="Name of the outgoing file" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="saveLocation" xmi.id="uqfsVlt6I02au"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Compose several images together.
Crops and thresholds image dependent upon boolean toggles." isSpecification="false" ownerScope="classifier" name="compose" isLeaf="false" isInline="false" xmi.id="uDDmEZMsSRNys" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="uAIUXP3ia1zFg"/>
|
|
<UML:Parameter visibility="private" comment="List<Mat> of images" value="" type="uF3615aHJR1V4" isSpecification="false" name="images" xmi.id="u0ORvqMC53t2d"/>
|
|
<UML:Parameter visibility="private" comment="Whether to put the image through a binary threshold" value="" type="uUFR10GCed46Q" isSpecification="false" name="threshold" xmi.id="uAXF0IcZB524V"/>
|
|
<UML:Parameter visibility="private" comment="Whether to crop the image" value="" type="uUFR10GCed46Q" isSpecification="false" name="crop" xmi.id="ulCCd0HNjjmPf"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera the images came from (used to determine crop sizing and threshold value)" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uhHv5Mw6l2Qh9"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Crop a given image, based on dimensions in the configuration." isSpecification="false" ownerScope="classifier" name="crop" isLeaf="false" isInline="false" xmi.id="ucT7DSSA4bprm" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="uDIMYYQx1eQwO"/>
|
|
<UML:Parameter visibility="private" comment="image taken from the camera" value="" type="uTFuxlA0IbjaA" isSpecification="false" name="image" xmi.id="uVkJdNCzCj4Th"/>
|
|
<UML:Parameter visibility="private" comment="name of the camera the image is from" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uPy29ybzmwI8g"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Crop the given image, based on dimentions defined in a Rect" isSpecification="false" ownerScope="classifier" name="crop" isLeaf="false" isInline="false" xmi.id="uwUQqQE7Opx6e" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="uoEUaUEejKtUE"/>
|
|
<UML:Parameter visibility="private" comment="Image taken from the camera" value="" type="uTFuxlA0IbjaA" isSpecification="false" name="image" xmi.id="urC5MOrqjl0om"/>
|
|
<UML:Parameter visibility="private" comment="The region of interest to crop the image to" value="" type="uVfGuVVTLsk6z" isSpecification="false" name="roi" xmi.id="unFlHvwWKrTF3"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Getter for all camera names.
Returns a Set<String>" isSpecification="false" ownerScope="classifier" name="getCameraNames" isLeaf="false" isInline="false" xmi.id="u62sIIBKT4rQR" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="u3L4GKc1rVusd" xmi.id="uKdeYXMqbGjQk"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Default camera creator function. Creates a camera, and adds it to the cameraMap. Uses values in constants." isSpecification="false" ownerScope="classifier" name="newCamera" isLeaf="false" isInline="false" xmi.id="u7dL91xr3ZtpB" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="name of the new camera" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="name" xmi.id="uDnb6QHMSSPtU"/>
|
|
<UML:Parameter visibility="private" comment="Location of the camera's reference file 

ex. "/dev/video-cam-left"" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="location" xmi.id="usHHETqhd8Wwk"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Camera creation function, with custom width, height, and codec. Creates the camera as defined, and adds it to cameraMap." isSpecification="false" ownerScope="classifier" name="newCamera" isLeaf="false" isInline="false" xmi.id="uX2PuJKNHcwqe" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="Name of the new camera" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="name" xmi.id="udmTjZ2q2Cv2z"/>
|
|
<UML:Parameter visibility="private" comment="Location of the camera's reference file

ex. "/dev/video-cam-left"" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="location" xmi.id="uwWjTXEyCp5Sy"/>
|
|
<UML:Parameter visibility="private" comment="Width of the camera's image, in pixels" value="" type="u6dG093IE5KRR" isSpecification="false" name="width" xmi.id="uypKW6wHGah1h"/>
|
|
<UML:Parameter visibility="private" comment="Height of the camera's image, in pixels" value="" type="u6dG093IE5KRR" isSpecification="false" name="height" xmi.id="ufb393jjo1gVk"/>
|
|
<UML:Parameter visibility="private" comment="Codec the camera's stream is encoded in." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="codec" xmi.id="uQgwbclt9sIJV"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Save input image at the location given" isSpecification="false" ownerScope="classifier" name="saveImage" isLeaf="false" isInline="false" xmi.id="uc06GU5TBKCOt" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uLtWoZg2r6vK5" xmi.id="uM4Rm1KuzT6Ka"/>
|
|
<UML:Parameter visibility="private" comment="Image to be saved" value="" type="uTFuxlA0IbjaA" isSpecification="false" name="image" xmi.id="uYW3QvXbdhgnr"/>
|
|
<UML:Parameter visibility="private" comment="Where to save the image" value="" type="uAwVIyVVNjSlp" isSpecification="false" name="fileLocation" xmi.id="ujKDeTmACNjnb"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera the image came from." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="up5JIVVsnNiEo"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Set the crop size and location by way of a pop-up window." isSpecification="false" ownerScope="classifier" name="setCrop" isLeaf="false" isInline="false" xmi.id="u01Gb7GncAwwu" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="The name of the camera being configured." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uF6ZQgcA7Nbkf"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Show current processed image to the CLI user." isSpecification="false" ownerScope="classifier" name="showImage" isLeaf="false" isInline="false" xmi.id="uSEB1V0eCxOVI" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uLtWoZg2r6vK5" xmi.id="uTHVVfaCWgsOD"/>
|
|
<UML:Parameter visibility="private" comment="The name of the camera being previewed." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uKWB5D84on7rM"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Take multiple pictures in quick succession." isSpecification="false" name="takeBurst" isLeaf="false" isInline="false" xmi.id="uXqgLkMJUXyG9" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uF3615aHJR1V4" xmi.id="u3bkQlGIFizpz"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to take a picture with" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uiwK5jPtrdKCx"/>
|
|
<UML:Parameter visibility="private" comment="Number of images to take" value="" type="u6dG093IE5KRR" isSpecification="false" name="frameCount" xmi.id="uuXVAJmIR1Ggc"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Wrapper function for native "take picture" function. Image is immediately converted to greyscale to improve RAM footprint." isSpecification="false" name="takePicture" isLeaf="false" isInline="false" xmi.id="u36iwSk1gAsEL" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="uIYN4pIvHp2Fw"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to take a picture with." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uiAjgs8P56QsS"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Put the given image throug ha binary threshold. This reduces the image from greyscale to only pure black and white pixels. 

Uses config values for theshold point." isSpecification="false" ownerScope="classifier" name="thresholdImage" isLeaf="false" isInline="false" xmi.id="uurFGK0TAq7zx" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="uq3K7NPa5PffY"/>
|
|
<UML:Parameter visibility="private" comment="Image taken from the camera" value="" type="uTFuxlA0IbjaA" isSpecification="false" name="image" xmi.id="uE6jLBtja2cZI"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera the image came from" value="" type="uAwVIyVVNjSlp" isSpecification="false" name="cameraName" xmi.id="u3zbFvmc614rj"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Put the given image through a binary threshold, using the given threshold value." isSpecification="false" ownerScope="classifier" name="thresholdImage" isLeaf="false" isInline="false" xmi.id="uekZfs8wb856g" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uTFuxlA0IbjaA" xmi.id="ugvtWT8GZtUUu"/>
|
|
<UML:Parameter visibility="private" comment="Image to threshold" value="" type="uTFuxlA0IbjaA" isSpecification="false" name="image" xmi.id="unEzui9kYbZV7"/>
|
|
<UML:Parameter visibility="private" comment="Middle of the binary threshold.

Acceptable values are between 0 and 255.

Any pixels with a brightness above this value will be made 255 (white).
Any pixels with a brightness below this value will be made 0 (black)." value="" type="uCrL5Q2hyX5sQ" isSpecification="false" name="thresholdValue" xmi.id="uN78KesBdRIZZ"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="OpenCVFrameConverter" isLeaf="false" xmi.id="uowtOePSx4RnM"/>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="ErrorLogging" isLeaf="false" xmi.id="uaq5wFieCACsK">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="Object used for buffering file write functions, for improved efficiency." type="uI35GxgSf15Ke" isSpecification="false" ownerScope="classifier" name="bw" xmi.id="u6zsQtVXJeK9I"/>
|
|
<UML:Attribute visibility="private" comment="Object used to format the UNIX timestamps in log files into standard ISO format." type="u3iolu1KBaeLC" isSpecification="false" ownerScope="classifier" name="dateTime" xmi.id="uWQEWtZl7G4tJ"/>
|
|
<UML:Attribute visibility="public" comment="Object used to format UNIX timestamps into a readable, filesystem-safe values." type="u3iolu1KBaeLC" isSpecification="false" ownerScope="classifier" name="fileDatetime" xmi.id="umTPGzsTewAMH"/>
|
|
<UML:Attribute visibility="private" comment="Object called to write to the log file." type="uBH80PyFvNP0W" isSpecification="false" ownerScope="classifier" name="fileOut" xmi.id="uPCAY3ou1J05g"/>
|
|
<UML:Attribute visibility="private" comment="Object used to write streams of characters to the file." type="uBxtki3mYxNXH" isSpecification="false" ownerScope="classifier" name="fw" xmi.id="uwq5HGOI8zXHp"/>
|
|
<UML:Attribute visibility="private" comment="Name of the location for the logfile." type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="logFile" xmi.id="umM0MefO6Nslx"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Logs thrown error, including stack trace if available." isSpecification="false" ownerScope="classifier" name="logError" isLeaf="false" isInline="false" xmi.id="ubbXibbgDeWRE" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="Error to be logged, including stack trace if available." value="" type="uDuQErHgUBVcM" isSpecification="false" name="error" xmi.id="uBSFjgYjCcXlx"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Logs data manually defined by developer." isSpecification="false" ownerScope="classifier" name="logError" isLeaf="false" isInline="false" xmi.id="uQk2yP91hB32b" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="Any data that the developer wishes to be logged." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="error" xmi.id="uUpFwPvmqQ5Un"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Closes all open logs." isSpecification="false" ownerScope="classifier" name="closeLogs" isLeaf="false" isInline="false" xmi.id="uHA8XrxTWFz1A" isOverride="false"/>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="String " isLeaf="false" xmi.id="uAwVIyVVNjSlp"/>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="MovementFacade" isLeaf="false" xmi.id="uiXctorvzHidz">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="Raspberry Pi GPIO address for the lower limit switch. " type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="LOWER_LIMIT_ADDR" initialValue="24" xmi.id="urq8f5SKTIpyb"/>
|
|
<UML:Attribute visibility="private" comment="Output pin address for motor direction control." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="MOTOR_DIRECTION_ADDR" initialValue="27" xmi.id="uRFPkG1OcyQzH"/>
|
|
<UML:Attribute visibility="private" comment="Output pin address for motor power control." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="MOTOR_ENABLE_ADDR" initialValue="22" xmi.id="uXafv7Bqv1vlj"/>
|
|
<UML:Attribute visibility="private" comment="Output pin address for piston control." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="PISTON_ADDR" initialValue="25" xmi.id="u5pOlwHMbAkbC"/>
|
|
<UML:Attribute visibility="private" comment="Input pin address for the run switch." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="RUN_SWITCH_ADDR" initialValue="10" xmi.id="uHBe39GldXDOi"/>
|
|
<UML:Attribute visibility="private" comment="Input pin address for the upper limit switch." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="UPPER_LIMIT_ADDR" initialValue="23" xmi.id="u8J4qyzhXYsg3"/>
|
|
<UML:Attribute visibility="private" comment="Lower limit switch object.
Active-high." type="um5BRQatdPbwa" isSpecification="false" ownerScope="classifier" name="lowerLimit" xmi.id="umpKaM853vbob"/>
|
|
<UML:Attribute visibility="private" comment="Upper limit switch object.
Active-high." type="um5BRQatdPbwa" isSpecification="false" ownerScope="classifier" name="upperLimit" xmi.id="utwJCIWg03ZAz"/>
|
|
<UML:Attribute visibility="private" comment="Run switch object. Active-low." type="um5BRQatdPbwa" isSpecification="false" ownerScope="classifier" name="runSwitch" xmi.id="uyM1wKLI2qKzr"/>
|
|
<UML:Attribute visibility="private" comment="Motor enable object. Active-high." type="u21ZDyvoF16O4" isSpecification="false" ownerScope="classifier" name="motorEnable" xmi.id="uscGkGT6pA18U"/>
|
|
<UML:Attribute visibility="private" comment="Motor direction GPIO pin object.

High drives the motor upwards, low drives the motor downwards." type="u21ZDyvoF16O4" isSpecification="false" ownerScope="classifier" name="motorDirection" xmi.id="uhGnDpzud0eKy"/>
|
|
<UML:Attribute visibility="private" comment="Piston control GPIO pin object. 

High extends the piston, low retracts the piston." type="u21ZDyvoF16O4" isSpecification="false" ownerScope="classifier" name="pistonActivate" xmi.id="uhGqwGvjvNDrF"/>
|
|
<UML:Attribute visibility="private" comment="Pi4J API interaction object. Used to initialise DigitalInput and DigitalOutput objects, closed on exit." type="uQwi67sMHYYH8" isSpecification="false" ownerScope="classifier" name="pi4j" xmi.id="uwLa88M9lPXpz"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="DigitalInput builder function" isSpecification="false" ownerScope="classifier" name="inputBuilder" isLeaf="false" isInline="false" xmi.id="uJW8yFYg3muFK" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="um5BRQatdPbwa" xmi.id="uHYadjLJgEFgX"/>
|
|
<UML:Parameter visibility="private" comment="BCM-formatted GPIO address" value="" type="u6dG093IE5KRR" isSpecification="false" name="address" xmi.id="uvMQviEQZo2Eo"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="DigitalOutput builder function." isSpecification="false" ownerScope="classifier" name="outputBuilder" isLeaf="false" isInline="false" xmi.id="uee8kI2xnR8SV" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="u21ZDyvoF16O4" xmi.id="uQsTrKvIgAcA1"/>
|
|
<UML:Parameter visibility="private" comment="BCM-formatted GPIO pin address" value="" type="u6dG093IE5KRR" isSpecification="false" name="address" xmi.id="uRSxQiYkpY2WT"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Function used to locate the fixture's motor. Always sends the motor back to the top limit switch, and counts the number of polls it takes to get there." isSpecification="false" ownerScope="classifier" name="resetArm" isLeaf="false" isInline="false" xmi.id="uxvjOWjAixlgp" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="u6dG093IE5KRR" xmi.id="uwVffPf9Ww8iS"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Used to programmatically measure the distance between the upper and lower limit switches, in polls. This is done at initialisation to ensure safe travel with gotoLimit, goDown and goUp" isSpecification="false" ownerScope="classifier" name="findDistance" isLeaf="false" isInline="false" xmi.id="uVMQYGF8r6f7y" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Sends the fixture to a given limit switch. Detects if the limit switch is active before activating the motor." isSpecification="false" ownerScope="classifier" name="gotoLimit" isLeaf="false" isInline="false" xmi.id="uqtEpHdA20MJO" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="Whether to send the fixture up or down." value="" type="uUFR10GCed46Q" isSpecification="false" name="moveUp" xmi.id="uPu78CyGxcxSD"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Sends the fixture to the lower limit switch." isSpecification="false" ownerScope="classifier" name="goDown" isLeaf="false" isInline="false" xmi.id="uG2ml0g1zFd1n" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Send the fixture to the upper limit switch." isSpecification="false" ownerScope="classifier" name="goUp" isLeaf="false" isInline="false" xmi.id="uwCf3NOOs6bOI" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Extends the piston for 1 second, pushing the button on the DUT." isSpecification="false" ownerScope="classifier" name="pressButton" isLeaf="false" isInline="false" xmi.id="u8UPYdPVsfJ9L" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Function to move the fixture once for an iteration." isSpecification="false" name="iterationMovement" isLeaf="false" isInline="false" xmi.id="uKhEpTnM8aYgW" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="Whether or not to wake up the DUT at the upswing of the fixture." value="" type="uUFR10GCed46Q" isSpecification="false" name="prime" xmi.id="uZ2ov7YVrMOcR"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Closes connections to GPIO pins, cleanly." isSpecification="false" ownerScope="classifier" name="closeGPIO" isLeaf="false" isInline="false" xmi.id="uQaAIayfZmRTr" isOverride="false"/>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" comment="Saves AOL data and images to Excel file for easy parsing." isSpecification="false" name="DataSaving" isLeaf="false" xmi.id="uibCosoM5C9ES">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="File object representing the location of the final output file." type="uLtWoZg2r6vK5" isSpecification="false" ownerScope="classifier" name="outputFile" xmi.id="uzC7XxxxgdanH"/>
|
|
<UML:Attribute visibility="private" comment="Sheet object defining what sheet within the workbook we are working within." type="uBxtki3mYxNXH" isSpecification="false" ownerScope="classifier" name="outputSheet" xmi.id="uE7eAmAP3IyCz"/>
|
|
<UML:Attribute visibility="private" comment="Workbook object used for writing to the final Excel (XLSX) file." type="uCN5vhsamIMZS" isSpecification="false" ownerScope="classifier" name="outputWorkbook" xmi.id="u4x5QhxYlc4Q1"/>
|
|
<UML:Attribute visibility="private" comment="Style of a default cell" type="u1Ano2L3MNqB9" isSpecification="false" ownerScope="classifier" name="defaultStyle" xmi.id="uMgVV2QK7nWJl"/>
|
|
<UML:Attribute visibility="private" comment="LEGACY/FAILSAFE
Style of cell if Tesseract can't read the image." type="u1Ano2L3MNqB9" isSpecification="false" ownerScope="classifier" name="errorStyle" xmi.id="umBpDgQHPWmCa"/>
|
|
<UML:Attribute visibility="private" comment="Style of cell if the measurement falls outside of the fail range." type="u1Ano2L3MNqB9" isSpecification="false" ownerScope="classifier" name="failStyle" xmi.id="uvYBZ8VG7zmXM"/>
|
|
<UML:Attribute visibility="private" comment="Style of the total cells (sets typing to 0.000%)" type="u1Ano2L3MNqB9" isSpecification="false" ownerScope="classifier" name="finalValuesStyle" xmi.id="uVbaYwGBhwkJg"/>
|
|
<UML:Attribute visibility="private" comment="Target temperature for current testing with DUT" type="uCrL5Q2hyX5sQ" isSpecification="false" ownerScope="classifier" name="targetTemp" xmi.id="uhHak0Hz9SDbD"/>
|
|
<UML:Attribute visibility="private" comment="Range for a measurement to still be considered passable. Any deviation beyond this range will be marked as a fail." type="uCrL5Q2hyX5sQ" isSpecification="false" ownerScope="classifier" name="failRange" xmi.id="uDq6GDbPZQ92T"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Prepares to write to XLSX file, with default fail values." isSpecification="false" ownerScope="classifier" name="initWorkbook" isLeaf="false" isInline="false" xmi.id="uPYVGaXG16zfz" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uOyMsgJQ3uhAt"/>
|
|
<UML:Parameter visibility="private" comment="Name of the output XLSX file" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="filename" xmi.id="u5InZFqzu01qE"/>
|
|
<UML:Parameter visibility="private" comment="The number of cameras being tested. (Defines the number of columns being written to)" value="" type="u6dG093IE5KRR" isSpecification="false" name="camCount" xmi.id="ussUg1YCy3NRT"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Prepares writer to write to XLSX file, with custom fail values." isSpecification="false" ownerScope="classifier" name="initWorkbook" isLeaf="false" isInline="false" xmi.id="uo6AU3IofbYX5" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="umV834GzpS94i"/>
|
|
<UML:Parameter visibility="private" comment="Name of the file being written to. Must contain ".xlsx" at the end." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="filename" xmi.id="uKmkfQTRVGLoC"/>
|
|
<UML:Parameter visibility="private" comment="Number of cameras being tested." value="" type="u6dG093IE5KRR" isSpecification="false" name="camCount" xmi.id="uw43sVj5qbLdf"/>
|
|
<UML:Parameter visibility="private" comment="Custom target temperature" value="" type="uCrL5Q2hyX5sQ" isSpecification="false" name="targetTemp" xmi.id="uaMjVr7aY2UHn"/>
|
|
<UML:Parameter visibility="private" comment="Custom fail range." value="" type="uCrL5Q2hyX5sQ" isSpecification="false" name="failRange" xmi.id="u893tvV9CIwAn"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Writes lines to XLSX file" isSpecification="false" name="writeValues" isLeaf="false" isInline="false" xmi.id="u9NyH522SeaSa" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="unzm4MyNzq6pJ"/>
|
|
<UML:Parameter visibility="private" comment="What cycle of the test is being saved." value="" type="u6dG093IE5KRR" isSpecification="false" name="cycle" xmi.id="uzMu18hnsJECn"/>
|
|
<UML:Parameter visibility="private" comment="Map<File,Double> of parsed data.

Key: File of the location of the image being saved.
Value: Double of the image, parsed by Tesseract" value="" type="usELT5EPkFTAY" isSpecification="false" name="inputMap" xmi.id="uI9pe5W2dnGCP"/>
|
|
<UML:Parameter visibility="private" comment="Map<String,File> of correlations between camera and files.

Key: String of the name of the camera.
Value: File of the image generated by the named camera." value="" type="usELT5EPkFTAY" isSpecification="false" name="cameraToFile" xmi.id="u5WzoevvlIXQB"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Add final totals to the excel document." isSpecification="false" name="updateFormulas" isLeaf="false" isInline="false" xmi.id="ujgCbuqZ9xilL" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" comment="The number of cameras being used." value="" type="u6dG093IE5KRR" isSpecification="false" name="cameraCount" xmi.id="u6iuBFu0ia6vG"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="Cli" isLeaf="false" xmi.id="uASDoshKBmmnI">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="Number of options currently available in the camera configuration sub-menu." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="cameraMenuOptionCount" xmi.id="uUzCr6SEgyYZ9"/>
|
|
<UML:Attribute visibility="private" comment="Whether the user has manually configured the cameras" type="uUFR10GCed46Q" isSpecification="false" ownerScope="classifier" name="camerasConfigured" xmi.id="uJYu4rRYxz5ws"/>
|
|
<UML:Attribute visibility="private" comment="Scanner used for reading user input." type="uyTBx9P7f4VjF" isSpecification="false" ownerScope="classifier" name="inputScanner" xmi.id="uzuN6tEl319Xv"/>
|
|
<UML:Attribute visibility="private" comment="Currently saved number of iterations to complete." type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="iterationCount" xmi.id="uISY0qW0xwIqT"/>
|
|
<UML:Attribute visibility="public" comment="Lock object, used for temporary interruption of runTests()" type="u8ik9hKNzgKcH" isSpecification="false" ownerScope="classifier" name="LOCK" xmi.id="ulq25h6WMZJqe"/>
|
|
<UML:Attribute visibility="private" comment="Number of options currently available in the main menu" type="u6dG093IE5KRR" isSpecification="false" ownerScope="classifier" name="mainMenuOptionCount" xmi.id="udfHHyUsieAgq"/>
|
|
<UML:Attribute visibility="private" comment="Whether the user has successfully set the serial numbers for all cameras." type="uUFR10GCed46Q" isSpecification="false" ownerScope="classifier" name="serialsSet" xmi.id="uWzO1KfycXL5N"/>
|
|
<UML:Attribute visibility="private" comment="Complete build version number" type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="version" xmi.id="uRu45R8iQt93b"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Function that allows the user to modify config values." isSpecification="false" ownerScope="classifier" name="configureCameras" isLeaf="false" isInline="false" xmi.id="uyVuteB0NjFu3" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Allows the user to modify which cameras are active." isSpecification="false" name="setActiveCameras" isLeaf="false" isInline="false" xmi.id="ueXiZq5immd11" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Allows the user to define serial numbers for the devices under test." isSpecification="false" ownerScope="classifier" name="setDUTSerials" isLeaf="false" isInline="false" xmi.id="ugVhQ3rXtZwsn" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Allows the user to change the number of iterations runTests will take" isSpecification="false" name="setIterationCount" isLeaf="false" isInline="false" xmi.id="uqOvbu5MwQyvo" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Tests the DUTs for the set number of iterations, using the configured settings for each camera, if active. Saves values to XLSX file after every iteration." isSpecification="false" ownerScope="classifier" name="runTests" isLeaf="false" isInline="false" xmi.id="uO6c4HgKt99TZ" isOverride="false"/>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Class isRoot="false" isAbstract="false" namespace="Logical_View" visibility="public" isSpecification="false" name="ConfigFacade" isLeaf="false" xmi.id="ug4xpByAYlb4g">
|
|
<UML:Classifier.feature>
|
|
<UML:Attribute visibility="private" comment="Builder for the main Configuration object." type="u53NpBDIiJKLh" isSpecification="false" ownerScope="classifier" name="CONFIG_BUILDER" xmi.id="uK88kcnvrmoo8"/>
|
|
<UML:Attribute visibility="private" comment="Object used for reading and writing config values" type="ue50uK6Axr5uJ" isSpecification="false" ownerScope="classifier" name="CONFIG_STORE" xmi.id="uYWpaHvh5Ea8c"/>
|
|
<UML:Attribute visibility="private" comment="Location for the current config to be saved to" type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="configFileLocation" xmi.id="uzoFZpXOdvl6c"/>
|
|
<UML:Attribute visibility="private" comment="Map of all config values relating to all cameras available to the system.

Key: String of the name of the camera
Value: Map<ConfigProperties,Double> of config values

Config value map:
Key: ConfigProperties object of the name of the config value
Value: Double of the config value" type="usELT5EPkFTAY" isSpecification="false" ownerScope="classifier" name="CONFIG_MAP" xmi.id="u3udpeyVwdpDa"/>
|
|
<UML:Attribute visibility="private" comment="Map<String,String> of serial numbers.

Key: String of the camera the serial is associated with
Value: String of the serial

Note that this is NOT saved to config file, and needs to be set at runtime." type="usELT5EPkFTAY" isSpecification="false" ownerScope="classifier" name="DUT_SERIALS" xmi.id="uuuHPOIAKL8w4"/>
|
|
<UML:Attribute visibility="private" comment="Location to save images to

Defaults to being set to "images-", followed by the current UNIX timestamp, parsed by ErrorLogging's DateTimeFormatter" type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="imageSaveLocation" xmi.id="uy1aedRJTGkRH"/>
|
|
<UML:Attribute visibility="private" comment="Location to save the output XLSX file to.

Defaults to "outputData/", followed by the current UNIX timestamp, formatted by ErrorLogging's DateTimeFormatter, followed by ".xlsx"" type="uMYRTkE3rxR2B" isSpecification="false" ownerScope="classifier" name="outputSaveLocation" xmi.id="ukpfsZ1jA7ptq"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Getter for imageSaveLocation" isSpecification="false" ownerScope="classifier" name="getImgSaveLocation" isLeaf="false" isInline="false" xmi.id="ulFBJ7Xj4FHo2" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uMYRTkE3rxR2B" xmi.id="uxiP8D0r2aGiU"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Getter for outputSaveLocation" isSpecification="false" ownerScope="classifier" name="getOutputSaveLocation" isLeaf="false" isInline="false" xmi.id="uzbbqdUp01Lwd" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uMYRTkE3rxR2B" xmi.id="uTQeRF5HMEMEn"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Getter for a given camera's serial. Contains safeties if fed invalid value." isSpecification="false" ownerScope="classifier" name="getSerial" isLeaf="false" isInline="false" xmi.id="udSCxWCrJnTGT" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uMYRTkE3rxR2B" xmi.id="uErIaoRFwjeKv"/>
|
|
<UML:Parameter visibility="private" comment="name of the camera to get the serial of" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uv5x5UvIC5KI7"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Getter for all serials simultaneously. Simply returns the DUT_SERIALS Map" isSpecification="false" ownerScope="classifier" name="getSerials" isLeaf="false" isInline="false" xmi.id="u4T9xVeA4FbwR" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="usELT5EPkFTAY" xmi.id="ui20ImTBDNDsC"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Get a config value for a given camera and config property." isSpecification="false" ownerScope="classifier" name="getValue" isLeaf="false" isInline="false" xmi.id="uEcXRa7ddJv27" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uCrL5Q2hyX5sQ" xmi.id="uGjvIjlQX6smJ"/>
|
|
<UML:Parameter visibility="private" comment="Name of the camera to get a config value from" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uFB42KFheOAva"/>
|
|
<UML:Parameter visibility="private" comment="The config value to get the value of" value="" type="uWQfGitACJCjJ" isSpecification="false" name="property" xmi.id="u5opjvEWBPXDY"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Forces calling of the static block, which initialises all config and camera values." isSpecification="false" ownerScope="classifier" name="init" isLeaf="false" isInline="false" xmi.id="uHFyReuYzlHTQ" isOverride="false"/>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Loads config from the default file location" isSpecification="false" ownerScope="classifier" name="loadConfig" isLeaf="false" isInline="false" xmi.id="upIArGqbH8mx4" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uYPO1ZvUXh7WQ"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" isSpecification="false" ownerScope="classifier" name="loadConfig" isLeaf="false" isInline="false" xmi.id="u78RFO4jh0MkX" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uszRz85SW6GV6"/>
|
|
<UML:Parameter visibility="private" comment="Load cofig from a user-defined file location" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="filename" xmi.id="uMQ1pC0d6ebfL"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Saves the currently stored config values to the default config file location." isSpecification="false" ownerScope="classifier" name="saveCurrentConfig" isLeaf="false" isInline="false" xmi.id="uCCqp6UFmUyQ1" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="u6E6RDtfX8LLB"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Saves current config values stored in Map to config value at defined location." isSpecification="false" ownerScope="classifier" name="saveCurrentConfig" isLeaf="false" isInline="false" xmi.id="uAPxkDLLjHK1c" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="ujJS48Fb46GPi"/>
|
|
<UML:Parameter visibility="private" comment="Location to store the file name." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="filename" xmi.id="uWYoTyzvyTpF3"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Saves all default config values to the default config file location" isSpecification="false" ownerScope="classifier" name="saveDefaultConfig" isLeaf="false" isInline="false" xmi.id="uMTZvohhrmNdr" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uxP0UtOILAxOE"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Save the default config values to a defined file location" isSpecification="false" ownerScope="classifier" name="saveDefaultConfig" isLeaf="false" isInline="false" xmi.id="ugfPMBYLfMP4j" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="u8tY4D4fVy8Zn"/>
|
|
<UML:Parameter visibility="private" comment="String of the path to the config file" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="filename" xmi.id="ui7RXLtWyBlKS"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="private" comment="Save defaults for a single camera's config. Used if a camera's section fails to import properly." isSpecification="false" ownerScope="classifier" name="saveSingleDefault" isLeaf="false" isInline="false" xmi.id="uiM7IsLx84uSj" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uO9udh69EuNSK"/>
|
|
<UML:Parameter visibility="private" comment="Name of the section to use for the config file. Generally, the name of the camera is best here." value="" type="uMYRTkE3rxR2B" isSpecification="false" name="sectionName" xmi.id="u8CPDQtvknRJZ"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Setter for imageSaveLocation" isSpecification="false" ownerScope="classifier" name="setImgSaveLocation" isLeaf="false" isInline="false" xmi.id="uMZJZTzMHcotL" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="u8XuWBPhcm59f"/>
|
|
<UML:Parameter visibility="private" comment="New location to save images to" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="path" xmi.id="uaxFFAXxAfQEM"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Set new outputSaveLocation" isSpecification="false" ownerScope="classifier" name="setOutputSaveLocation" isLeaf="false" isInline="false" xmi.id="u6MfKFmI49XW5" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="uqkSM9TBK4dW9"/>
|
|
<UML:Parameter visibility="private" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="path" xmi.id="uTHrToi7wrE2L"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Setter for a given camera's serial" isSpecification="false" ownerScope="classifier" name="setSerial" isLeaf="false" isInline="false" xmi.id="uhW0WK7Tw8jzd" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter visibility="private" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="uc8z62UudvfjS"/>
|
|
<UML:Parameter visibility="private" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="serial" xmi.id="uvdtZ6aVREsSB"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
<UML:Operation isVirtual="false" isRoot="false" isAbstract="false" isQuery="false" visibility="public" comment="Set a given config value" isSpecification="false" ownerScope="classifier" name="setValue" isLeaf="false" isInline="false" xmi.id="unEABXT4EkoL0" isOverride="false">
|
|
<UML:BehavioralFeature.parameter>
|
|
<UML:Parameter kind="return" type="uUFR10GCed46Q" xmi.id="ukh372KTfVlpM"/>
|
|
<UML:Parameter visibility="private" value="" type="uMYRTkE3rxR2B" isSpecification="false" name="cameraName" xmi.id="u9TtRnOedkgzv"/>
|
|
<UML:Parameter visibility="private" value="" type="uWQfGitACJCjJ" isSpecification="false" name="property" xmi.id="uCAEFKqXacTw1"/>
|
|
<UML:Parameter visibility="private" value="" type="uCrL5Q2hyX5sQ" isSpecification="false" name="propertyValue" xmi.id="ul2ggZnW99rFO"/>
|
|
</UML:BehavioralFeature.parameter>
|
|
</UML:Operation>
|
|
</UML:Classifier.feature>
|
|
</UML:Class>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="uASDoshKBmmnI" supplier="uaq5wFieCACsK" xmi.id="uXN1BN0GV1sOO"/>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="ufVuXCbh7WYK2">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uiXctorvzHidz" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="ufG3pSk1SKohW"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="ulIljB7WN0hpv"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uFQHhlu4UvkaL">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uibCosoM5C9ES" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uVV13Z0K0pfGl"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uNT9oYKZWDwXm"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uap4suMGCLeCk">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uszTbwciTSOHV" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="udq3aHW0YgKwc"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="ujQHEeP3d88rs"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="ukKLaia3BwRNX">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uuYYYbWEpX3L3"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uTTRn8PUCG6ad"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uKW1u6KgeRDgn">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uibCosoM5C9ES" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uSSO9X4xxvio2"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uCrk9GVLqQO49"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uc8C2BLIJHK0G">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uszTbwciTSOHV" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="u7ONJuRnrjWI1"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uzKjkK010ZEEC"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uLs8aBwCPR9JO">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uxutGWImUrqt7" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="u6T6s97Zkb5ER"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uowALOxlNiLp9"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uTXwkZwtw4Owy">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uiXctorvzHidz" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uLXW1uiVPaV1X"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uQS00xfmZ7MOQ"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uKog7kDugs8CU">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uqmKcgUDUR4zh"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uaq5wFieCACsK" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="ulEIGnd3tlnUp"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uVrVd7A3nurBb">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uxutGWImUrqt7" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uCUjAkl3ebguI"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uFMIyq4h1Z9c1"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uioSMAcQvYPfi">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="aggregate" visibility="public" type="uiXctorvzHidz" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="u3nIVPSv3UA5j"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uhoYk9h6KpMug" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="ui4WogQYp8Bkg"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uUp8HrO15CIOb">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="aggregate" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="u3X2XjZtVvr6k"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uX8xl8SknIiop" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uOEoKbTATGhYn"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uZc4lhkas1Vfk">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="composite" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uMNSmulO71Ugi"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uWQfGitACJCjJ" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uQgKbf2iZ9cWF"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="ulUdSMdHOaAMr">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="aggregate" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="utkS04H8BCLRn"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uxutGWImUrqt7" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uzuDnzIeFQJxG"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uvPcP5cThe9rj">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uAuOIPHflkEc9"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uxutGWImUrqt7" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="u4LYMCXHlVqQw"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uO3xvwmYWNdKR">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="aggregate" visibility="public" type="ug4xpByAYlb4g" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uepcDPWbhWz32"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uxutGWImUrqt7" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uFwoPWPXU70RM"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="uxutGWImUrqt7" supplier="ug4xpByAYlb4g" xmi.id="ucWLS2nI22dTr"/>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="uxutGWImUrqt7" supplier="ug4xpByAYlb4g" xmi.id="uz5F0wPS9mOfj"/>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="uxutGWImUrqt7" supplier="ug4xpByAYlb4g" xmi.id="u3dAqlz5DSrs6"/>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="ug4xpByAYlb4g" supplier="uxutGWImUrqt7" xmi.id="uP0Nsf579P77J"/>
|
|
<UML:Dependency namespace="Logical_View" visibility="public" isSpecification="false" name="" client="uxutGWImUrqt7" supplier="ug4xpByAYlb4g" xmi.id="u3X2FwLg3QzNS"/>
|
|
<UML:Association namespace="Logical_View" visibility="public" isSpecification="false" name="" xmi.id="uEHQtFiKt4wTh">
|
|
<UML:Association.connection>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uhoYk9h6KpMug" isSpecification="false" changeability="changeable" name="" isNavigable="false" xmi.id="uYDCTWWrXQLXh"/>
|
|
<UML:AssociationEnd aggregation="none" visibility="public" type="uASDoshKBmmnI" isSpecification="false" changeability="changeable" name="" isNavigable="true" xmi.id="uOO4WzH2mhUVJ"/>
|
|
</UML:Association.connection>
|
|
</UML:Association>
|
|
</UML:Namespace.ownedElement>
|
|
<XMI.extension xmi.extender="umbrello">
|
|
<diagrams resolution="96">
|
|
<diagram linewidth="0" textcolor="#000000" showstereotype="1" snapcsgrid="1" showattribassocs="1" documentation="" snapgrid="1" showatts="1" showops="1" snapy="25" griddotcolor="#f7f7f7" zoom="60.949999999999996" fillcolor="#ffffc0" canvaswidth="2625" backgroundcolor="#ffffff" showscope="1" localid="-1" linecolor="#ff0000" name="class diagram" canvasheight="1850" xmi.id="ugFPcmQ7CwNNq" showpackage="1" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showopsig="1" showgrid="0" usefillcolor="1" snapx="25" type="1" showpubliconly="0" isopen="1" showattsig="1">
|
|
<widgets>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="275" fillcolor="#ffffc0" y="-1250" localid="uNMJwVle2L3hj" showscope="1" linecolor="#ff0000" xmi.id="uASDoshKBmmnI" showpackage="1" width="225" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-500" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="450" fillcolor="#ffffc0" y="-1125" localid="uLPr6mHfmL3pP" showscope="1" linecolor="#ff0000" xmi.id="ug4xpByAYlb4g" showpackage="1" width="600" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-1675" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<enumwidget isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="150" fillcolor="#ffffc0" y="-1600" localid="uDk5BfSOCFAmP" linecolor="#ff0000" xmi.id="uhoYk9h6KpMug" showpackage="1" width="225" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="0" x="-500" usefillcolor="1"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="450" fillcolor="#ffffc0" y="-575" localid="u3FvK74CP9OuR" showscope="1" linecolor="#ff0000" xmi.id="uxutGWImUrqt7" showpackage="1" width="800" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-1450" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<enumwidget isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="125" fillcolor="#ffffc0" y="-1175" localid="uYhQlSESoApG7" linecolor="#ff0000" xmi.id="uX8xl8SknIiop" showpackage="1" width="100" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="0" x="-150" usefillcolor="1"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="200" fillcolor="#ffffc0" y="-1050" localid="utTVEj0tLPGMU" showscope="1" linecolor="#ff0000" xmi.id="uaq5wFieCACsK" showpackage="1" width="250" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-975" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="450" fillcolor="#ffffc0" y="-1975" localid="uLiRb2YG1VG8K" showscope="1" linecolor="#ff0000" xmi.id="uiXctorvzHidz" showpackage="1" width="300" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-1400" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<enumwidget isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="250" fillcolor="#ffffc0" y="-1150" localid="uvgQlVPQtZNew" linecolor="#ff0000" xmi.id="uWQfGitACJCjJ" showpackage="1" width="450" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="0" x="-2525" usefillcolor="1"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="125" fillcolor="#ffffc0" y="-1250" localid="uQnxDuwCJOmuk" showscope="1" linecolor="#ff0000" xmi.id="uszTbwciTSOHV" showpackage="1" width="325" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-900" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
<classwidget showopsigs="601" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" height="275" fillcolor="#ffffc0" y="-925" localid="uLRmfkjwNcYQ8" showscope="1" linecolor="#ff0000" xmi.id="uibCosoM5C9ES" showpackage="1" width="625" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showattsigs="601" usesdiagramfillcolor="0" showoperations="1" x="-525" showattributes="1" usefillcolor="1" showpubliconly="0"/>
|
|
</widgets>
|
|
<messages/>
|
|
<associations>
|
|
<assocwidget widgetbid="uASDoshKBmmnI" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uibCosoM5C9ES" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="urt4vcFgpRPqJ" linecolor="#ff0000" xmi.id="uFQHhlu4UvkaL" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-925" startx="-414.086"/>
|
|
<endpoint endx="-414.086" endy="-975"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uASDoshKBmmnI" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uiXctorvzHidz" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uugEkN7L2q5id" linecolor="#ff0000" xmi.id="ufVuXCbh7WYK2" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1525" startx="-1100"/>
|
|
<endpoint endx="-500" endy="-1250"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uASDoshKBmmnI" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uEZ6cctkhKgWz" linecolor="#ff0000" xmi.id="ukKLaia3BwRNX" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1036.87" startx="-500"/>
|
|
<endpoint endx="-725" endy="-1036.87"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uibCosoM5C9ES" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uACEtNHjr8EWw" linecolor="#ff0000" xmi.id="uKW1u6KgeRDgn" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-893.653" startx="-525"/>
|
|
<endpoint endx="-725" endy="-893.653"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uxutGWImUrqt7" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="us7dScq2zCSEF" linecolor="#ff0000" xmi.id="uLs8aBwCPR9JO" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-575" startx="-885.849"/>
|
|
<endpoint endx="-885.849" endy="-850"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uASDoshKBmmnI" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uhoYk9h6KpMug" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uV4fBL6bBsCME" linecolor="#ff0000" xmi.id="uEHQtFiKt4wTh" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1450" startx="-401.923"/>
|
|
<endpoint endx="-401.923" endy="-1250"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uWQfGitACJCjJ" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="ug4xpByAYlb4g" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uxMrddTD3o582" linecolor="#ff0000" xmi.id="uZc4lhkas1Vfk" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="510">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1021.8" startx="-1675"/>
|
|
<endpoint endx="-2075" endy="-1021.8"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uxutGWImUrqt7" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="ug4xpByAYlb4g" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="ulRMN09sG9bQu" linecolor="#ff0000" xmi.id="uP0Nsf579P77J" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="502">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-675" startx="-1267.05"/>
|
|
<endpoint endx="-1267.05" endy="-575"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uszTbwciTSOHV" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uljndW77L3tNW" linecolor="#ff0000" xmi.id="uc8C2BLIJHK0G" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1125" startx="-771.801"/>
|
|
<endpoint endx="-771.801" endy="-1050"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uASDoshKBmmnI" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uszTbwciTSOHV" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uBy6q1R7CpMMX" linecolor="#ff0000" xmi.id="uap4suMGCLeCk" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1216.59" startx="-575"/>
|
|
<endpoint endx="-500" endy="-1216.59"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uiXctorvzHidz" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="u9vjc6YYUqofM" linecolor="#ff0000" xmi.id="uTXwkZwtw4Owy" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1525" startx="-1100"/>
|
|
<endpoint endx="-975" endy="-1050"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uX8xl8SknIiop" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uASDoshKBmmnI" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uZHrr1jcAn3eT" linecolor="#ff0000" xmi.id="uUp8HrO15CIOb" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="501">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1155.55" startx="-275"/>
|
|
<endpoint endx="-150" endy="-1155.55"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uhoYk9h6KpMug" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uiXctorvzHidz" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="uDj4Cxv3puzua" linecolor="#ff0000" xmi.id="uioSMAcQvYPfi" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="501">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1558.09" startx="-1100"/>
|
|
<endpoint endx="-500" endy="-1558.09"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="ug4xpByAYlb4g" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uxutGWImUrqt7" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="udZdm0yGqNGuK" linecolor="#ff0000" xmi.id="u3X2FwLg3QzNS" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="502">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-575" startx="-1371.45"/>
|
|
<endpoint endx="-1371.45" endy="-675"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget widgetbid="uaq5wFieCACsK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="ug4xpByAYlb4g" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" localid="upqldLOvq0Uox" linecolor="#ff0000" xmi.id="uKog7kDugs8CU" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="512">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-1034.31" startx="-1075"/>
|
|
<endpoint endx="-975" endy="-1034.31"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
</associations>
|
|
</diagram>
|
|
<diagram linewidth="0" textcolor="#000000" showstereotype="1" snapcsgrid="0" showattribassocs="1" documentation="" snapgrid="0" showatts="1" showops="1" snapy="25" griddotcolor="#f7f7f7" zoom="70" fillcolor="#ffffc0" canvaswidth="1616.27" backgroundcolor="#ffffff" showscope="1" localid="-1" linecolor="#ff0000" name="activity diagram" canvasheight="661.5" xmi.id="uucBDfma2hRQg" showpackage="1" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showopsig="1" showgrid="0" usefillcolor="1" snapx="25" type="6" showpubliconly="0" isopen="1" showattsig="1">
|
|
<widgets>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="import config, initialise cameras if available, initialise GPIO objects, measure travel time between limit switches" autoresize="1" height="28" fillcolor="#ffffc0" y="-11755" activitytype="1" localid="u5XRXcu6W6hx8" linecolor="#ff0000" xmi.id="uepLzsA8b3T2G" width="106" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Initialisation" usesdiagramfillcolor="0" x="-9284" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11471.3" activitytype="1" localid="uh3sr8Nu68Btz" linecolor="#ff0000" xmi.id="u4qhkcGWjx0Z2" width="85" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Show Help" usesdiagramfillcolor="0" x="-8984.87" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="15" fillcolor="#ffffc0" y="-11750.7" activitytype="0" localid="u48aLE7dXqRpC" linecolor="#ff0000" xmi.id="utaWvp4BKKTSY" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-9433.47" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11334.7" activitytype="1" localid="u07ckx4k2Lw0d" linecolor="#ff0000" xmi.id="uZOnS5TAVhjv7" width="186" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Modify Test Iteration Count" usesdiagramfillcolor="0" x="-9379.47" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11374.4" activitytype="1" localid="uFwuKkq1BJA2Q" linecolor="#ff0000" xmi.id="uoZpsEuPGbfss" width="78" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Run Tests" usesdiagramfillcolor="0" x="-9031.28" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11565.9" activitytype="1" localid="uG6PU1egku7Dn" linecolor="#ff0000" xmi.id="uarZBweRU7wd6" width="145" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Change Crop Region" usesdiagramfillcolor="0" x="-10256.9" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11581.1" activitytype="1" localid="uUQIrRvJaBGpK" linecolor="#ff0000" xmi.id="umiDjfUhbMOwt" width="50" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Exit" usesdiagramfillcolor="0" x="-9129.49" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11415.8" activitytype="1" localid="urpbh9yI266fy" linecolor="#ff0000" xmi.id="upwxIMLgN3hSA" width="136" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Serial Config Menu" usesdiagramfillcolor="0" x="-9530.67" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11670" activitytype="1" localid="u9daJY7N39uLh" linecolor="#ff0000" xmi.id="u6XadL9ZPQwHa" width="89" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Main Menu" usesdiagramfillcolor="0" x="-9283" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="15" fillcolor="#ffffc0" y="-11571.8" activitytype="2" localid="uJYOkWFEJlU7O" linecolor="#ff0000" xmi.id="uCqKX6TCSCpXM" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-8994.43" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="20" fillcolor="#ffffc0" y="-11577.7" activitytype="4" localid="uBAR1XGySOalu" linecolor="#ff0000" xmi.id="u7jJyZeXXFARP" width="20" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-9246.58" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11482.6" activitytype="1" localid="ushpUPxiXmNzZ" linecolor="#ff0000" xmi.id="u2aoq9GDhbpaK" width="190" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Single Camera Config Menu" usesdiagramfillcolor="0" x="-10064.4" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11713.8" activitytype="1" localid="uaafnHGQySOhV" linecolor="#ff0000" xmi.id="uvK8RZBDYcUat" width="93" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Toggle Crop" usesdiagramfillcolor="0" x="-9949.96" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11295.9" activitytype="1" localid="ugX8ADiDQcicO" linecolor="#ff0000" xmi.id="ua9DlygPIIB8m" width="127" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Set Camera Serial" usesdiagramfillcolor="0" x="-9705.82" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11712.7" activitytype="1" localid="upcptR2V91bVU" linecolor="#ff0000" xmi.id="uSGoWtxQCg0k2" width="168" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Change Threshold Value" usesdiagramfillcolor="0" x="-10148.7" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="0" height="20" fillcolor="#ffffc0" y="-11470.4" activitytype="4" localid="uqVJoINGOmVB0" linecolor="#ff0000" xmi.id="udjrjPXZeOKKH" width="20" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-9591.98" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11543.5" activitytype="1" localid="uRQS22kU7J4A2" linecolor="#ff0000" xmi.id="ubZ4pDJ3kcyxb" width="149" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Camera Config Menu" usesdiagramfillcolor="0" x="-9636.16" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11308.1" activitytype="1" localid="uQjv0Pxq2yg6m" linecolor="#ff0000" xmi.id="uyKzq99c7CWsm" width="136" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Set Active Cameras" usesdiagramfillcolor="0" x="-9166.86" usefillcolor="1"/>
|
|
<forkjoin isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" drawvertical="0" height="10" fillcolor="#000000" y="-11154.4" localid="u5kZV3v2HF6PH" linecolor="#000000" xmi.id="u6WQ1b7oGA4c2" width="40" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="0" x="-9212.54" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11654.4" activitytype="1" localid="uirPMk1U3Vw6f" linecolor="#ff0000" xmi.id="uU845hGQ6nmrY" width="218" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Change Composite Frame Count" usesdiagramfillcolor="0" x="-10279.8" usefillcolor="1"/>
|
|
<forkjoin isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" autoresize="1" drawvertical="1" height="40" fillcolor="#000000" y="-11599.6" localid="uuxo1VUioypl2" linecolor="#000000" xmi.id="uny0qCP8Z5lMr" width="10" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="0" x="-10491" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="0" height="20" fillcolor="#ffffc0" y="-11554.9" activitytype="4" localid="uGHCBbVWAxUG7" linecolor="#ff0000" xmi.id="usB5uQzBGoXUG" width="20" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-9982.01" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11621.7" activitytype="1" localid="ukTj3tsaXdQfA" linecolor="#ff0000" xmi.id="uP7MbJInaiZnU" width="85" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Show Help" usesdiagramfillcolor="0" x="-9722.71" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="20" fillcolor="#ffffc0" y="-11334.6" activitytype="4" localid="utxieKBUsD7Bu" linecolor="#ff0000" xmi.id="uT7gc9aQzA8Gc" width="20" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="" usesdiagramfillcolor="0" x="-9470.12" usefillcolor="1"/>
|
|
<activitywidget postcondition="" isinstance="0" showstereotype="1" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="0" precondition="" documentation="" autoresize="1" height="28" fillcolor="#ffffc0" y="-11663.2" activitytype="1" localid="uZP6Fqm3pIj4p" linecolor="#ff0000" xmi.id="urSjINbD3NuEq" width="162" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" activityname="Toggle Threshold Value" usesdiagramfillcolor="0" x="-9891.56" usefillcolor="1"/>
|
|
</widgets>
|
|
<messages/>
|
|
<associations>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uU845hGQ6nmrY" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u6FnJ2KZYMaU4" linecolor="#ff0000" xmi.id="uVuEoV7VVslZm" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9982.01"/>
|
|
<endpoint endx="-10061.8" endy="-11626.4"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11589.1" localid="uL2zJqkXRlSda" linecolor="#ff0000" xmi.id="u8tfKLSfEeQ0z" role="703" text="2" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-10031.6" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="upwxIMLgN3hSA" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uMlCIJS5wSfRY" linecolor="#ff0000" xmi.id="ucAQSnDX1iCeI" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9246.58"/>
|
|
<endpoint endx="-9394.67" endy="-11415.8"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11492.5" localid="uc2BPmYy2TWsA" linecolor="#ff0000" xmi.id="u1J42eHj8Jo3e" role="703" text="2" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9321.66" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="ubZ4pDJ3kcyxb" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uOg2UL0tHRbRH" linecolor="#ff0000" xmi.id="uOswRI3dgjSqU" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9246.58"/>
|
|
<endpoint endx="-9487.16" endy="-11543.5"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11551.3" localid="un4krfVsdE5HE" linecolor="#ff0000" xmi.id="uaBzcyq3dDvsX" role="703" text="1" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9366.87" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6XadL9ZPQwHa" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uepLzsA8b3T2G" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uHYgej2ECpHrI" linecolor="#ff0000" xmi.id="uJeEq1iTO8TUz" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11727" startx="-9239"/>
|
|
<endpoint endx="-9239" endy="-11670"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u7jJyZeXXFARP" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u6XadL9ZPQwHa" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="ud2JAkT3pj69i" linecolor="#ff0000" xmi.id="uRxhObQe22315" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11642" startx="-9236.58"/>
|
|
<endpoint endx="-9236.58" endy="-11577.7"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11617.9" localid="ugJ9byaXxZhfz" linecolor="#ff0000" xmi.id="umvl5boqP2AMn" role="703" text="User chooses option" width="133" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9236.58" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u2aoq9GDhbpaK" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="udjrjPXZeOKKH" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="ucnmpmtTjEZ9y" linecolor="#ff0000" xmi.id="ufw8h0pvAry48" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11461.9" startx="-9591.98"/>
|
|
<endpoint endx="-9874.4" endy="-11461.9"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11482.2" localid="ucnZ7OuAbr2wT" linecolor="#ff0000" xmi.id="uDgI0PCrxMTYv" role="703" text="Camera Name*" width="102" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9781.08" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u4qhkcGWjx0Z2" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uJXSKHSyS0Oo2" linecolor="#ff0000" xmi.id="ul84pW7ZMFjdn" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9226.58"/>
|
|
<endpoint endx="-8984.87" endy="-11471.3"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11502.3" localid="uWkrONugKPvMT" linecolor="#ff0000" xmi.id="u4oP5dUolHnpE" role="703" text="6" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9079.93" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u2aoq9GDhbpaK" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uny0qCP8Z5lMr" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uW0pRKNgAxcPd" linecolor="#ff0000" xmi.id="uYeLO5zspuyYa" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11559.6" startx="-10487.5"/>
|
|
<endpoint endx="-10064.4" endy="-11464.1"/>
|
|
<point x="-10487.5" y="-11464.1"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uepLzsA8b3T2G" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="utaWvp4BKKTSY" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="umij5ZfkjzWUl" linecolor="#ff0000" xmi.id="uRLZBkDQTMnLl" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11742" startx="-9418.47"/>
|
|
<endpoint endx="-9284" endy="-11742"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="umiDjfUhbMOwt" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u1DRhihdyCOxP" linecolor="#ff0000" xmi.id="uYNaS4eheOegc" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11559.6" startx="-9226.58"/>
|
|
<endpoint endx="-9129.49" endy="-11559.6"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11581.4" localid="u1agndzX0wq2h" linecolor="#ff0000" xmi.id="u1BZ2oV5E0HM4" role="703" text="7" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9186.87" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6XadL9ZPQwHa" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="u6WQ1b7oGA4c2" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uwMBnhVKetq5Y" linecolor="#ff0000" xmi.id="u85lKuLRrK4pH" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11144.4" startx="-9185.17"/>
|
|
<endpoint endx="-9194" endy="-11665.3"/>
|
|
<point x="-9185.17" y="-11117.9"/>
|
|
<point x="-8882.64" y="-11118.6"/>
|
|
<point x="-8881.23" y="-11665.3"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uP7MbJInaiZnU" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uyfPvVby2W1ur" linecolor="#ff0000" xmi.id="uMEIbmvoSkIWZ" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9962.01"/>
|
|
<endpoint endx="-9722.71" endy="-11593.7"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11587" localid="u9uR6EQwVNGRR" linecolor="#ff0000" xmi.id="uT09pcmOmuZqS" role="703" text="6" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9878.94" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uarZBweRU7wd6" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uxo5M1AD1bTJ9" linecolor="#ff0000" xmi.id="u8ptsCUBhMdup" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11559.6" startx="-10256.9"/>
|
|
<endpoint endx="-10481" endy="-11559.6"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uyKzq99c7CWsm" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u2FVMk0M5QeQQ" linecolor="#ff0000" xmi.id="uK6SwyJgSJXIu" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11280.1" startx="-9119.74"/>
|
|
<endpoint endx="-9195.03" endy="-11154.4"/>
|
|
<point x="-9119.74" y="-11241.7"/>
|
|
<point x="-9195.03" y="-11241.7"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uZOnS5TAVhjv7" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="unuWzIDLWcGEi" linecolor="#ff0000" xmi.id="u4K5VWreV7NKM" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11306.7" startx="-9255.53"/>
|
|
<endpoint endx="-9194.32" endy="-11154.4"/>
|
|
<point x="-9255.53" y="-11248.8"/>
|
|
<point x="-9194.32" y="-11248.1"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uCqKX6TCSCpXM" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="umiDjfUhbMOwt" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uUBane5StnIbk" linecolor="#ff0000" xmi.id="uVTE5n08foSwS" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11564.9" startx="-9079.49"/>
|
|
<endpoint endx="-8994.43" endy="-11564.9"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uoZpsEuPGbfss" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uEJcZ32CpEAGm" linecolor="#ff0000" xmi.id="uvYCvX1CMFaNr" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9226.58"/>
|
|
<endpoint endx="-9031.28" endy="-11374.4"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11475.7" localid="u6Yd8nsk1cV0n" linecolor="#ff0000" xmi.id="u2ivOI3KJhwBd" role="703" text="5" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9099.69" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uarZBweRU7wd6" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="ug8HQSIkv4ufq" linecolor="#ff0000" xmi.id="uYZuCLvuXOGOJ" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9982.01"/>
|
|
<endpoint endx="-10111.9" endy="-11554.9"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11558.3" localid="uDViwIvvX7F4U" linecolor="#ff0000" xmi.id="u0GRkZZBh5k2W" role="703" text="1" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-10062.3" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="urSjINbD3NuEq" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uMayJl11AWhyZ" linecolor="#ff0000" xmi.id="uBJqX8anhRfMr" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9962.01"/>
|
|
<endpoint endx="-9891.56" endy="-11635.2"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11619" localid="ub8PXWYSgifsk" linecolor="#ff0000" xmi.id="uLuQbp6wqR73c" role="703" text="5" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9911.31" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uU845hGQ6nmrY" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="unHGXXmekCQ7E" linecolor="#ff0000" xmi.id="uazzIp8t3oEkj" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11626.4" startx="-10216.6"/>
|
|
<endpoint endx="-10481" endy="-11569.6"/>
|
|
<point x="-10216.6" y="-11569.6"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="u4qhkcGWjx0Z2" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u5wJE8r1oxMls" linecolor="#ff0000" xmi.id="urgsvmrp9psXZ" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11443.3" startx="-8941.03"/>
|
|
<endpoint endx="-9176.73" endy="-11154.4"/>
|
|
<point x="-8941.03" y="-11212.2"/>
|
|
<point x="-9176.73" y="-11213.6"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uSGoWtxQCg0k2" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u7LLN529OeV8y" linecolor="#ff0000" xmi.id="uHTBMhoTYPi57" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9982.01"/>
|
|
<endpoint endx="-9982.01" endy="-11684.7"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11619.8" localid="uNf5W4q2kX1Iw" linecolor="#ff0000" xmi.id="u86XKUOA5hLaU" role="703" text="3" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9994.67" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uZOnS5TAVhjv7" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uqxAq3e2ROH7r" linecolor="#ff0000" xmi.id="uYQ1u9jJgYyNw" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9244.47"/>
|
|
<endpoint endx="-9244.47" endy="-11334.7"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11453.3" localid="uNwfov4DeqcpH" linecolor="#ff0000" xmi.id="uFletKtjC0Iu1" role="703" text="3" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9265.22" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uSGoWtxQCg0k2" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uwhms1NxvTmlb" linecolor="#ff0000" xmi.id="uYQq8lYKSwB14" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11696.9" startx="-10148.7"/>
|
|
<endpoint endx="-10481" endy="-11577.3"/>
|
|
<point x="-10285.6" y="-11696.9"/>
|
|
<point x="-10284.2" y="-11577.3"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="ubZ4pDJ3kcyxb" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uxn2eFjS76SBQ" linecolor="#ff0000" xmi.id="ugOdJqMfrrfs1" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11543.5" startx="-9962.01"/>
|
|
<endpoint endx="-9636.16" endy="-11543.5"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11545.6" localid="uIzJLHw7kbau0" linecolor="#ff0000" xmi.id="uCq8YHcpBUgrN" role="703" text="7" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9850.44" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="urSjINbD3NuEq" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uYJsCJ98I4N4B" linecolor="#ff0000" xmi.id="usg4WSbrywyGW" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11663.2" startx="-9836.69"/>
|
|
<endpoint endx="-10481" endy="-11592.8"/>
|
|
<point x="-9836.69" y="-11746.9"/>
|
|
<point x="-10315.1" y="-11743.4"/>
|
|
<point x="-10315.8" y="-11592.8"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="uT7gc9aQzA8Gc" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uj04uSWcb3wGp" linecolor="#ff0000" xmi.id="uTA1gHYr2bJWt" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11314.6" startx="-9460.27"/>
|
|
<endpoint endx="-9204.88" endy="-11154.4"/>
|
|
<point x="-9460.27" y="-11224.1"/>
|
|
<point x="-9204.88" y="-11222"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11288.1" localid="uYB0ZTQ4X0DYt" linecolor="#ff0000" xmi.id="uktjbmrcnfFO9" role="703" text="Exit to Main Menu" width="118" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9460.27" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uT7gc9aQzA8Gc" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="upwxIMLgN3hSA" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uvfpzKaCi7d6e" linecolor="#ff0000" xmi.id="uSsftcVamen7k" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11387.8" startx="-9468.72"/>
|
|
<endpoint endx="-9468.72" endy="-11334.6"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11378.8" localid="uTEhbR1SRfxuQ" linecolor="#ff0000" xmi.id="uIMQivEgvnACf" role="703" text="User chooses option" width="133" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9452.94" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="udjrjPXZeOKKH" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="ubZ4pDJ3kcyxb" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uuVlbDfLkOAkw" linecolor="#ff0000" xmi.id="uYaYI3tPmZ459" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11515.5" startx="-9581.69"/>
|
|
<endpoint endx="-9581.69" endy="-11470.4"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11510.5" localid="uoKilSLQuNz04" linecolor="#ff0000" xmi.id="uyRPCmU2dLH0H" role="703" text="User chooses option" width="133" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9583.23" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uyKzq99c7CWsm" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u7jJyZeXXFARP" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uHUdHYcl3dlWU" linecolor="#ff0000" xmi.id="uFUhAwYT5E9x9" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11557.7" startx="-9226.58"/>
|
|
<endpoint endx="-9166.86" endy="-11308.1"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11467.8" localid="uikXdok4PrRPK" linecolor="#ff0000" xmi.id="uHI88XvNy64ci" role="703" text="4" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9202.58" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="usB5uQzBGoXUG" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="u2aoq9GDhbpaK" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uBi5rUAHTjxhB" linecolor="#ff0000" xmi.id="uAeP93AwWMfjb" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11482.6" startx="-9973.34"/>
|
|
<endpoint endx="-9973.34" endy="-11534.9"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11517.2" localid="uEdNv4QwjJRjA" linecolor="#ff0000" xmi.id="uwEsaX3gvxBaR" role="703" text="User chooses option" width="133" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9977.55" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uP7MbJInaiZnU" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uBmrb89H3CJr7" linecolor="#ff0000" xmi.id="uN93Ipxa0IXQ1" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11621.7" startx="-9682.6"/>
|
|
<endpoint endx="-10481" endy="-11598.4"/>
|
|
<point x="-9682.6" y="-11768.7"/>
|
|
<point x="-10336.2" y="-11769.4"/>
|
|
<point x="-10336.2" y="-11598.4"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="ua9DlygPIIB8m" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="uT7gc9aQzA8Gc" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uMs366d9wAyg0" linecolor="#ff0000" xmi.id="uYu0Y3uV5GBf9" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11314.6" startx="-9470.12"/>
|
|
<endpoint endx="-9578.82" endy="-11295.9"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11329.9" localid="uQC1WiFw1ZbpH" linecolor="#ff0000" xmi.id="ursNF5WFON1WS" role="703" text="Camera Name" width="95" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9587.79" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="udjrjPXZeOKKH" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u8d6FiyVgw52V" linecolor="#ff0000" xmi.id="uwUENNDJ2fYIg" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11450.4" startx="-9581.29"/>
|
|
<endpoint endx="-9212.54" endy="-11154.4"/>
|
|
<point x="-9581.29" y="-11416.9"/>
|
|
<point x="-9740.3" y="-11412.7"/>
|
|
<point x="-9741.7" y="-11177.7"/>
|
|
<point x="-9213.32" y="-11177"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11435.6" localid="ugTQHcbrXn106" linecolor="#ff0000" xmi.id="uemzr0qehjH9p" role="703" text="Exit to Main Menu" width="118" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9722.01" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="u6WQ1b7oGA4c2" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uoZpsEuPGbfss" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u4xiBhyK4cGhU" linecolor="#ff0000" xmi.id="uxoniCAPh3JAs" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11346.4" startx="-9012.1"/>
|
|
<endpoint endx="-9184.47" endy="-11154.4"/>
|
|
<point x="-9012.1" y="-11233.3"/>
|
|
<point x="-9184.47" y="-11232.6"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uny0qCP8Z5lMr" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="uvK8RZBDYcUat" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uPeqBjOElkh6u" linecolor="#ff0000" xmi.id="urLPTIk7Sosfb" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11713.8" startx="-9938.7"/>
|
|
<endpoint endx="-10481" endy="-11585.1"/>
|
|
<point x="-9938.7" y="-11732.1"/>
|
|
<point x="-10303.9" y="-11730.7"/>
|
|
<point x="-10304.6" y="-11585.1"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="uvK8RZBDYcUat" linewidth="0" textcolor="#000000" usesdiagramusefillcolor="1" widgetaid="usB5uQzBGoXUG" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="u4QpuEePix73S" linecolor="#ff0000" xmi.id="uth9OTGI05SmL" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Direct">
|
|
<startpoint starty="-11554.9" startx="-9962.01"/>
|
|
<endpoint endx="-9949.96" endy="-11685.8"/>
|
|
</linepath>
|
|
<floatingtext isinstance="0" showstereotype="1" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" autoresize="1" pretext="" height="22" fillcolor="none" y="-11620.4" localid="ufJBxbhDDvdPD" linecolor="#ff0000" xmi.id="uwF4ZcOgzlDSE" role="703" text="4" width="15" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" usesdiagramfillcolor="1" x="-9955.99" usefillcolor="1" posttext=""/>
|
|
</assocwidget>
|
|
<assocwidget visibilityB="0" roleBdoc="" widgetbid="upwxIMLgN3hSA" linewidth="0" textcolor="none" usesdiagramusefillcolor="1" widgetaid="ua9DlygPIIB8m" documentation="" autoresize="1" indexb="1" totalcountb="2" fillcolor="none" changeabilityA="900" localid="uIZh9j5FRAxDm" linecolor="#ff0000" xmi.id="uMOTSe06b3KZt" visibilityA="0" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" seqnum="" usesdiagramfillcolor="1" totalcounta="2" indexa="1" usefillcolor="1" type="515" changeabilityB="900" roleAdoc="">
|
|
<linepath layout="Polyline">
|
|
<startpoint starty="-11295.9" startx="-9629.83"/>
|
|
<endpoint endx="-9530.67" endy="-11398.6"/>
|
|
<point x="-9629.83" y="-11398.6"/>
|
|
</linepath>
|
|
</assocwidget>
|
|
</associations>
|
|
</diagram>
|
|
</diagrams>
|
|
</XMI.extension>
|
|
</UML:Model>
|
|
<UML:Model isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="Use Case View" isLeaf="false" xmi.id="Use_Case_View">
|
|
<UML:Namespace.ownedElement/>
|
|
</UML:Model>
|
|
<UML:Model isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="Component View" isLeaf="false" xmi.id="Component_View">
|
|
<UML:Namespace.ownedElement/>
|
|
</UML:Model>
|
|
<UML:Model isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="Deployment View" isLeaf="false" xmi.id="Deployment_View">
|
|
<UML:Namespace.ownedElement/>
|
|
</UML:Model>
|
|
<UML:Model isRoot="false" isAbstract="false" namespace="m1" visibility="public" isSpecification="false" name="Entity Relationship Model" isLeaf="false" xmi.id="Entity_Relationship_Model">
|
|
<UML:Namespace.ownedElement/>
|
|
<XMI.extension xmi.extender="umbrello">
|
|
<diagrams resolution="96">
|
|
<diagram linewidth="0" textcolor="#000000" showstereotype="1" snapcsgrid="0" showattribassocs="1" documentation="" snapgrid="0" showatts="1" showops="1" snapy="25" griddotcolor="#f7f7f7" zoom="100" fillcolor="#ffffc0" canvaswidth="0" backgroundcolor="#ffffff" showscope="1" localid="-1" linecolor="#ff0000" name="entity relationship diagram" canvasheight="0" xmi.id="uA5y206JETUkH" showpackage="1" font="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" showopsig="1" showgrid="0" usefillcolor="1" snapx="25" type="9" showpubliconly="0" isopen="1" showattsig="1">
|
|
<widgets/>
|
|
<messages/>
|
|
<associations/>
|
|
</diagram>
|
|
</diagrams>
|
|
</XMI.extension>
|
|
</UML:Model>
|
|
</UML:Namespace.ownedElement>
|
|
</UML:Model>
|
|
</XMI.content>
|
|
<XMI.extensions xmi.extender="umbrello">
|
|
<docsettings viewid="ugFPcmQ7CwNNq" documentation="" uniqueid="uOO4WzH2mhUVJ"/>
|
|
<listview>
|
|
<listitem open="1" type="800" id="Views">
|
|
<listitem open="1" type="821" id="Component_View"/>
|
|
<listitem open="1" type="827" id="Deployment_View"/>
|
|
<listitem open="1" type="836" id="Entity_Relationship_Model">
|
|
<listitem open="0" type="834" id="uA5y206JETUkH" label="entity relationship diagram"/>
|
|
</listitem>
|
|
<listitem open="1" type="801" id="Logical_View">
|
|
<listitem open="0" type="809" id="uucBDfma2hRQg" label="activity diagram"/>
|
|
<listitem open="0" type="807" id="ugFPcmQ7CwNNq" label="class diagram"/>
|
|
<listitem open="1" type="813" id="uASDoshKBmmnI">
|
|
<listitem open="0" type="814" id="uUzCr6SEgyYZ9"/>
|
|
<listitem open="0" type="814" id="uJYu4rRYxz5ws"/>
|
|
<listitem open="0" type="815" id="uyVuteB0NjFu3"/>
|
|
<listitem open="0" type="814" id="uzuN6tEl319Xv"/>
|
|
<listitem open="0" type="814" id="uISY0qW0xwIqT"/>
|
|
<listitem open="0" type="814" id="ulq25h6WMZJqe"/>
|
|
<listitem open="0" type="814" id="udfHHyUsieAgq"/>
|
|
<listitem open="0" type="815" id="uO6c4HgKt99TZ"/>
|
|
<listitem open="0" type="814" id="uWzO1KfycXL5N"/>
|
|
<listitem open="0" type="815" id="ueXiZq5immd11"/>
|
|
<listitem open="0" type="815" id="ugVhQ3rXtZwsn"/>
|
|
<listitem open="0" type="815" id="uqOvbu5MwQyvo"/>
|
|
<listitem open="0" type="814" id="uRu45R8iQt93b"/>
|
|
</listitem>
|
|
<listitem open="0" type="831" id="uX8xl8SknIiop">
|
|
<listitem open="0" type="839" id="uXEgtMa6ojh5v"/>
|
|
<listitem open="0" type="839" id="uumycodD0FI2b"/>
|
|
<listitem open="0" type="839" id="uykUAZaKuvRtj"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="ug4xpByAYlb4g">
|
|
<listitem open="0" type="814" id="uK88kcnvrmoo8"/>
|
|
<listitem open="0" type="814" id="u3udpeyVwdpDa"/>
|
|
<listitem open="0" type="814" id="uYWpaHvh5Ea8c"/>
|
|
<listitem open="0" type="814" id="uzoFZpXOdvl6c"/>
|
|
<listitem open="0" type="814" id="uuuHPOIAKL8w4"/>
|
|
<listitem open="0" type="815" id="ulFBJ7Xj4FHo2"/>
|
|
<listitem open="0" type="815" id="uzbbqdUp01Lwd"/>
|
|
<listitem open="0" type="815" id="udSCxWCrJnTGT"/>
|
|
<listitem open="0" type="815" id="u4T9xVeA4FbwR"/>
|
|
<listitem open="0" type="815" id="uEcXRa7ddJv27"/>
|
|
<listitem open="0" type="814" id="uy1aedRJTGkRH"/>
|
|
<listitem open="0" type="815" id="uHFyReuYzlHTQ"/>
|
|
<listitem open="0" type="815" id="upIArGqbH8mx4"/>
|
|
<listitem open="0" type="815" id="u78RFO4jh0MkX"/>
|
|
<listitem open="0" type="814" id="ukpfsZ1jA7ptq"/>
|
|
<listitem open="0" type="815" id="uCCqp6UFmUyQ1"/>
|
|
<listitem open="0" type="815" id="uAPxkDLLjHK1c"/>
|
|
<listitem open="0" type="815" id="uMTZvohhrmNdr"/>
|
|
<listitem open="0" type="815" id="ugfPMBYLfMP4j"/>
|
|
<listitem open="0" type="815" id="uiM7IsLx84uSj"/>
|
|
<listitem open="0" type="815" id="uMZJZTzMHcotL"/>
|
|
<listitem open="0" type="815" id="u6MfKFmI49XW5"/>
|
|
<listitem open="0" type="815" id="uhW0WK7Tw8jzd"/>
|
|
<listitem open="0" type="815" id="unEABXT4EkoL0"/>
|
|
</listitem>
|
|
<listitem open="0" type="831" id="uWQfGitACJCjJ">
|
|
<listitem open="0" type="839" id="uvn8JayutLubu"/>
|
|
<listitem open="0" type="839" id="u73SthAH5zOdg"/>
|
|
<listitem open="0" type="839" id="uf89LbU8P2tU9"/>
|
|
<listitem open="0" type="839" id="ucE3ge21K40yx"/>
|
|
<listitem open="0" type="839" id="ujmy3pgeQ26Qi"/>
|
|
<listitem open="0" type="839" id="umY8MrEM1VFve"/>
|
|
<listitem open="0" type="839" id="uDmhLJC7JhotK"/>
|
|
<listitem open="0" type="839" id="uRWCAbjEUsefQ"/>
|
|
<listitem open="0" type="839" id="uiMqHtn48FYKm"/>
|
|
<listitem open="0" type="839" id="ukyBP0PULsi35"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="uibCosoM5C9ES">
|
|
<listitem open="0" type="814" id="uMgVV2QK7nWJl"/>
|
|
<listitem open="0" type="814" id="umBpDgQHPWmCa"/>
|
|
<listitem open="0" type="814" id="uDq6GDbPZQ92T"/>
|
|
<listitem open="0" type="814" id="uvYBZ8VG7zmXM"/>
|
|
<listitem open="0" type="814" id="uVbaYwGBhwkJg"/>
|
|
<listitem open="0" type="815" id="uo6AU3IofbYX5"/>
|
|
<listitem open="0" type="815" id="uPYVGaXG16zfz"/>
|
|
<listitem open="0" type="814" id="uzC7XxxxgdanH"/>
|
|
<listitem open="0" type="814" id="uE7eAmAP3IyCz"/>
|
|
<listitem open="0" type="814" id="u4x5QhxYlc4Q1"/>
|
|
<listitem open="0" type="814" id="uhHak0Hz9SDbD"/>
|
|
<listitem open="0" type="815" id="ujgCbuqZ9xilL"/>
|
|
<listitem open="0" type="815" id="u9NyH522SeaSa"/>
|
|
</listitem>
|
|
<listitem open="0" type="830" id="Datatypes">
|
|
<listitem open="1" type="829" id="uUFR10GCed46Q"/>
|
|
<listitem open="1" type="829" id="umD3Y5YgpHTL5"/>
|
|
<listitem open="1" type="829" id="uI35GxgSf15Ke"/>
|
|
<listitem open="1" type="829" id="udTQ2y9M1GLg9"/>
|
|
<listitem open="1" type="829" id="uMX44yrUJSq2Z"/>
|
|
<listitem open="1" type="829" id="uDoWSpaQhZYMj"/>
|
|
<listitem open="1" type="829" id="uUBHYF2VTs95m"/>
|
|
<listitem open="1" type="829" id="uQwi67sMHYYH8"/>
|
|
<listitem open="1" type="829" id="u3iolu1KBaeLC"/>
|
|
<listitem open="1" type="829" id="um5BRQatdPbwa"/>
|
|
<listitem open="1" type="829" id="u21ZDyvoF16O4"/>
|
|
<listitem open="1" type="829" id="uCrL5Q2hyX5sQ"/>
|
|
<listitem open="1" type="829" id="uQwhrzourTSFc"/>
|
|
<listitem open="1" type="829" id="uLtWoZg2r6vK5"/>
|
|
<listitem open="1" type="829" id="u53NpBDIiJKLh"/>
|
|
<listitem open="1" type="829" id="uBxtki3mYxNXH"/>
|
|
<listitem open="1" type="829" id="uCO3HE6xCfnkW"/>
|
|
<listitem open="1" type="829" id="uEXdFpDPOdfpV"/>
|
|
<listitem open="1" type="829" id="uOY0ocupt3vUN"/>
|
|
<listitem open="1" type="829" id="u1Ano2L3MNqB9"/>
|
|
<listitem open="1" type="829" id="unYkf3XdlbOvG"/>
|
|
<listitem open="1" type="829" id="uCN5vhsamIMZS"/>
|
|
<listitem open="1" type="829" id="ue50uK6Axr5uJ"/>
|
|
<listitem open="1" type="829" id="u6dG093IE5KRR"/>
|
|
<listitem open="1" type="829" id="uDhbC7HamBUXf"/>
|
|
<listitem open="1" type="829" id="uF3615aHJR1V4"/>
|
|
<listitem open="1" type="829" id="u8ik9hKNzgKcH"/>
|
|
<listitem open="1" type="829" id="uRiiCWnAy5RVe"/>
|
|
<listitem open="1" type="829" id="uppdevdmKoAeT"/>
|
|
<listitem open="1" type="829" id="usELT5EPkFTAY"/>
|
|
<listitem open="1" type="829" id="uTFuxlA0IbjaA"/>
|
|
<listitem open="1" type="829" id="uBAEhogVaCinW"/>
|
|
<listitem open="1" type="829" id="uBH80PyFvNP0W"/>
|
|
<listitem open="1" type="829" id="uVfGuVVTLsk6z"/>
|
|
<listitem open="1" type="829" id="uyTBx9P7f4VjF"/>
|
|
<listitem open="1" type="829" id="u3L4GKc1rVusd"/>
|
|
<listitem open="1" type="829" id="usyIvFLIaNduc"/>
|
|
<listitem open="1" type="829" id="ujXLj0TVNtFs1"/>
|
|
<listitem open="1" type="829" id="uMYRTkE3rxR2B"/>
|
|
<listitem open="1" type="829" id="uN4zCdvj7rsZz"/>
|
|
<listitem open="1" type="829" id="uBwekzeWX8icG"/>
|
|
<listitem open="1" type="829" id="uM9KJKNeM6Kog"/>
|
|
<listitem open="1" type="829" id="unl1k1K0LtpWx"/>
|
|
<listitem open="1" type="829" id="uDuQErHgUBVcM"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="uaq5wFieCACsK">
|
|
<listitem open="0" type="814" id="u6zsQtVXJeK9I"/>
|
|
<listitem open="0" type="815" id="uHA8XrxTWFz1A"/>
|
|
<listitem open="0" type="814" id="uWQEWtZl7G4tJ"/>
|
|
<listitem open="0" type="814" id="umTPGzsTewAMH"/>
|
|
<listitem open="0" type="814" id="uPCAY3ou1J05g"/>
|
|
<listitem open="0" type="814" id="uwq5HGOI8zXHp"/>
|
|
<listitem open="0" type="815" id="uQk2yP91hB32b"/>
|
|
<listitem open="0" type="815" id="ubbXibbgDeWRE"/>
|
|
<listitem open="0" type="814" id="umM0MefO6Nslx"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="uiXctorvzHidz">
|
|
<listitem open="0" type="815" id="uQaAIayfZmRTr"/>
|
|
<listitem open="0" type="815" id="uVMQYGF8r6f7y"/>
|
|
<listitem open="0" type="815" id="uG2ml0g1zFd1n"/>
|
|
<listitem open="0" type="815" id="uqtEpHdA20MJO"/>
|
|
<listitem open="0" type="815" id="uwCf3NOOs6bOI"/>
|
|
<listitem open="0" type="815" id="uJW8yFYg3muFK"/>
|
|
<listitem open="0" type="815" id="uKhEpTnM8aYgW"/>
|
|
<listitem open="0" type="814" id="urq8f5SKTIpyb"/>
|
|
<listitem open="0" type="814" id="umpKaM853vbob"/>
|
|
<listitem open="0" type="814" id="uRFPkG1OcyQzH"/>
|
|
<listitem open="0" type="814" id="uXafv7Bqv1vlj"/>
|
|
<listitem open="0" type="814" id="uhGnDpzud0eKy"/>
|
|
<listitem open="0" type="814" id="uscGkGT6pA18U"/>
|
|
<listitem open="0" type="815" id="uee8kI2xnR8SV"/>
|
|
<listitem open="0" type="814" id="uwLa88M9lPXpz"/>
|
|
<listitem open="0" type="814" id="u5pOlwHMbAkbC"/>
|
|
<listitem open="0" type="814" id="uhGqwGvjvNDrF"/>
|
|
<listitem open="0" type="815" id="u8UPYdPVsfJ9L"/>
|
|
<listitem open="0" type="815" id="uxvjOWjAixlgp"/>
|
|
<listitem open="0" type="814" id="uHBe39GldXDOi"/>
|
|
<listitem open="0" type="814" id="uyM1wKLI2qKzr"/>
|
|
<listitem open="0" type="814" id="u8J4qyzhXYsg3"/>
|
|
<listitem open="0" type="814" id="utwJCIWg03ZAz"/>
|
|
</listitem>
|
|
<listitem open="1" type="831" id="uhoYk9h6KpMug">
|
|
<listitem open="0" type="839" id="unJPOlWUL5Dmv"/>
|
|
<listitem open="0" type="839" id="ulhOoUKvgvVVe"/>
|
|
<listitem open="0" type="839" id="u5jKNi1695At9"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="uxutGWImUrqt7">
|
|
<listitem open="0" type="814" id="usQIEDGKPGhT9"/>
|
|
<listitem open="0" type="814" id="uT50OpN6jOap5"/>
|
|
<listitem open="0" type="814" id="uCsd18DlWrWRF"/>
|
|
<listitem open="0" type="815" id="uN5CzQSYAnEuI"/>
|
|
<listitem open="0" type="815" id="uC99YehW24GIL"/>
|
|
<listitem open="0" type="815" id="uPf65fmeKYRyL"/>
|
|
<listitem open="0" type="815" id="uDDmEZMsSRNys"/>
|
|
<listitem open="0" type="815" id="ucT7DSSA4bprm"/>
|
|
<listitem open="0" type="815" id="uwUQqQE7Opx6e"/>
|
|
<listitem open="0" type="815" id="u62sIIBKT4rQR"/>
|
|
<listitem open="0" type="814" id="u6cDpzouIuCbE"/>
|
|
<listitem open="0" type="814" id="uwNi7W5uRzqkt"/>
|
|
<listitem open="0" type="814" id="ucOvTSRQwQ2kr"/>
|
|
<listitem open="0" type="814" id="uOMz2SVLu1Ltn"/>
|
|
<listitem open="0" type="815" id="uX2PuJKNHcwqe"/>
|
|
<listitem open="0" type="815" id="u7dL91xr3ZtpB"/>
|
|
<listitem open="0" type="815" id="uc06GU5TBKCOt"/>
|
|
<listitem open="0" type="815" id="u01Gb7GncAwwu"/>
|
|
<listitem open="0" type="815" id="uSEB1V0eCxOVI"/>
|
|
<listitem open="0" type="815" id="uXqgLkMJUXyG9"/>
|
|
<listitem open="0" type="815" id="u36iwSk1gAsEL"/>
|
|
<listitem open="0" type="815" id="uurFGK0TAq7zx"/>
|
|
<listitem open="0" type="815" id="uekZfs8wb856g"/>
|
|
</listitem>
|
|
<listitem open="1" type="813" id="uowtOePSx4RnM"/>
|
|
<listitem open="1" type="813" id="uAwVIyVVNjSlp"/>
|
|
<listitem open="0" type="813" id="uszTbwciTSOHV">
|
|
<listitem open="0" type="814" id="uMd0VTCwpENXT"/>
|
|
<listitem open="0" type="815" id="uZ4qzz259Z3S3"/>
|
|
<listitem open="0" type="814" id="uUWwF5fgtv9QG"/>
|
|
<listitem open="0" type="814" id="uZhvZ4Q9CC10o"/>
|
|
<listitem open="0" type="814" id="u0Q4w9Mkq75IR"/>
|
|
</listitem>
|
|
</listitem>
|
|
<listitem open="1" type="802" id="Use_Case_View"/>
|
|
</listitem>
|
|
</listview>
|
|
<codegeneration>
|
|
<codegenerator language="Java"/>
|
|
</codegeneration>
|
|
</XMI.extensions>
|
|
</XMI>
|