code: private void buildVertexes()
  	{
  		vertexes.clear();
  		if (controlPoints.size() == 0)
  			return;
  
  		double step = 1D / (precision + 1);
  		double t = 0;
  		vertexes.add(controlPoints.get(0));
  		for (int i = 1; i <= precision; i++)
  		{
  			t = i * step;
  			vertexes.add(i, interpolateAll(controlPoints, controlPoints.size() - 1, 0, t));
  		}
  		vertexes.add(controlPoints.get(controlPoints.size() - 1));
  
  		dirty = false;
  	}
docs: Builds the vertexes.