private void ChangeSourceImageProjection(SourceImageProjection sourceImageProjection) { equirectangularImage.gameObject.SetActive(false); rectangularImage.gameObject.SetActive(false); if (sourceImageProjection != SourceImageProjection.Rectangular) { rgbdImageProvider = equirectangularImage; equirectangularImage.HorizontalRange = sourceImageProjection == SourceImageProjection.EquirectangularHalf ? InsideCamera.Range.Half : InsideCamera.Range.Full; } else { rgbdImageProvider = rectangularImage; } rgbdImageProvider.gameObject.SetActive(true); rgbdImageProvider.InitState(); outputScreen.SetRgbdImageTexture(rgbdImageProvider.GetRgbdImageTexture()); }
private bool ParseConfig1(string config, RgbdImageProvider.ImageArrangement imageArrangement) { if (config.Length < 2) { return(false); } int length = 0; SourceImageProjection sourceImageProjection = SourceImageProjection.Rectangular; if (config.IndexOf(EquirectangularHalf, System.StringComparison.OrdinalIgnoreCase) >= 0) { sourceImageProjection = SourceImageProjection.EquirectangularHalf; length += EquirectangularHalf.Length; } else if (config.IndexOf(EquirectangularFull, System.StringComparison.OrdinalIgnoreCase) >= 0) { sourceImageProjection = SourceImageProjection.EquirectangularFull; length += EquirectangularFull.Length; } else if (config.IndexOf(Rectangular, System.StringComparison.OrdinalIgnoreCase) >= 0) { sourceImageProjection = SourceImageProjection.Rectangular; length += Rectangular.Length; } else { sourceImageProjection = SourceImageProjection.Rectangular; } if (imageArrangement != RgbdImageProvider.ImageArrangement.Separate) { if (config.IndexOf(LR, System.StringComparison.OrdinalIgnoreCase) >= 0) { imageArrangement = RgbdImageProvider.ImageArrangement.LR; length += LR.Length; } else if (config.IndexOf(RL, System.StringComparison.OrdinalIgnoreCase) >= 0) { imageArrangement = RgbdImageProvider.ImageArrangement.RL; length += RL.Length; } else if (config.IndexOf(TB, System.StringComparison.OrdinalIgnoreCase) >= 0) { imageArrangement = RgbdImageProvider.ImageArrangement.TB; length += TB.Length; } else if (config.IndexOf(BT, System.StringComparison.OrdinalIgnoreCase) >= 0) { imageArrangement = RgbdImageProvider.ImageArrangement.BT; length += BT.Length; } else { imageArrangement = RgbdImageProvider.ImageArrangement.LR; } } RgbdImageProvider.ZAxisOrientation zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontPositive; if (config.IndexOf(FrontNegative, System.StringComparison.OrdinalIgnoreCase) < 0) { zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontPositive; } else { zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontNegative; length += FrontNegative.Length; } if (length != config.Length) { return(false); } ChangeSourceImageProjection(sourceImageProjection); rgbdImageProvider.SourceImageArrangement = imageArrangement; rgbdImageProvider.DepthOrientation = zAxisOrientation; return(true); }