34 |
34 |
{
|
35 |
35 |
private static final int NUM_CACHE = 20;
|
36 |
36 |
|
37 |
|
private float[] mPolygonVertices;
|
|
37 |
private float[][] mPolygonVertices;
|
38 |
38 |
private int mNumPolygonVertices;
|
39 |
39 |
private float[] mPolygonBands;
|
40 |
40 |
private int mNumPolygonBands;
|
... | ... | |
184 |
184 |
{
|
185 |
185 |
remainingVert--;
|
186 |
186 |
|
187 |
|
float Xfirst= mPolygonVertices[2*polyVertex ];
|
188 |
|
float Yfirst= mPolygonVertices[2*polyVertex+1];
|
189 |
|
float Xlast = mPolygonVertices[2*polyEndVer ];
|
190 |
|
float Ylast = mPolygonVertices[2*polyEndVer+1];
|
|
187 |
float Xfirst= mPolygonVertices[polyVertex][0];
|
|
188 |
float Yfirst= mPolygonVertices[polyVertex][1];
|
|
189 |
float Xlast = mPolygonVertices[polyEndVer][0];
|
|
190 |
float Ylast = mPolygonVertices[polyEndVer][1];
|
191 |
191 |
|
192 |
192 |
float xEdge = Xfirst + quot*(Xlast-Xfirst);
|
193 |
193 |
float yEdge = Yfirst + quot*(Ylast-Yfirst);
|
... | ... | |
275 |
275 |
* Create a polygon of any shape and varying elevations from the edges towards the center.
|
276 |
276 |
* Optionally make it more dense at the vertices.
|
277 |
277 |
*
|
278 |
|
* @param verticesXY 2N floats - packed description of polygon vertices. N pairs (x,y).
|
|
278 |
* @param verticesXY [N][2] floats - polygon vertices. N pairs (x,y).
|
279 |
279 |
* Vertices HAVE TO be specified in a COUNTERCLOCKWISE order (starting from any).
|
280 |
280 |
* @param bands 2K floats; K pairs of two floats each describing a single band.
|
281 |
281 |
* From (1.0,Z[0]) (outer edge, its Z elevation) to (0.0,Z[K]) (the center,
|
... | ... | |
290 |
290 |
* all bands go to.
|
291 |
291 |
* @param centerY Y coordinate of the center.
|
292 |
292 |
*/
|
293 |
|
public MeshPolygon(float[] verticesXY, float[] bands, int exBand, int exVertices, float centerX, float centerY)
|
|
293 |
public MeshPolygon(float[][] verticesXY, float[] bands, int exBand, int exVertices, float centerX, float centerY)
|
294 |
294 |
{
|
295 |
295 |
super();
|
296 |
296 |
|
297 |
297 |
mPolygonVertices = verticesXY;
|
298 |
298 |
mPolygonBands = bands;
|
299 |
|
mNumPolygonVertices= mPolygonVertices.length /2;
|
|
299 |
mNumPolygonVertices= mPolygonVertices.length;
|
300 |
300 |
mNumPolygonBands = mPolygonBands.length /2;
|
301 |
301 |
extraBand = exBand;
|
302 |
302 |
extraVertices = exVertices;
|
... | ... | |
305 |
305 |
{
|
306 |
306 |
for(int v=0; v<mNumPolygonVertices; v++)
|
307 |
307 |
{
|
308 |
|
mPolygonVertices[2*v ] -= centerX;
|
309 |
|
mPolygonVertices[2*v+1] -= centerY;
|
|
308 |
mPolygonVertices[v][0] -= centerX;
|
|
309 |
mPolygonVertices[v][1] -= centerY;
|
310 |
310 |
}
|
311 |
311 |
}
|
312 |
312 |
|
... | ... | |
337 |
337 |
|
338 |
338 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
339 |
339 |
|
340 |
|
public MeshPolygon(float[] verticesXY, float[] bands, int exIndex, int exVertices)
|
|
340 |
public MeshPolygon(float[][] verticesXY, float[] bands, int exIndex, int exVertices)
|
341 |
341 |
{
|
342 |
342 |
this(verticesXY,bands,exIndex,exVertices,0.0f,0.0f);
|
343 |
343 |
}
|
... | ... | |
347 |
347 |
* Create a polygon of any shape and varying elevations from the edges towards the center.
|
348 |
348 |
* Equivalent of the previous with exIndex=0 or exVertices=0.
|
349 |
349 |
*/
|
350 |
|
public MeshPolygon(float[] verticesXY, float[] bands)
|
|
350 |
public MeshPolygon(float[][] verticesXY, float[] bands)
|
351 |
351 |
{
|
352 |
352 |
this(verticesXY,bands,0,0,0.0f,0.0f);
|
353 |
353 |
}
|
change the way the coordinates of stickers are kept from float[2*N] to float[N][2]