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); }
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(); } }
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); } } }
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); }