Internalize lttng.core APIs
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / views / latency / model / GraphScaledData.java
1 /*******************************************************************************
2 * Copyright (c) 2011 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
12 package org.eclipse.linuxtools.lttng.ui.views.latency.model;
13
14 /**
15 * <b><u>GraphScaledData</u></b>
16 * Convenience class for scaled distribution data.
17 * <p>
18 */
19 import java.util.Arrays;
20
21 import org.eclipse.linuxtools.tmf.ui.views.distribution.model.BaseDistributionData;
22
23 public class GraphScaledData {
24
25 // ------------------------------------------------------------------------
26 // Attributes
27 // ------------------------------------------------------------------------
28
29 private int fWidth;
30 private int fHeight;
31 private int fBarWidth;
32 private int[][] fData;
33 private BaseDistributionData fHorDistributionData;
34 private BaseDistributionData fVerDistributionData;
35 private long fCurrentEventTime;
36
37 // ------------------------------------------------------------------------
38 // Constructor
39 // ------------------------------------------------------------------------
40
41 public GraphScaledData(int width, int height, int barWidth) {
42 fWidth = width;
43 fHeight = height;
44 fBarWidth = barWidth;
45 int horNbBuckets = (int)width/barWidth;
46 int verNbBuckets = (int)height/barWidth;
47 fData = new int[horNbBuckets][verNbBuckets];
48 for (int[] row : fData) {
49 Arrays.fill(row, 0);
50 }
51 fHorDistributionData = new BaseDistributionData(horNbBuckets);
52 fHorDistributionData.clear();
53
54 fVerDistributionData = new BaseDistributionData(verNbBuckets);
55 fVerDistributionData.clear();
56
57 fCurrentEventTime = Config.INVALID_EVENT_TIME;
58 }
59
60 // ------------------------------------------------------------------------
61 // Accessors
62 // ------------------------------------------------------------------------
63
64 public int getWidth() {
65 return fWidth;
66 }
67
68 public int getHeight() {
69 return fHeight;
70 }
71
72 public int getBarWidth() {
73 return fBarWidth;
74 }
75
76 public int[][] getData() {
77 return fData;
78 }
79
80 public int getHorNbBuckets() {
81 return fHorDistributionData.getNbBuckets();
82 }
83
84 public int getVerNbBuckets() {
85 return fVerDistributionData.getNbBuckets();
86 }
87
88 public long getHorFirstBucketTime() {
89 return fHorDistributionData.getFirstBucketTime();
90 }
91
92 public long getVerFirstBucketTime() {
93 return fVerDistributionData.getFirstBucketTime();
94 }
95
96 public long getHorLastBucketTime() {
97 return fHorDistributionData.getLastBucketTime();
98 }
99
100 public long getVerLastBucketTime() {
101 return fVerDistributionData.getLastBucketTime();
102 }
103
104 public long getHorFirstEventTime() {
105 return fHorDistributionData.getFirstEventTime();
106 }
107
108 public long getVerFirstEventTime() {
109 return fVerDistributionData.getFirstEventTime();
110 }
111
112 public long getHorLastEventTime() {
113 return fHorDistributionData.getLastEventTime();
114 }
115
116 public long getVerLastEventTime() {
117 return fVerDistributionData.getLastEventTime();
118 }
119
120 public long getHorBucketDuration() {
121 return fHorDistributionData.getBucketDuration();
122 }
123
124 public long getVerBucketDuration() {
125 return fVerDistributionData.getBucketDuration();
126 }
127
128 public int getHorLastBucket() {
129 return fHorDistributionData.getLastBucket();
130 }
131
132 public int getVerLastBucket() {
133 return fVerDistributionData.getLastBucket();
134 }
135
136 public long getHorBucketStartTime(int index) {
137 return fHorDistributionData.getBucketStartTime(index);
138 }
139
140 public long getHorBucketEndTime(int index) {
141 return fHorDistributionData.getBucketEndTime(index);
142 }
143
144 public long getVerBucketStartTime(int index) {
145 return fVerDistributionData.getBucketStartTime(index);
146 }
147
148 public long getVerBucketEndTime(int index) {
149 return fVerDistributionData.getBucketEndTime(index);
150 }
151
152 public int getEventCount(int horIndex, int verIndex) {
153 return fData[horIndex][verIndex];
154 }
155
156 public long getCurrentEventTime() {
157 return fCurrentEventTime;
158 }
159
160 public boolean isCurrentEventTimeValid() {
161 if (fCurrentEventTime == Config.INVALID_EVENT_TIME || fCurrentEventTime < getHorFirstEventTime() || fCurrentEventTime > getHorLastEventTime()) {
162 return false;
163 }
164 return true;
165 }
166
167 public int getHorBucketIndex(long time) {
168 return fHorDistributionData.getIndex(time);
169 }
170
171 public int getVerBucketIndex(long time) {
172 return fVerDistributionData.getIndex(time);
173 }
174
175 public boolean isHorIndexValid(int index) {
176 return fHorDistributionData.isIndexValid(index);
177 }
178
179 public boolean isVerIndexValid(int index) {
180 return fVerDistributionData.isIndexValid(index);
181 }
182
183 // ------------------------------------------------------------------------
184 // Operations
185 // ------------------------------------------------------------------------
186
187 public void setWidth(int width) {
188 fWidth = width;
189 }
190
191 public void setHeight(int height) {
192 fHeight = height;
193 }
194
195 public void setBarWidth(int barWidth) {
196 fBarWidth = barWidth;
197 }
198
199 public void setData(int[][] data) {
200 fData = data;
201 }
202
203 public void setHorFirstBucketTime(long firstBucketTime) {
204 fHorDistributionData.setFirstBucketTime(firstBucketTime);
205 }
206
207 public void setVerFirstBucketTime(long firstBucketTime) {
208 fVerDistributionData.setFirstBucketTime(firstBucketTime);
209 }
210
211 public void setHorFirstEventTime(long firstEventTime) {
212 fHorDistributionData.setFirstEventTime(firstEventTime);
213 }
214
215 public void setVerFirstEventTime(long firstEventTime) {
216 fVerDistributionData.setFirstEventTime(firstEventTime);
217 }
218
219 public void setHorLastEventTime(long lastEventTime) {
220 fHorDistributionData.setLastEventTime(lastEventTime);
221 }
222
223 public void setVerLastEventTime(long lastEventTime) {
224 fVerDistributionData.setLastEventTime(lastEventTime);
225 }
226
227 public void setHorBucketDuration(long bucketDuration) {
228 fHorDistributionData.setBucketDuration(bucketDuration);
229 }
230
231 public void setVerBucketDuration(long bucketDuration) {
232 fVerDistributionData.setBucketDuration(bucketDuration);
233 }
234
235 public void setHorLastBucket(int lastBucket) {
236 fHorDistributionData.setLastBucket(lastBucket);
237 }
238
239 public void setVerLastBucket(int lastBucket) {
240 fVerDistributionData.setLastBucket(lastBucket);
241 }
242
243 public void setCurrentEventTime(long currentEventTime) {
244 fCurrentEventTime = currentEventTime;
245 }
246 }
This page took 0.036932 seconds and 5 git commands to generate.