<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="15.1">
  <help_text>// Uncomment the following line to change the fontsize and font:
fontsize=14
// fontfamily=SansSerif //possible: SansSerif,Serif,Monospaced


//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use +/- or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements &gt; New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////


// This text will be stored with each diagram;  use it for notes.</help_text>
  <zoom_level>15</zoom_level>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>510</x>
      <y>120</y>
      <w>195</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>&lt;&lt;interface&gt;&gt;
**BaseCurve**
bg=pink
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>390</x>
      <y>510</y>
      <w>180</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Discrete**
bg=green</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>720</x>
      <y>315</y>
      <w>180</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>&lt;&lt;interface&gt;&gt;
**Interpolated**
bg=pink
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>615</x>
      <y>510</y>
      <w>180</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Continuous**
bg=green
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>840</x>
      <y>510</y>
      <w>165</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Segmented**
bg=green
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>510</x>
      <y>195</y>
      <w>45</w>
      <h>345</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;210.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>660</x>
      <y>195</y>
      <w>90</w>
      <h>195</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;110.0;40.0;110.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>750</x>
      <y>390</y>
      <w>45</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;80.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>855</x>
      <y>390</y>
      <w>45</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;80.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>930</x>
      <y>120</y>
      <w>255</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**KeyframeContainer**
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>690</x>
      <y>150</y>
      <w>270</w>
      <h>45</h>
    </coordinates>
    <panel_attributes>lt=&lt;.</panel_attributes>
    <additional_attributes>160.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1275</x>
      <y>120</y>
      <w>150</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Keyframe**
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1170</x>
      <y>150</y>
      <w>135</w>
      <h>45</h>
    </coordinates>
    <panel_attributes>lt=&lt;.</panel_attributes>
    <additional_attributes>70.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1050</x>
      <y>510</y>
      <w>165</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Queue**
bg=green
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1260</x>
      <y>510</y>
      <w>195</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**UnorderedMap**
bg=green
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Text</id>
    <coordinates>
      <x>300</x>
      <y>0</y>
      <w>375</w>
      <h>105</h>
    </coordinates>
    <panel_attributes>**Overview**
style=wordwrap
fontsize=20</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Text</id>
    <coordinates>
      <x>315</x>
      <y>675</y>
      <w>375</w>
      <h>105</h>
    </coordinates>
    <panel_attributes>**Primitive Curves**
style=wordwrap
fontsize=20</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>330</x>
      <y>765</y>
      <w>360</w>
      <h>270</h>
    </coordinates>
    <panel_attributes>&lt;&lt;interface&gt;&gt;
**BaseCurve&lt;T&gt;**
bg=pink
--
/get(time_t): T/
frame(time_t): pair&lt;time_t, T&gt;
next_frame(time_t): pair&lt;time_t, T&gt;
set_insert(time_t, T): void
set_last(time_t, T): void
set_replace(time_t, T): void
sync(BaseCurve&lt;T&gt;, time_t): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>270</x>
      <y>1290</y>
      <w>270</w>
      <h>135</h>
    </coordinates>
    <panel_attributes>**Discrete**
bg=green
--
get(time_t): T
get_time(time_t): T
get_previous(time_t): T</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>765</x>
      <y>1095</y>
      <w>255</w>
      <h>120</h>
    </coordinates>
    <panel_attributes>&lt;&lt;interface&gt;&gt;
**Interpolated**
bg=pink
--
get(time_t): T</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>600</x>
      <y>1290</y>
      <w>270</w>
      <h>135</h>
    </coordinates>
    <panel_attributes>**Continuous**
bg=green
--
set_insert(time_t, T): void
set_last(time_t, T): void</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>930</x>
      <y>1290</y>
      <w>345</w>
      <h>135</h>
    </coordinates>
    <panel_attributes>**Segmented**
bg=green
--
set_insert_jump(time_t, T, T): void
set_last_jump(time_t, T, T): void
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>420</x>
      <y>1020</y>
      <w>45</w>
      <h>300</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;180.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>615</x>
      <y>1020</y>
      <w>180</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;80.0;100.0;80.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>780</x>
      <y>1200</y>
      <w>45</w>
      <h>120</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;60.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>975</x>
      <y>1200</y>
      <w>45</w>
      <h>120</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;-</panel_attributes>
    <additional_attributes>10.0;10.0;10.0;60.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>915</x>
      <y>750</y>
      <w>255</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**KeyframeContainer**
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>675</x>
      <y>780</y>
      <w>270</w>
      <h>45</h>
    </coordinates>
    <panel_attributes>lt=&lt;.</panel_attributes>
    <additional_attributes>160.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLClass</id>
    <coordinates>
      <x>1260</x>
      <y>750</y>
      <w>150</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>
**Keyframe**
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>1155</x>
      <y>780</y>
      <w>135</w>
      <h>45</h>
    </coordinates>
    <panel_attributes>lt=&lt;.</panel_attributes>
    <additional_attributes>70.0;10.0;10.0;10.0</additional_attributes>
  </element>
</diagram>
