public int[] AllocParticles(int _count) { int[] indices = new int[_count]; int count = FlexExt.AllocParticles(m_containerHandle, _count, ref indices[0]); if (count < _count) { Array.Resize(ref indices, count); } return(indices); }
public void TestAllocateFreeParticles() { Flex.Library lib = Flex.Init(Flex.FLEX_VERSION, ErrorCallback); Flex.SolverDesc slvDsc = default(Flex.SolverDesc); Flex.SetSolverDescDefaults(ref slvDsc); slvDsc.maxParticles = 1000; Flex.Solver solver = Flex.CreateSolver(lib, ref slvDsc); FlexExt.Container container = FlexExt.CreateContainer(lib, solver, 1000); int n = 1000; int[] indices = new int[n]; int m = FlexExt.AllocParticles(container, n, ref indices[0]); Assert.AreEqual(n, m); FlexExt.FreeParticles(container, n, ref indices[0]); FlexExt.DestroyContainer(container); Flex.DestroySolver(solver); Flex.Shutdown(lib); }
public int AllocParticles(int[] _indices, int _offset, int _count) { return(FlexExt.AllocParticles(m_containerHandle, _count, ref _indices[_offset])); }