public static void CreatePrimitiveMesh(Content.Geometry geometry, PrimitiveInitInfo info) { Debug.Assert(geometry != null); using var sceneData = new SceneData(); try { CreatePrimitiveMesh(sceneData, info); Debug.Assert(sceneData.Data != IntPtr.Zero && sceneData.DataSize > 0); var data = new byte[sceneData.DataSize]; Marshal.Copy(sceneData.Data, data, 0, sceneData.DataSize); geometry.FromRawData(data); } catch (Exception ex) { Logger.Log(MessageType.Error, $"failed to create {info.Type} primitive mesh."); Debug.WriteLine(ex.Message); } }
public static void CreatePrimitiveMesh(Content.Geometry geometry, ContentToolsAPIStructs.PrimitiveInitInfo info) { Debug.Assert(geometry != null); using var sceneData = new ContentToolsAPIStructs.SceneData(); try { sceneData.ImportSettings.FromContentSettings(geometry); CreatePrimitiveMesh(sceneData, info); Debug.Assert(sceneData.Data != IntPtr.Zero && sceneData.DataSize > 0); var data = new byte[sceneData.DataSize]; Marshal.Copy(sceneData.Data, data, 0, sceneData.DataSize); geometry.FromRawData(data); } catch (Exception ex) { Utils.Logger.Log(Utils.MessageTypes.Error, $"Failed to create {info.Type} primitive mesh"); Debug.WriteLine(ex.Message); } }