private void processFootMesh(FootstepNode node, FootstepNodeSnapData snapData, boolean valid)
{
meshBuilder.clear();
RigidBodyTransform planarTransformToWorld = new RigidBodyTransform();
FootstepNodeTools.getNodeTransform(node, planarTransformToWorld);
RigidBodyTransform snappedTransformToWorld = new RigidBodyTransform();
ConvexPolygon2D foothold = snapData.getCroppedFoothold();
FootstepNodeTools.getSnappedNodeTransform(node, snapData.getSnapTransform(), snappedTransformToWorld);
snappedTransformToWorld.appendTranslation(0.0, 0.0, 0.01);
planarTransformToWorld.setTranslationZ(snappedTransformToWorld.getTranslationZ() + 0.1);
Color regionColor = valid ? Color.GREEN : Color.RED;
regionColor = Color.hsb(regionColor.getHue(), 0.9, 1.0);
Point2D[] vertices = new Point2D[foothold.getNumberOfVertices()];
for (int j = 0; j < vertices.length; j++)
{
vertices[j] = new Point2D(foothold.getVertex(j));
}
meshBuilder.addMultiLine(snappedTransformToWorld, vertices, 0.01, regionColor, true);
meshBuilder.addPolygon(snappedTransformToWorld, foothold, regionColor);
meshView.setOpacity(0.9);
meshView.setMesh(meshBuilder.generateMesh());
meshView.setMaterial(meshBuilder.generateMaterial());
}