public void UpdateMesh(ARPlaneMesh arPlane)
    {
        if (UnityARSessionNativeInterface.IsARKit_1_5_Supported())         //otherwise we cannot access planeGeometry
        {
            planeMesh.vertices  = arPlane.vertices;
            planeMesh.uv        = arPlane.texture;
            planeMesh.triangles = arPlane.trIndices;

            lineRenderer.positionCount = arPlane.boundaryVertices.Length;
            lineRenderer.SetPositions(arPlane.boundaryVertices);

            // Assign the mesh object and update it.
            planeMesh.RecalculateBounds();
            planeMesh.RecalculateNormals();
        }
    }
    public void InitializeMesh(ARPlaneMesh arPlane)
    {
        planeMesh = new Mesh();
        UpdateMesh(arPlane);

        MeshRenderer renderer = GetComponentInChildren <MeshRenderer> ();

        if (renderer != null)
        {
            renderer.material = placenoteMaterial;
        }
        else
        {
            Debug.Log("Can't find renderer to set alternate material");
        }
        meshFilter.mesh = planeMesh;
    }