Shape Vertices
shape-vertices.pde
/**
* Shape Vertices.
*
* How to iterate over the vertices of a shape.
* When loading an obj or SVG, getVertexCount()
* will typically return 0 since all the vertices
* are in the child shapes.
*
* You should iterate through the children and then
* iterate through their vertices.
*/
// The shape
PShape* uk;
void setup() {
size(640, 360);
// Load the shape
uk = loadShape("uk.svg");
}
void draw() {
background(51);
// Center where we will draw all the vertices
translate(width/2 - uk->width/2, height/2 - uk->height/2);
// Iterate over the children
int children = uk->getChildCount();
for (int i = 0; i < children; i++) {
PShape* child = uk->getChild(i);
int total = child->getVertexCount();
// Now we can actually get the vertices from each child
for (int j = 0; j < total; j++) {
PVector v = child->getVertex(j);
// Cycling brightness for each vertex
stroke((frameCount + (i + 1) * j) % 255);
// Just a dot for each one
point(v.x, v.y);
}
}
}