Exemplo n.º 1
0
        public void Move(Vector3 to)
        {
            if (controlPoints.Count > maxLength)
            {
                return;
            }

            controlPoints.Add(to);

            if (controlPoints.Count > 1)
            {
                WindSegment segment = new WindSegment();

                Vector3 a = controlPoints[controlPoints.Count - 2];
                Vector3 b = controlPoints[controlPoints.Count - 1]; // or "to".. :)

                segment.Position  = (a + b) / 2;
                segment.Radius    = Vector3.Distance(a, b) / 2;
                segment.Direction = Vector3.Normalize(b - a);

                // debug
                segment.CreateVertices(b.Z);

                segments.Add(segment);
            }
        }
        public void Move(Vector3 to)
        {
            if (controlPoints.Count > maxLength) {
                return;
            }

            controlPoints.Add(to);

            if (controlPoints.Count > 1) {
                WindSegment segment = new WindSegment();

                Vector3 a = controlPoints[controlPoints.Count - 2];
                Vector3 b = controlPoints[controlPoints.Count - 1]; // or "to".. :)

                segment.Position = (a + b) / 2;
                segment.Radius = Vector3.Distance(a, b) / 2;
                segment.Direction = Vector3.Normalize(b - a);

                // debug
                segment.CreateVertices(b.Z);

                segments.Add(segment);
            }
        }