Example #1
0
        /*
         * Callback
         */

        public void OnDetectDown(string message)
        {
            InteractionGroup iGroup;

            if (_interactionGroupDic.TryGetValue(message, out iGroup))
            {
                Debug.Log(message);
                for (int i = 0; i < iGroup.interactionIdx.Count; ++i)
                {
                    var interaction = _sim.GetSimElementAt(iGroup.interactionIdx[i]) as Interaction;
                    interaction.TurnOn();
                }
            }
        }
Example #2
0
        public void SetMesh(SimpleSim integrator)
        {
            _meshBuilder.Clear();

            for (var i = 0; i < renderedSimElemIdx.Count; ++i)
            {
                var elem = integrator.GetSimElementAt(renderedSimElemIdx[i]);
                var mat  = elem.GetMatrix();

                _meshBuilder.AddQuad(
                    mat * particlePositions[0],
                    mat * particlePositions[1],
                    mat * particlePositions[2],
                    mat * particlePositions[3]
                    );
                _meshBuilder.AddQuadUV(
                    particleUVs[0],
                    particleUVs[1],
                    particleUVs[2],
                    particleUVs[3]
                    );

                _meshBuilder.AddQuadColor(Color.white);
            }

            _meshBuilder.Apply();

            _filter.mesh = _meshBuilder.mesh;
        }
Example #3
0
        public static List <Particle> GetParticlesByIdx(List <int> particleIdxs, SimpleSim sim)
        {
            List <Particle> particles = new List <Particle>(particleIdxs.Count);

            for (var i = 0; i < particleIdxs.Count; ++i)
            {
                particles.Add(sim.GetSimElementAt(i) as Particle);
            }
            return(particles);
        }