public void RenderModel() { string filename = Directory.GetCurrentDirectory() + "/Assets/ModelAndRules/PCL_Building1.ifc";//EmptyKitchen.ifc"; DatabaseIfc db = new DatabaseIfc(filename); GameObject ModelGO = new GameObject(filename); List <List <UnityObj> > currentModels = new List <List <UnityObj> >(); //ModelChecks = new List<ModelCheck>(); List <double> currentModelCosts = new List <double>(); for (int split = 0; split < SPLIT_NUM; split++) { List <UnityObj> currentModel = new List <UnityObj>(); foreach (Obj o in GetObjFromDB(db)) { UnityObj newObj = new UnityObj(o, DefaultMaterialStatic); if (o.IfcType > IfcType.IfcAllNonVirtualTypes) { SetMeshRenderMaterial(newObj.IfcGameObject, DefaultMaterialSpace); } newObj.IfcGameObject.transform.parent = ModelGO.transform; currentModel.Add(newObj); } currentModels.Add(currentModel); currentModelCosts.Add(0.0); } }
public IEnumerator readFile() { string filename = Directory.GetCurrentDirectory() + "/Assets/ModelAndRules/PCL_Building1.ifc";//EmptyKitchen.ifc"; string filename1 = "http://162.246.156.210:8080/PCL_Building1.ifc"; WWW fileText = new WWW(filename1); yield return(fileText); string t = fileText.text; DatabaseIfc db = null; if (t == "") { db = new DatabaseIfc(filename); } else { UnityEngine.Debug.Log(t); TextReader textReader = new StringReader(t); db = new DatabaseIfc(textReader); } GameObject ModelGO = new GameObject(filename); List <List <UnityObj> > currentModels = new List <List <UnityObj> >(); List <double> currentModelCosts = new List <double>(); for (int split = 0; split < SPLIT_NUM; split++) { List <UnityObj> currentModel = new List <UnityObj>(); List <Obj> objectsInDB = GetObjFromDB(db); foreach (Obj o in objectsInDB) { UnityObj newObj = new UnityObj(o, DefaultMaterialStatic); if (o.IfcType > IfcType.IfcAllNonVirtualTypes) { if (o.Name.Contains("Single-Flush")) { SetMeshRenderMaterial(newObj.IfcGameObject, DoorMaterial); } else { SetMeshRenderMaterial(newObj.IfcGameObject, DefaultMaterialSpace); } } if (o.Name.Contains("Single-Flush")) { Vector3 scaleChange = new Vector3(0.0f, 0.5f, 0.0f); newObj.IfcGameObject.transform.localScale += scaleChange; NavMeshModifier nmm = newObj.IfcGameObject.AddComponent <NavMeshModifier>() as NavMeshModifier; nmm.overrideArea = true; nmm.area = 0; } if (o.Name.Contains("Basic")) { NavMeshModifier nmm = newObj.IfcGameObject.AddComponent <NavMeshModifier>() as NavMeshModifier; nmm.overrideArea = true; nmm.area = 1; } newObj.IfcGameObject.transform.parent = ModelGO.transform; currentModel.Add(newObj); } currentModels.Add(currentModel); currentModelCosts.Add(0.0); } }