public override int GetHashCode() { int hash = 1; if (header_ != null) { hash ^= Header.GetHashCode(); } if (leftImage_ != null) { hash ^= LeftImage.GetHashCode(); } if (rightImage_ != null) { hash ^= RightImage.GetHashCode(); } if (pointCloud_ != null) { hash ^= PointCloud.GetHashCode(); } if (navSatFix_ != null) { hash ^= NavSatFix.GetHashCode(); } if (odometry_ != null) { hash ^= Odometry.GetHashCode(); } return(hash); }
public StereoImage <TColor, TDepth> Copy() { return(new StereoImage <TColor, TDepth> { Name = Name, LeftImage = LeftImage.Copy(), RightImage = RightImage.Copy() }); }
public StereoImage <TOtherColor, TOtherDepth> Convert <TOtherColor, TOtherDepth>() where TOtherColor : struct, IColor where TOtherDepth : new() { return(new StereoImage <TOtherColor, TOtherDepth> { LeftImage = LeftImage.Convert <TOtherColor, TOtherDepth>(), RightImage = RightImage.Convert <TOtherColor, TOtherDepth>() }); }
public void MergeFrom(SEVData other) { if (other == null) { return; } if (other.header_ != null) { if (header_ == null) { header_ = new global::Header(); } Header.MergeFrom(other.Header); } if (other.leftImage_ != null) { if (leftImage_ == null) { leftImage_ = new global::Image(); } LeftImage.MergeFrom(other.LeftImage); } if (other.rightImage_ != null) { if (rightImage_ == null) { rightImage_ = new global::Image(); } RightImage.MergeFrom(other.RightImage); } if (other.pointCloud_ != null) { if (pointCloud_ == null) { pointCloud_ = new global::PointCloud2(); } PointCloud.MergeFrom(other.PointCloud); } if (other.navSatFix_ != null) { if (navSatFix_ == null) { navSatFix_ = new global::NavSatFix(); } NavSatFix.MergeFrom(other.NavSatFix); } if (other.odometry_ != null) { if (odometry_ == null) { odometry_ = new global::Odometry(); } Odometry.MergeFrom(other.Odometry); } }
protected override SizeF ArrangeOverride(SizeF finalSize) { float x = (finalSize.Width - DesiredSize.Width) / 2; float y = (finalSize.Height - DesiredSize.Height) / 2; CenterBackgroundImage.Arrange(GetImageRect(x, y, CenterBackgroundImage)); LeftImage.Arrange(GetImageRect(x, y, LeftImage)); RightImage.Arrange(GetImageRect(x, y, RightImage)); TopImage.Arrange(GetImageRect(x, y, TopImage)); BottomImage.Arrange(GetImageRect(x, y, BottomImage)); FillImage.Arrange(GetImageRect(x, y, FillImage)); return(finalSize); }
void ReleaseDesignerOutlets() { if (LeftImage != null) { LeftImage.Dispose(); LeftImage = null; } if (rootView != null) { rootView.Dispose(); rootView = null; } if (TitleLable != null) { TitleLable.Dispose(); TitleLable = null; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { #region Size check var left = NewList[0].Path.SourceFrom(); var right = CurrentList[0].Path.SourceFrom(); //Left: New, Right: Current LeftImage.Source = left; RightImage.Source = right; //The image should be displayed based on the scale of the screen. _leftScale = Math.Round(left.DpiX / 96d, 2); _rightScale = Math.Round(right.DpiX / 96d, 2); var scale = this.Scale(); _leftDpi = left.DpiX; _rightDpi = right.DpiX; _leftScaleDiff = Math.Round(scale / _leftScale, 2); _rightScaleDiff = Math.Round(scale / _rightScale, 2); LeftImage.Width = _leftWidth = left.Width / _leftScaleDiff; LeftImage.Height = _leftHeight = left.Height / _leftScaleDiff; RightImage.Width = _rightWidth = right.Width / _rightScaleDiff; RightImage.Height = _rightHeight = right.Height / _rightScaleDiff; #endregion CanvasSizeTextBlock.Text = $"{right.PixelWidth} × {right.PixelHeight} • {Math.Round(left.DpiX, 0)} {LocalizationHelper.Get("S.Resize.Dpi")}"; LeftImageSizeTextBlock.Text = $"{left.PixelWidth} × {left.PixelHeight} • {Math.Round(left.DpiX, 0)} {LocalizationHelper.Get("S.Resize.Dpi")}"; RightImageSizeTextBlock.Text = $"{right.PixelWidth} × {right.PixelHeight} • {Math.Round(right.DpiX, 0)} {LocalizationHelper.Get("S.Resize.Dpi")}"; #region Initial sizing LeftImage.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); LeftImage.Arrange(new Rect(new Point(0, 0), LeftImage.DesiredSize)); RightImage.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); RightImage.Arrange(new Rect(new Point(0, 0), RightImage.DesiredSize)); if (Math.Abs(LeftImage.ActualWidth - RightImage.ActualWidth) > 0.01 || Math.Abs(LeftImage.ActualHeight - RightImage.ActualHeight) > 0.01) { StatusBand.Warning(LocalizationHelper.Get("S.InsertFrames.DifferentSizes")); } LeftCanvas.Width = LeftImage.ActualWidth; LeftCanvas.Height = LeftImage.ActualHeight; RightCanvas.Width = RightImage.ActualWidth; RightCanvas.Height = RightImage.ActualHeight; EqualizeSizes(); #endregion MouseLeftButtonDown += Unselect_MouseLeftButtonDown; LeftImage.MouseLeftButtonDown += Select_PreviewMouseLeftButtonDown; LeftCanvas.MouseLeftButtonDown += Select_PreviewMouseLeftButtonDown; RightImage.MouseLeftButtonDown += Select_PreviewMouseLeftButtonDown; RightCanvas.MouseLeftButtonDown += Select_PreviewMouseLeftButtonDown; LeftCanvas.SizeChanged += Canvas_SizeChanged; RightCanvas.SizeChanged += Canvas_SizeChanged; UpdateLayout(); }
public void PrepareSources(WhoIs w, Side s) { if (CurrentType == DecalType.Rock && w == WhoIs.Ground) { Vector3 v3 = new Vector3(); switch (s) { //x и -y указывают на ячейку Sand левый верхний угол case Side.Down: //rght h=hor t=top v3.x = (float)x / 10; v3.y = (float)-y / 10; v3.z = 0; DownImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); DownImage.name = x + "_" + y + "DecalDownImage_"; DownImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[29]; DownImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Left: //rgvl v=vert l=left v3.x = (float)x / 10; v3.y = (float)-y / 10; v3.z = 0; LeftImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); LeftImage.name = x + "_" + y + "DecalLeftImage_"; LeftImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[37]; LeftImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Right: //rgvr v3.x = (float)x / 10 + 0.06f; v3.y = (float)-y / 10; v3.z = 0; RightImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); RightImage.name = x + "_" + y + "DecalRightImage_"; RightImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[28]; RightImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Up: //rghd v3.x = (float)x / 10; v3.y = (float)-y / 10 - 0.07f; v3.z = 0; UpImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); UpImage.name = x + "_" + y + "DecalUpImage_"; UpImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[34]; UpImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; } } if (CurrentType == DecalType.Sand && w == WhoIs.Ground) { Vector3 v3 = new Vector3(); switch (s) { //x и -y указывают на ячейку Sand левый верхний угол case Side.Down: //gght h=hor t=top v3.x = (float)x / 10; v3.y = (float)-y / 10; v3.z = 0; DownImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); DownImage.name = x + "_" + y + "DecalDownImage_"; DownImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[36]; DownImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Left: //ggvl v=vert l=left v3.x = (float)x / 10; v3.y = (float)-y / 10; v3.z = 0; LeftImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); LeftImage.name = x + "_" + y + "DecalLeftImage_"; LeftImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[35]; LeftImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Right: //ggvr v3.x = (float)x / 10 + 0.06f; v3.y = (float)-y / 10; v3.z = 0; RightImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); RightImage.name = x + "_" + y + "DecalRightImage_"; RightImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[25]; RightImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; case Side.Up: //gghd v3.x = (float)x / 10; v3.y = (float)-y / 10 - 0.07f; v3.z = 0; UpImage = (GameObject)MonoBehaviour.Instantiate(prefab, v3, Quaternion.identity); UpImage.name = x + "_" + y + "DecalUpImage_"; UpImage.GetComponent <SpriteRenderer>().sprite = StaticSpriteCache.sprites[26]; UpImage.GetComponent <SpriteRenderer>().sortingOrder = 1; break; } } //switch (CurrentType) //{ // case DecalType.Rock & w == WhoIs.Bomb: // switch (s) // { // case Side.Down: // DownImage.Source = ResCache.Brick(18, 4); // break; // case Side.Left: // LeftImage.Source = ResCache.Brick(18, 5); // break; // case Side.Right: // RightImage.Source = ResCache.Brick(18, 6); // break; // case Side.Up: // UpImage.Source = ResCache.Brick(18, 3); // break; // } // break; // //SetUpImagesRockBlack() // case DecalType.Sand && w == WhoIs.Bomb: // switch (s) // { // case Side.Down: // DownImage.Source = ResCache.Brick(18, 2); // break; // case Side.Left: // LeftImage.Source = ResCache.Brick(17, 10); // break; // case Side.Right: // RightImage.Source = ResCache.Brick(18, 1); // break; // case Side.Up: // UpImage.Source = ResCache.Brick(17, 9); // break; // } // break; // //SetUpImagesSandBlack() // case DecalType.Rock & w == WhoIs.Ground: // switch (s) // { // case Side.Down: // DownImage.Source = ResCache.Brick(17, 5); // break; // case Side.Left: // LeftImage.Source = ResCache.Brick(17, 6); // break; // case Side.Right: // RightImage.Source = ResCache.Brick(17, 7); // break; // case Side.Up: // UpImage.Source = ResCache.Brick(17, 4); // break; // } // break; // //SetUpImagesRock() // case DecalType.Sand & w == WhoIs.Ground: // switch (s) // { // case Side.Down: // DownImage.Source = ResCache.Brick(17, 3); // break; // case Side.Left: // LeftImage.Source = ResCache.Brick(17, 1); // break; // case Side.Right: // RightImage.Source = ResCache.Brick(17, 2); // break; // case Side.Up: // UpImage.Source = ResCache.Brick(17, 0); // break; // } // break; // //SetUpImagesSand() //} }
private void LeftImageButtonClick(object sender, EventArgs e) { LeftImage?.Invoke(sender, e); SetPictureBoxImage(); }