/// <summary> /// Creates a geometry object from memory /// </summary> /// <param name="data"></param> /// <param name="dataSize"></param> /// <returns></returns> public Geometry CreateGeometry(IntPtr data, int dataSize) { currentResult = Result.Ok; IntPtr geometryHandle = new IntPtr(); Geometry geometry = null; try { currentResult = NativeMethods.FMOD_System_LoadGeometry(handle, data, dataSize, ref geometryHandle); } catch (System.Runtime.InteropServices.ExternalException) { currentResult = Result.InvalidParameterError; } if (currentResult != Result.Ok) { geometry = new Geometry(); geometry.Handle = geometryHandle; } return geometry; }
/// <summary> /// Creates a geometry object with the given polygon and vertext constraints /// </summary> /// <param name="maximumPolygons"></param> /// <param name="maximumVertices"></param> /// <returns></returns> public Geometry CreateGeometry(int maximumPolygons, int maximumVertices) { currentResult = Result.Ok; IntPtr geometryHandle = new IntPtr(); Geometry geometry = null; try { currentResult = NativeMethods.FMOD_System_CreateGeometry(handle, maximumPolygons, maximumVertices, ref geometryHandle); } catch (System.Runtime.InteropServices.ExternalException) { currentResult = Result.InvalidParameterError; } if (currentResult == Result.Ok) { geometry = new Geometry(); geometry.Handle = geometryHandle; } return geometry; }