示例#1
0
    public void ReadMemMap()
    {
        long size = AcessDLL.GetSize(memMapName.text);

        float[] f = new float[size];
        AcessDLL.ReadMemoryShare(memMapName.text, f);
        dataGridContent.PopulateData(f);
    }
示例#2
0
    public void OpenSharedMemory()
    {
        Debug.Log("Open!");
        memMapName    = memMapNameInputField.text;
        particleCount = int.Parse(memMapSizeInputField.text);
        bufSize       = particleCount * 3;   // for x, y and z coordinates.
        int r = AcessDLL.OpenMemoryShare(memMapName, bufSize);

        fluidContainer.StartFluidSimulation(particleCount);
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        if (isSimulating)
        {
            ParticleSystem.Particle[] fluidParticles = new ParticleSystem.Particle[particleCount];
            bool r = AcessDLL.ReadMemoryShare(memMapName, dataStream);
            psFluid.GetParticles(fluidParticles);
            //Debug.Log(fluidParticles.Length);
            //Debug.Log(dataStream.Length);

            int particleIndex = 0;
            for (int i = 0; i < dataStream.Length; i += 3)
            {
                Vector3 newPos = new Vector3(dataStream[i], dataStream[i + 1], dataStream[i + 2]);
                //fluidParticles[particleIndex].color = colors[ii];
                fluidParticles[particleIndex].position = newPos;
                //Debug.DrawLine(newPos, new Vector3(newPos.x + 0.1f, newPos.y, newPos.z));
                particleIndex++;
            }
            psFluid.SetParticles(fluidParticles, fluidParticles.Length);
        }
    }
示例#4
0
 public void CloseSharedMemory()
 {
     Debug.Log("Close");
     fluidContainer.StopFluidSimulation();
     AcessDLL.CloseAllMemoryShare();
 }
示例#5
0
 public void CloseMemMap()
 {
     AcessDLL.CloseAllMemoryShare();
 }
示例#6
0
 public void WriteMemMap()
 {
     AcessDLL.WriteMemoryShare(memMapName.text, dataGridContent.fList);
 }
示例#7
0
 public void OpenMemMap()
 {
     AcessDLL.OpenMemoryShare(memMapName.text, long.Parse(memMapSize.text));
 }