static void OnProjectLoadedinEditor() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); EditorUtility.DisplayProgressBar("Restoring Conda Package", "MDAL", 0); if (Application.isEditor) { try { if (Mdal.GetVersion() != packageVersion) { UpdatePackage(); AssetDatabase.Refresh(); } } catch { UpdatePackage(); AssetDatabase.Refresh(); }; } ; EditorUtility.ClearProgressBar(); stopwatch.Stop(); Debug.Log($"Mdal refresh took {stopwatch.Elapsed.TotalSeconds} seconds"); }
/// <summary> /// Create a Datasource from a Uri - e.g. filename /// </summary> /// <param name="uri"><see cref="string" /> Datasource uri </param> /// <returns><see cref="Datasource" /></returns> public static Datasource Load(string uri) { Datasource ds = new Datasource(uri); string ret = Mdal.GetNames(uri); MDAL_Status status = Mdal.LastStatus(); if (ret == null && status != MDAL_Status.None) { throw new Exception(status.ToString() + uri); } ds.meshes = ret.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); return(ds); }
private SimpleMesh ToMesh() { int vcount = GetVertexCount(); MdalVertexIterator vi = Mdal.MDAL_M_vertexIterator(this); VectorArray3d v = vi.GetVertexes(vcount); bool hasColors; VectorArray3f c = GetColors(vcount, out hasColors); SimpleMesh mesh = new SimpleMesh(); mesh.AppendVertices(v, null, c); int fcount = GetFaceCount(); MdalFaceIterator fi = Mdal.MDAL_M_faceIterator(this); IndexArray3i tri = fi.GetTris(fcount, Mdal.MDAL_M_faceVerticesMaximumCount(this)); mesh.AppendTriangles(tri); return(mesh); }
public MdalDatasetGroup GetGroup(int index) { return(Mdal.MDAL_M_datasetGroup(this, index)); }
public int GetGroupCount() { return(Mdal.MDAL_M_datasetGroupCount(this)); }
public int GetEdgeCount() { return(Mdal.MDAL_M_edgeCount(this)); }
public int GetFaceCount() { return(Mdal.MDAL_M_faceCount(this)); }
public int GetVertexCount() { return(Mdal.MDAL_M_vertexCount(this)); }
/// <summary> /// Get a <see cref="MdalMesh" /> object from the <see cref="Datasource" /> /// </summary> /// <param name="index"><see cref="int" /> Index of the Mesh in the Datasource</param> /// <returns><see cref="MdalMesh" /></returns> public MdalMesh GetMesh(int index) { StringBuilder stb = new StringBuilder(meshes[index]); return(Mdal.MDAL_LoadMesh(stb)); }
public static string ConfigureMdal() { return(Mdal.GetVersion()); }