void Initialize()
 {
     viewButtonImage = Resources.Load("viewButtonImage") as Texture;
     playerPosition  = Camera.main.transform.position;
     root            = new MeshEditorData();
     root.GenerateChildData(UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects());
     meshData = new List <AnalyzerMeshData>();
     GenerateMeshEditorData(root);
     coroutineInProgress = null;
     isAnalyzing         = false;
 }
 public void GenerateChildData(Transform[] childrenTransforms)
 {
     foreach (Transform child in childrenTransforms)
     {
         if (!child.gameObject.activeInHierarchy)
         {
             continue;
         }
         MeshEditorData childMeshData = new MeshEditorData(child.transform);
         Transform[]    childChildren = new Transform[child.childCount];
         for (int i = 0; i < childChildren.Length; i++)
         {
             childChildren[i] = child.GetChild(i);
         }
         childMeshData.GenerateChildData(childChildren);
         if ((childMeshData.current != null && childMeshData.current.GetComponent <MeshFilter>() != null) || childMeshData.children.Count > 0)
         {
             this.children.Add(childMeshData);
         }
     }
 }