]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network/src/org/simantics/district/network/visualisations/model/DynamicSizeMap.java
7edb12b912faa63a9ce1b64422cef252b5a83195
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / visualisations / model / DynamicSizeMap.java
1 package org.simantics.district.network.visualisations.model;
2
3 import java.util.List;
4
5 public class DynamicSizeMap {
6
7     private String label;
8     private List<Double> sizes;
9
10     public DynamicSizeMap(String label, List<Double> sizes) {
11         this.label = label;
12         this.sizes = sizes;
13     }
14
15     public String getLabel() {
16         return label;
17     }
18     
19     public List<Double> getSizes() {
20         return sizes;
21     }
22
23     public double getSize(double value, double defaultMin, double defaultMax) {
24         
25         double gap = defaultMax - defaultMin;
26         double singleGap = gap / getSizes().size();
27         
28         int i = 0;
29         while (i < getSizes().size() - 1) {
30             if (value <= defaultMin + (i * singleGap)) {
31                 break;
32             }
33             i++;
34         }
35         
36         return getSizes().get(i);
37     }
38 }