knobRight.setUseDisplayList(false);
float origHeight = knobRight.getHeightXY(TransformSpace.LOCAL);
//Snap to upper left 0,0
Vertex[] originalVerts = knobRight.getVerticesLocal();
originalVerts = Vertex.translateArray(originalVerts, Vector3D.ZERO_VECTOR.getSubtracted(new Vector3D(originalVerts[0])));
upDownOrderVerticalRightOut = Vertex.getDeepVertexArrayCopy(originalVerts);
//Scale to desired height
Vertex.scaleVectorArray(upDownOrderVerticalRightOut, Vector3D.ZERO_VECTOR, (1f/origHeight) * tileHeight, (1f/origHeight) * tileHeight, 1);
downUpOrderVerticalRightOut = getInvertOrderCopy(upDownOrderVerticalRightOut);
// MTPolygon p1 = new MTPolygon(getMTApplication(), downUpOrderVerticalRightOut);
// getCanvas().addChild(p1);
upDownOrderVerticalLeftOut = Vertex.getDeepVertexArrayCopy(upDownOrderVerticalRightOut);
Vertex.scaleVectorArray(upDownOrderVerticalLeftOut, new Vector3D(0,origHeight/2f), -1, 1, 1);
// MTPolygon p2 = new MTPolygon(getMTApplication(), vertsVerticalLeftOut);
// getCanvas().addChild(p2);
downUpOrderVerticalLeftOut = getInvertOrderCopy(upDownOrderVerticalLeftOut);
leftRightHorizontalUpOut = Vertex.getDeepVertexArrayCopy(originalVerts);
Vertex.rotateZVectorArray(leftRightHorizontalUpOut, Vector3D.ZERO_VECTOR, -90);
//Scale to desired width
Vertex.scaleVectorArray(leftRightHorizontalUpOut, Vector3D.ZERO_VECTOR, (1f/origHeight) * tileWidth, (1f/origHeight) * tileWidth, 1);
// MTPolygon p3 = new MTPolygon(getMTApplication(), leftRightHorizontalUpOut);
// getCanvas().addChild(p3);
rightLeftHorizontalUpOut = getInvertOrderCopy(leftRightHorizontalUpOut);
leftRightOrderHorizontalDownOut = Vertex.getDeepVertexArrayCopy(leftRightHorizontalUpOut);
Vertex.scaleVectorArray(leftRightOrderHorizontalDownOut, new Vector3D(origHeight/2f,0), 1, -1, 1);
// MTPolygon p4 = new MTPolygon(getMTApplication(), leftRightOrderHorizontalDownOut);
// getCanvas().addChild(p4);
rightLeftOrderHorizontalDownOut = getInvertOrderCopy(leftRightOrderHorizontalDownOut);
}