//private bool InitializeMesh; private void Start() { PositionControlPoints = new List <Transform>(); meshCage = objCage.GetComponent <MeshFilter>().mesh; meshModel = objModel.GetComponent <MeshFilter>().mesh; cageVertices = meshCage.vertices; modelVertices = meshModel.vertices; initialControlPointPosition = meshCage.vertices; initialModelVerticesPosition = meshModel.vertices; trisCage = meshCage.triangles; trisModel = meshModel.triangles; functionality = GameObject.Find("Selection Manager").GetComponent <Functionality>(); readFileComputeNewcage = GameObject.Find("Selection Manager").GetComponent <ReadFileComputeNewcage>(); readJson = GameObject.Find("Selection Manager").GetComponent <ReadJson>(); treatSelectionManager = GameObject.Find("Selection Manager").GetComponent <TreatSelectionManager>(); UpdateModification = true; //InitializeMesh = false; //scale = 1; //collision = false; InitializedControlPoints = new GameObject(); InitializedControlPoints.name = "Initialized Control Points"; InitializedControlPoints.tag = "InitializeParent"; _initializedControlPoints = InitializedControlPoints.transform; //CreateControlPoints(); ComputeBarCenter(modelVertices); //scaleCenter = barCenter; }
private void Awake() { levelSelect = 0; levelChange = false; segmentTags = new List <string>(); meshCage = objCage.GetComponent <MeshFilter>().mesh; meshModel = objModel.GetComponent <MeshFilter>().mesh; cageVertices = meshCage.vertices; modelVertices = meshModel.vertices; trisCage = meshCage.triangles; trisModel = meshModel.triangles; colorArrayLevelx = new Color[modelVertices.Length]; meshCreateControlPoints = GameObject.Find("Selection Manager").GetComponent <MeshCreateControlPoints>(); readFileComputeNewcage = GameObject.Find("Selection Manager").GetComponent <ReadFileComputeNewcage>(); jsonString1 = //File.ReadAllText(Application.streamingAssetsPath + "/" + "hand_segmentation_hierarchical_nails.txt"); File.ReadAllText(Application.streamingAssetsPath + "/" + "flowered_teapot_simplified.ant.txt"); data1 = JsonMapper.ToObject(jsonString1); //Instantiation of the the model's segments(instances of the segments) for (var i = 0; i < data1["annotations"].Count; i++) { var datatest = JsonMapper.ToJson(data1["annotations"][i]); importedSegmentsOfDifferentLevels.Add(JsonMapper.ToObject <ModelData>(datatest)); Debug.Log("To see the colors " + importedSegmentsOfDifferentLevels[i].color[0]); } var segmentLevel0 = importedSegmentsOfDifferentLevels.Find(x => x.father == -1); rootNode = new TreeNode(segmentLevel0); //loop for levels for (var i = 0; i < importedSegmentsOfDifferentLevels.Count; i++) { if (importedSegmentsOfDifferentLevels[i].id == segmentLevel0.id) { continue; } var node = new TreeNode(importedSegmentsOfDifferentLevels[i]); var father = importedSegmentsOfDifferentLevels.Find(x => x.id == importedSegmentsOfDifferentLevels[i].father); if (rootNode.GetDescendent(father.id) != null) { rootNode.GetDescendent(father.id).Add(node); } } var idMax = importedSegmentsOfDifferentLevels.Max(x => x.id); Debug.Log("levelMax detected " + idMax); levelMax = rootNode.GetDescendent(idMax).GetLevel(); Debug.Log("levelMax " + levelMax); levelRange.text = "0-" + levelMax; TreatmentCPLevelx(); var hierarchy = new GameObject(); hierarchy.name = "Hierarchy"; rootNode.GetGameobject().transform.parent = hierarchy.transform; //BFS(rootNode); //Create the color arrays for the different-level-model }