示例#1
0
        bool?ProcessLineStripSingleColor(NativeList <float4x2> lineBuffer)
        {
            var lPoints = points;

            if (lPoints.Length == 0)
            {
                return(color32.a < 255);
            }

            var   p            = lPoints[0].Ros2Unity();
            float colorAsFloat = PointWithColor.FloatFromColorBits(color32);

            for (int i = 1; i < lPoints.Length; i++)
            {
                var q = lPoints[i].Ros2Unity();

                LineWithColor line = new LineWithColor(p, colorAsFloat, q, colorAsFloat);
                if (LineResource.IsElementValid(line))
                {
                    lineBuffer.Add(line.f);
                }

                p = q;
            }

            return(color32.a < 255);
        }
示例#2
0
        void ProcessTintColor(NativeList <float4> pointBuffer)
        {
            float4 mRgba = new float4(color.r, color.g, color.b, color.a);

            for (int i = 0; i < points.Length; i++)
            {
                ColorRGBA c    = colors[i];
                float4    rgba = new float4(c.R, c.G, c.B, c.A);
                if (rgba.HasNaN())
                {
                    continue;
                }

                int4 rgbaAsInt = math.min(new int4(rgba * mRgba * 255), 255);

                PointWithColor point = new PointWithColor(
                    points[i].Ros2Unity(),
                    new Color32((byte)rgbaAsInt.x, (byte)rgbaAsInt.y, (byte)rgbaAsInt.z, (byte)rgbaAsInt.w)
                    );
                if (PointListResource.IsElementValid(point))
                {
                    pointBuffer.Add(point.f);
                }
            }
        }
 private void panel_MouseMove(object sender, MouseEventArgs e)
 {
     if (e.Button.HasFlag(MouseButtons.Left))
     {
         PointWithColor pointWithColor = new PointWithColor();
         pointWithColor.Point = e.Location;
         pointWithColor.Color = SelectedColor;
         Points.Add(pointWithColor);
         panel.Refresh();
     }
 }
示例#4
0
        void ProcessSingleColor(NativeList <float4> pointBuffer)
        {
            float colorAsFloat = PointWithColor.FloatFromColorBits(color);

            foreach (var rosPoint in points)
            {
                PointWithColor point = new PointWithColor(rosPoint.Ros2Unity(), colorAsFloat);
                if (PointListResource.IsElementValid(point))
                {
                    pointBuffer.Add(point.f);
                }
            }
        }
示例#5
0
        bool?ProcessLineListSingleColor(NativeList <float4x2> lineBuffer)
        {
            var lPoints = points;

            float colorAsFloat = PointWithColor.FloatFromColorBits(color32);

            for (int i = 0; i < lPoints.Length / 2; i++)
            {
                LineWithColor line = new LineWithColor(
                    lPoints[2 * i + 0].Ros2Unity(), colorAsFloat,
                    lPoints[2 * i + 1].Ros2Unity(), colorAsFloat
                    );
                if (LineResource.IsElementValid(line))
                {
                    lineBuffer.Add(line.f);
                }
            }

            return(color32.a < 255);
        }