/// <summary> /// Creates the occlusion subsystem descriptor from the construction info. /// </summary> /// <param name="occlusionSubsystemCinfo">The occlusion subsystem descriptor constructor information.</param> internal static XROcclusionSubsystemDescriptor Create(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { if (String.IsNullOrEmpty(occlusionSubsystemCinfo.id)) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because id is invalid", "occlusionSubsystemCinfo"); } #if UNITY_2020_2_OR_NEWER if (occlusionSubsystemCinfo.providerType == null || !occlusionSubsystemCinfo.providerType.IsSubclassOf(typeof(XROcclusionSubsystem.Provider))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because providerType is invalid", "occlusionSubsystemCinfo"); } if (occlusionSubsystemCinfo.subsystemTypeOverride == null && !occlusionSubsystemCinfo.subsystemTypeOverride.IsSubclassOf(typeof(XROcclusionSubsystem))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because subsystemTypeOverride is invalid", "occlusionSubsystemCinfo"); } #else if ((occlusionSubsystemCinfo.implementationType == null) || !occlusionSubsystemCinfo.implementationType.IsSubclassOf(typeof(XROcclusionSubsystem))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because implementationType is invalid", "occlusionSubsystemCinfo"); } #endif return(new XROcclusionSubsystemDescriptor(occlusionSubsystemCinfo)); }
XROcclusionSubsystemDescriptor(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { id = occlusionSubsystemCinfo.id; subsystemImplementationType = occlusionSubsystemCinfo.implementationType; supportsHumanSegmentationStencilImage = occlusionSubsystemCinfo.supportsHumanSegmentationStencilImage; supportsHumanSegmentationDepthImage = occlusionSubsystemCinfo.supportsHumanSegmentationDepthImage; }
XROcclusionSubsystemDescriptor(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { id = occlusionSubsystemCinfo.id; #if UNITY_2020_2_OR_NEWER providerType = occlusionSubsystemCinfo.providerType; subsystemTypeOverride = occlusionSubsystemCinfo.subsystemTypeOverride; #else subsystemImplementationType = occlusionSubsystemCinfo.implementationType; #endif supportsHumanSegmentationStencilImage = occlusionSubsystemCinfo.supportsHumanSegmentationStencilImage; supportsHumanSegmentationDepthImage = occlusionSubsystemCinfo.supportsHumanSegmentationDepthImage; }
XROcclusionSubsystemDescriptor(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { id = occlusionSubsystemCinfo.id; providerType = occlusionSubsystemCinfo.providerType; subsystemTypeOverride = occlusionSubsystemCinfo.subsystemTypeOverride; #pragma warning disable CS0618 // obsolete m_SupportsHumanSegmentationStencilImage = occlusionSubsystemCinfo.supportsHumanSegmentationStencilImage; m_SupportsHumanSegmentationDepthImage = occlusionSubsystemCinfo.supportsHumanSegmentationDepthImage; m_QueryForSupportsEnvironmentDepthImage = occlusionSubsystemCinfo.queryForSupportsEnvironmentDepthImage; m_QueryForSupportsEnvironmentDepthConfidenceImage = occlusionSubsystemCinfo.queryForSupportsEnvironmentDepthConfidenceImage; #pragma warning restore CS0618 m_EnvironmentDepthImageSupportedDelegate = occlusionSubsystemCinfo.environmentDepthImageSupportedDelegate; m_EnvironmentDepthConfidenceImageSupportedDelegate = occlusionSubsystemCinfo.environmentDepthConfidenceImageSupportedDelegate; m_HumanSegmentationStencilImageSupportedDelegate = occlusionSubsystemCinfo.humanSegmentationStencilImageSupportedDelegate; m_HumanSegmentationDepthImageSupportedDelegate = occlusionSubsystemCinfo.humanSegmentationDepthImageSupportedDelegate; }
/// <summary> /// Creates the occlusion subsystem descriptor from the construction info. /// </summary> /// <param name="occlusionSubsystemCinfo">The occlusion subsystem descriptor constructor information.</param> internal static XROcclusionSubsystemDescriptor Create(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { if (String.IsNullOrEmpty(occlusionSubsystemCinfo.id)) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because id is invalid", "occlusionSubsystemCinfo"); } if ((occlusionSubsystemCinfo.implementationType == null) || !occlusionSubsystemCinfo.implementationType.IsSubclassOf(typeof(XROcclusionSubsystem))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because implementationType is invalid", "occlusionSubsystemCinfo"); } return(new XROcclusionSubsystemDescriptor(occlusionSubsystemCinfo)); }
/// <summary> /// Creates the occlusion subsystem descriptor from the construction info. /// </summary> /// <param name="occlusionSubsystemCinfo">The occlusion subsystem descriptor constructor information.</param> internal static XROcclusionSubsystemDescriptor Create(XROcclusionSubsystemCinfo occlusionSubsystemCinfo) { if (string.IsNullOrEmpty(occlusionSubsystemCinfo.id)) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because id is invalid", nameof(occlusionSubsystemCinfo)); } if (occlusionSubsystemCinfo.providerType == null || !occlusionSubsystemCinfo.providerType.IsSubclassOf(typeof(XROcclusionSubsystem.Provider))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because providerType is invalid", nameof(occlusionSubsystemCinfo)); } if (occlusionSubsystemCinfo.subsystemTypeOverride == null || !occlusionSubsystemCinfo.subsystemTypeOverride.IsSubclassOf(typeof(XROcclusionSubsystem))) { throw new ArgumentException("Cannot create occlusion subsystem descriptor because subsystemTypeOverride is invalid", nameof(occlusionSubsystemCinfo)); } return(new XROcclusionSubsystemDescriptor(occlusionSubsystemCinfo)); }