Int3.java revision 6a5875cf96a6eebf4ef2e176176868ecbf17122f
125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams/* 26a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Copyright (C) 2013 The Android Open Source Project 325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * you may not use this file except in compliance with the License. 625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * You may obtain a copy of the License at 725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * 1025430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * Unless required by applicable law or agreed to in writing, software 1125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 1225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1325430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * See the License for the specific language governing permissions and 1425430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams * limitations under the License. 1525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams */ 1625430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 1725430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Samspackage android.renderscript; 1825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 199c9ad3f8c218954e46aab81f9af7834cea5675caStephen Hines/** 206a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector version of the basic int type. 216a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Provides three int fields packed. 226a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 23a70f416c9cf2fc6cc5e132c1d656ce07441d6b82Jason Samspublic class Int3 { 246a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int x; 256a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int y; 266a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int z; 276a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 28a70f416c9cf2fc6cc5e132c1d656ce07441d6b82Jason Sams public Int3() { 2925430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams } 306a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 316a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide */ 326a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public Int3(int i) { 336a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = this.y = this.z = i; 346a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3525430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 366a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public Int3(int x, int y, int z) { 376a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = x; 386a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y = y; 396a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z = z; 406cc888e77e17ac522f75bf61403307de8ace2ef3Jason Sams } 416cc888e77e17ac522f75bf61403307de8ace2ef3Jason Sams 426a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide */ 436a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public Int3(Int3 source) { 446a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = source.x; 456a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y = source.y; 466a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z = source.z; 476a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4825430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 496a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 506a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector add 516a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 526a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 536a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 546a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void add(Int3 a) { 556a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x += a.x; 566a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y += a.y; 576a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z += a.z; 586a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 596a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 606a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 616a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector add 626a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 636a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 646a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 656a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 666a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 676a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 add(Int3 a, Int3 b) { 686a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 696a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x + b.x; 706a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y + b.y; 716a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z + b.z; 7225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 736a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 746a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 756a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 766a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 776a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector add 786a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 796a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 806a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 816a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void add(int value) { 826a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x += value; 836a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y += value; 846a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z += value; 856a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 866a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 876a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 886a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector add 896a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 906a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 916a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 926a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 936a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 946a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 add(Int3 a, int b) { 956a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 966a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x + b; 976a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y + b; 986a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z + b; 996a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1006a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 1016a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 10225430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 1036a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1046a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector subtraction 1056a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1066a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1076a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1086a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void sub(Int3 a) { 1096a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x -= a.x; 1106a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y -= a.y; 1116a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z -= a.z; 1126a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1136a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1146a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1156a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector subtraction 1166a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1176a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1186a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 1196a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 1206a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1216a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 sub(Int3 a, Int3 b) { 1226a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 1236a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x - b.x; 1246a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y - b.y; 1256a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z - b.z; 1266a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1276a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 1286a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1296a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1306a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1316a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector subtraction 1326a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1336a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 1346a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1356a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void sub(int value) { 1366a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x -= value; 1376a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y -= value; 1386a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z -= value; 1396a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1406a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1416a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1426a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector subtraction 1436a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1446a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1456a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 1466a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 1476a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1486a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 sub(Int3 a, int b) { 1496a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 1506a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x - b; 1516a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y - b; 1526a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z - b; 1536a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1546a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 1556a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1566a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1576a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1586a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector multiplication 1596a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1606a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1616a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1626a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void mul(Int3 a) { 1636a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x *= a.x; 1646a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y *= a.y; 1656a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z *= a.z; 1666a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1676a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1686a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1696a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector multiplication 1706a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1716a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1726a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 1736a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 1746a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1756a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 mul(Int3 a, Int3 b) { 1766a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 1776a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x * b.x; 1786a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y * b.y; 1796a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z * b.z; 1806a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1816a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 1826a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1836a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1846a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1856a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector multiplication 1866a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1876a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 1886a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 1896a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void mul(int value) { 1906a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x *= value; 1916a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y *= value; 1926a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z *= value; 1936a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 1946a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 1956a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 1966a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector multiplication 1976a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 1986a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 1996a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 2006a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 2016a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2026a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 mul(Int3 a, int b) { 2036a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 2046a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x * b; 2056a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y * b; 2066a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z * b; 2076a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2086a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 2096a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2106a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2116a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2126a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector division 2136a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2146a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 2156a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2166a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void div(Int3 a) { 2176a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x /= a.x; 2186a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y /= a.y; 2196a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z /= a.z; 2206a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 22125430d0734d12d12ca2d2d7a9d18c0cf3c5bdc4eJason Sams 2226a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2236a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector division 2246a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2256a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 2266a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 2276a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 2286a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2296a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 div(Int3 a, Int3 b) { 2306a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 2316a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x / b.x; 2326a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y / b.y; 2336a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z / b.z; 2346a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2356a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 2366a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2376a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2386a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2396a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector division 2406a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2416a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 2426a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2436a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void div(int value) { 2446a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x /= value; 2456a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y /= value; 2466a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z /= value; 2476a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2486a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2496a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2506a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector division 2516a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2526a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 2536a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 2546a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 2556a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2566a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 div(Int3 a, int b) { 2576a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 2586a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x / b; 2596a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y / b; 2606a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z / b; 2616a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2626a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 2636a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2646a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2656a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2666a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector Modulo 2676a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2686a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 2696a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2706a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void mod(Int3 a) { 2716a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x %= a.x; 2726a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y %= a.y; 2736a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z %= a.z; 2746a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2756a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2766a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2776a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector Modulo 2786a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2796a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 2806a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 2816a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 2826a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2836a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 mod(Int3 a, Int3 b) { 2846a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 2856a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x % b.x; 2866a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y % b.y; 2876a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z % b.z; 2886a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2896a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 2906a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 2916a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 2926a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 2936a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector Modulo 2946a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 2956a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 2966a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 2976a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void mod(int value) { 2986a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x %= value; 2996a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y %= value; 3006a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z %= value; 3016a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3026a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3036a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3046a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector Modulo 3056a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3066a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3076a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 3086a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 3096a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3106a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static Int3 mod(Int3 a, int b) { 3116a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye Int3 result = new Int3(); 3126a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.x = a.x % b; 3136a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.y = a.y % b; 3146a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye result.z = a.z % b; 3156a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3166a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return result; 3176a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3186a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3196a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3206a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * get vector length 3216a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3226a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 3236a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3246a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int length() { 3256a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return 3; 3266a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3276a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3286a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3296a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * set vector negate 3306a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3316a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void negate() { 3326a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = -x; 3336a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y = -y; 3346a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z = -z; 3356a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3366a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3376a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3386a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector dot Product 3396a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3406a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3416a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 3426a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3436a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int dotProduct(Int3 a) { 3446a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)((x * a.x) + (y * a.y) + (z * a.z)); 3456a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3466a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3476a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3486a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector dot Product 3496a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3506a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3516a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 3526a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 3536a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3546a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public static int dotProduct(Int3 a, Int3 b) { 3556a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)((b.x * a.x) + (b.y * a.y) + (b.z * a.z)); 3566a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3576a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3586a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3596a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * Vector add Multiple 3606a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3616a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3626a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param factor 3636a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3646a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void addMultiple(Int3 a, int factor) { 3656a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x += a.x * factor; 3666a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y += a.y * factor; 3676a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z += a.z * factor; 3686a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3696a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3706a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3716a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * set vector value by Int3 3726a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3736a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3746a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3756a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void set(Int3 a) { 3766a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = a.x; 3776a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y = a.y; 3786a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z = a.z; 3796a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3806a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3816a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3826a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * set the vector field value by Int 3836a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3846a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param a 3856a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param b 3866a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param c 3876a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3886a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void setValues(int a, int b, int c) { 3896a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.x = a; 3906a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.y = b; 3916a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye this.z = c; 3926a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 3936a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 3946a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 3956a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * return the element sum of vector 3966a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 3976a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 3986a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 3996a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int elementSum() { 4006a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)(x + y + z); 4016a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4026a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 4036a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 4046a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * get the vector field value by index 4056a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 4066a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param i 4076a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @return 4086a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 4096a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public int get(int i) { 4106a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye switch (i) { 4116a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 0: 4126a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)(x); 4136a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 1: 4146a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)(y); 4156a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 2: 4166a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return (int)(z); 4176a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye default: 4186a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye throw new IndexOutOfBoundsException("Index: i"); 4196a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4206a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4216a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 4226a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 4236a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * set the vector field value by index 4246a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 4256a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param i 4266a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 4276a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 4286a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void setAt(int i, int value) { 4296a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye switch (i) { 4306a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 0: 4316a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x = value; 4326a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4336a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 1: 4346a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y = value; 4356a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4366a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 2: 4376a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z = value; 4386a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4396a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye default: 4406a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye throw new IndexOutOfBoundsException("Index: i"); 4416a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4426a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4436a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 4446a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 4456a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * add the vector field value by index 4466a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 4476a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param i 4486a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param value 4496a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 4506a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void addAt(int i, int value) { 4516a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye switch (i) { 4526a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 0: 4536a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye x += value; 4546a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4556a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 1: 4566a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye y += value; 4576a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4586a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye case 2: 4596a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye z += value; 4606a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye return; 4616a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye default: 4626a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye throw new IndexOutOfBoundsException("Index: i"); 4636a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4646a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4656a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye 4666a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye /** @hide 4676a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * copy the vector to int array 4686a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * 4696a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param data 4706a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye * @param offset 4716a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye */ 4726a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye public void copyTo(int[] data, int offset) { 4736a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye data[offset] = (int)(x); 4746a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye data[offset + 1] = (int)(y); 4756a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye data[offset + 2] = (int)(z); 4766a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye } 4776a5875cf96a6eebf4ef2e176176868ecbf17122fMatthieu Delahaye} 478