Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
NUI
TULIP-CPS
Commits
925ca60a
Commit
925ca60a
authored
Nov 09, 2020
by
Nico Mack
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor performance improvements by removing unnecessary shape operations.
parent
8ec3cf4e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
56 deletions
+20
-56
CPS/src/lu/list/itis/dkd/tui/widget/corona/CoxcombSlice.java
CPS/src/lu/list/itis/dkd/tui/widget/corona/CoxcombSlice.java
+20
-56
No files found.
CPS/src/lu/list/itis/dkd/tui/widget/corona/CoxcombSlice.java
View file @
925ca60a
...
@@ -93,7 +93,6 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
...
@@ -93,7 +93,6 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
private
double
normalizedValue
;
private
double
normalizedValue
;
private
double
correctedAngle
;
private
double
correctedAngle
;
private
Area
outer
;
private
Area
inner
;
private
Area
inner
;
private
Area
slice
;
private
Area
slice
;
private
Area
face
;
private
Area
face
;
...
@@ -267,7 +266,6 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
...
@@ -267,7 +266,6 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
private
void
buildFromProperties
()
{
private
void
buildFromProperties
()
{
// double diameter;
FontRenderContext
renderingContext
=
new
FontRenderContext
(
null
,
true
,
true
);
FontRenderContext
renderingContext
=
new
FontRenderContext
(
null
,
true
,
true
);
metrics
=
textFont
.
getLineMetrics
(
label
,
renderingContext
);
metrics
=
textFont
.
getLineMetrics
(
label
,
renderingContext
);
...
@@ -279,60 +277,23 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
...
@@ -279,60 +277,23 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
this
.
updateSlice
();
this
.
updateSlice
();
// correctedAngle = AngleUtils.moduloThreeSixty(AngleUtils.THREE_SIXTY - startAngle -
// arcSpan);
//
// diameter = 2 * innerRadius;
// inner = new Area(new Ellipse2D.Double(-innerRadius, -innerRadius, diameter, diameter));
//
// diameter = 2 * lowerBoundRadius;
// outer = new Area(new Ellipse2D.Double(-lowerBoundRadius, -lowerBoundRadius, diameter,
// diameter));
//
// Shape sector = new Arc2D.Double(-lowerBoundRadius, -lowerBoundRadius, diameter, diameter,
// correctedAngle, arcSpan, Arc2D.PIE);
// Area initial = new Area(sector);
// initial.subtract(inner);
// outer.subtract(inner);
// shape = initial;
//
// diameter = 2 * upperBoundRadius;
// sector = new Arc2D.Double(-upperBoundRadius, -upperBoundRadius, diameter, diameter,
// correctedAngle, arcSpan, Arc2D.PIE);
// face = new Area(sector);
// face.subtract(inner);
// outer.subtract(inner);
borderStroke
=
(
strokeWidth
>
0
)
?
new
BasicStroke
(
strokeWidth
)
:
null
;
borderStroke
=
(
strokeWidth
>
0
)
?
new
BasicStroke
(
strokeWidth
)
:
null
;
// int availableWidth;
//
// if (wrapToFit) {
// if (!radialLayout) {
// double arcLength = Math.PI * ((upperBoundRadius + lowerBoundRadius) / 2) * (arcSpan /
// AngleUtils.ONE_EIGHTY);
// availableWidth = (int) arcLength - 2 * insetBorder;
// } else {
// availableWidth = (int) (upperBoundRadius - lowerBoundRadius - 2 * insetBorder);
// }
// lines = StringUtils.wrapToFit(label, availableWidth, textFont);
// } else {
// lines = new ArrayList<>();
// lines.add(label);
// }
//
// if (!radialLayout) {
// labelShape = this.buildCircularText(lines, metrics);
// } else {
// labelShape = this.buildRadialText(lines, metrics, correctedAngle);
// }
this
.
setInformation
(
this
.
variable
.
getValue
());
this
.
setInformation
(
this
.
variable
.
getValue
());
this
.
setSelected
(
this
.
isSelected
);
this
.
setSelected
(
this
.
isSelected
);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
private
Shape
buildSector
(
double
radius
,
double
diameter
)
{
Shape
sector
=
(
arcSpan
<
AngleUtils
.
THREE_SIXTY
)
?
new
Arc2D
.
Double
(-
radius
,
-
radius
,
diameter
,
diameter
,
correctedAngle
,
arcSpan
,
Arc2D
.
PIE
)
:
new
Ellipse2D
.
Double
(-
radius
,
-
radius
,
diameter
,
diameter
);
return
sector
;
}
// ---------------------------------------------------------------------------
private
void
updateSlice
()
{
private
void
updateSlice
()
{
double
diameter
;
double
diameter
;
List
<
String
>
lines
;
List
<
String
>
lines
;
...
@@ -342,20 +303,22 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
...
@@ -342,20 +303,22 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
diameter
=
2
*
innerRadius
;
diameter
=
2
*
innerRadius
;
inner
=
new
Area
(
new
Ellipse2D
.
Double
(-
innerRadius
,
-
innerRadius
,
diameter
,
diameter
));
inner
=
new
Area
(
new
Ellipse2D
.
Double
(-
innerRadius
,
-
innerRadius
,
diameter
,
diameter
));
diameter
=
2
*
lowerBoundRadius
;
Shape
sector
=
buildSector
(
lowerBoundRadius
,
diameter
);
outer
=
new
Area
(
new
Ellipse2D
.
Double
(-
lowerBoundRadius
,
-
lowerBoundRadius
,
diameter
,
diameter
));
// Shape sector = (arcSpan < AngleUtils.THREE_SIXTY) ? new Arc2D.Double(-lowerBoundRadius,
// -lowerBoundRadius, diameter, diameter, correctedAngle, arcSpan, Arc2D.PIE);
// : new Ellipse2D.Double(-lowerBoundRadius, -lowerBoundRadius, diameter, diameter);
Shape
sector
=
new
Arc2D
.
Double
(-
lowerBoundRadius
,
-
lowerBoundRadius
,
diameter
,
diameter
,
correctedAngle
,
arcSpan
,
Arc2D
.
PIE
);
Area
initial
=
new
Area
(
sector
);
Area
initial
=
new
Area
(
sector
);
initial
.
subtract
(
inner
);
initial
.
subtract
(
inner
);
outer
.
subtract
(
inner
);
shape
=
initial
;
shape
=
initial
;
diameter
=
2
*
upperBoundRadius
;
diameter
=
2
*
upperBoundRadius
;
sector
=
new
Arc2D
.
Double
(-
upperBoundRadius
,
-
upperBoundRadius
,
diameter
,
diameter
,
correctedAngle
,
arcSpan
,
Arc2D
.
PIE
);
// sector = new Arc2D.Double(-upperBoundRadius, -upperBoundRadius, diameter, diameter,
// correctedAngle, arcSpan, Arc2D.PIE);
sector
=
buildSector
(
upperBoundRadius
,
diameter
);
face
=
new
Area
(
sector
);
face
=
new
Area
(
sector
);
face
.
subtract
(
inner
);
face
.
subtract
(
inner
);
outer
.
subtract
(
inner
);
int
availableWidth
;
int
availableWidth
;
...
@@ -462,10 +425,11 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
...
@@ -462,10 +425,11 @@ public class CoxcombSlice extends ValueCorona implements InformationProvider<Obj
}
}
double
diameter
=
2
*
radius
;
double
diameter
=
2
*
radius
;
Shape
sector
=
new
Arc2D
.
Double
(-
radius
,
-
radius
,
diameter
,
diameter
,
correctedAngle
,
arcSpan
,
Arc2D
.
PIE
);
// Shape sector = new Arc2D.Double(-radius, -radius, diameter, diameter, correctedAngle,
// arcSpan, Arc2D.PIE);
Shape
sector
=
buildSector
(
radius
,
diameter
);
slice
=
new
Area
(
sector
);
slice
=
new
Area
(
sector
);
slice
.
subtract
(
inner
);
slice
.
subtract
(
inner
);
outer
.
subtract
(
inner
);
shape
=
slice
;
shape
=
slice
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment