List of usage examples for com.badlogic.gdx.math Rectangle merge
public Rectangle merge(float x, float y)
From source file:org.ams.prettypaint.OutlinePolygon.java
License:Open Source License
private void updateBoxCulling(BoundingBox box) { Rectangle rectangle = box.rectangle; box.dataCount = 0;//from www . j av a2s . c o m boolean initialized = false; for (int n = box.begin; n < box.begin + box.count; n++) { Array<Float> inside = vertexDataArray.items[n].insideVertexData; Array<Float> outside = vertexDataArray.items[n].outsideVertexData; if (!initialized) { if (inside.size > 0 && drawInside) { rectangle.set(inside.items[0], inside.items[1], 0, 0); } else if (outside.size > 0 && drawOutside) { rectangle.set(outside.items[0], outside.items[1], 0, 0); } if (closedPolygon || n > 0) { int k = (box.begin - 1 + vertices.size) % vertices.size; if (drawInside) { Array<Float> _inside = vertexDataArray.items[k].insideVertexData; for (int i = 0; i < _inside.size; i += 3) { rectangle.merge(_inside.items[i], _inside.items[i + 1]); box.dataCount++; } } if (drawOutside) { Array<Float> _outside = vertexDataArray.items[k].outsideVertexData; for (int i = 0; i < _outside.size; i += 3) { rectangle.merge(_outside.items[i], _outside.items[i + 1]); box.dataCount++; } } } if (closedPolygon || n < vertices.size) { int k = (box.begin + box.count + vertices.size) % vertices.size; if (drawInside) { Array<Float> _inside = vertexDataArray.items[k].insideVertexData; for (int i = 0; i < _inside.size; i += 3) { rectangle.merge(_inside.items[i], _inside.items[i + 1]); box.dataCount++; } } if (drawOutside) { Array<Float> _outside = vertexDataArray.items[k].outsideVertexData; for (int i = 0; i < _outside.size; i += 3) { rectangle.merge(_outside.items[i], _outside.items[i + 1]); box.dataCount++; } } } initialized = true; } if (drawInside) for (int i = 0; i < inside.size; i += 3) { rectangle.merge(inside.items[i], inside.items[i + 1]); box.dataCount++; } if (drawOutside) for (int i = 0; i < outside.size; i += 3) { rectangle.merge(outside.items[i], outside.items[i + 1]); box.dataCount++; } } }