private final OscMessage message;
// List of point indices on the board
- private final List<Integer> points;
+ private final int[] points;
// Bit for flipped status of each point index
private final boolean[] flipped;
public PandaDriver(NetAddress address, Model model, int[][] channelList, int[][] flippedList) {
this.address = address;
message = new OscMessage("/shady/pointbuffer");
- points = buildMappedList(model, channelList);
+ List<Integer> pointList = buildMappedList(model, channelList);
+ points = new int[pointList.size()];
+ int i = 0;
+ for (int value : pointList) {
+ points[i++] = value;
+ }
flipped = buildFlippedList(model, flippedList);
}
for (int[] channel : channelList) {
for (int cubeNumber : channel) {
if (cubeNumber == 0) {
- for (int i = 0; i < (Cube.CLIPS_PER_CUBE*Clip.STRIPS_PER_CLIP*Strip.POINTS_PER_STRIP); ++i) {
+ for (int i = 0; i < (Cube.FACES_PER_CUBE*Face.STRIPS_PER_FACE*Strip.POINTS_PER_STRIP); ++i) {
points.add(0);
}
} else {