// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Microsoft_UI_Composition_Scenes_H #define WINRT_Microsoft_UI_Composition_Scenes_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/Microsoft.UI.Composition.h" #include "winrt/impl/Microsoft.Graphics.DirectX.2.h" #include "winrt/impl/Microsoft.UI.Composition.2.h" #include "winrt/impl/Microsoft.UI.Composition.Scenes.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Foundation.Numerics.2.h" namespace winrt::impl { template auto consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox::Center() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Center(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Center(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox::Extents() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Extents(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Extents(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox::Max() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Max(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Max(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox::Min() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Min(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Min(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneBoundingBox::Size() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Size(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Size(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneComponent::ComponentType() const { winrt::Microsoft::UI::Composition::Scenes::SceneComponentType value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneComponent, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_ComponentType(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t< winrt::Microsoft::UI::Composition::Scenes::ISceneComponent>**)this; check_hresult( _winrt_abi_type->get_ComponentType(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMesh::Bounds() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMesh>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMesh, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Bounds(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Bounds(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneBoundingBox{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMesh::PrimitiveTopology() const { winrt::Microsoft::Graphics::DirectX::DirectXPrimitiveTopology value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMesh>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMesh, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_PrimitiveTopology( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_PrimitiveTopology( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMesh::PrimitiveTopology( winrt::Microsoft::Graphics::DirectX::DirectXPrimitiveTopology const& value) const { if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMesh>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMesh, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->put_PrimitiveTopology(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->put_PrimitiveTopology(static_cast(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMesh::FillMeshAttribute( winrt::Microsoft::UI::Composition::Scenes::SceneAttributeSemantic const& semantic, winrt::Microsoft::Graphics::DirectX::DirectXPixelFormat const& format, winrt::Windows::Foundation::MemoryBuffer const& memory) const { if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMesh>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMesh, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FillMeshAttribute( static_cast(semantic), static_cast(format), *(void**)(&memory))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FillMeshAttribute( static_cast(semantic), static_cast(format), *(void**)(&memory))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent< D>::Material() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Material(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Material(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterial{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent< D>::Material(winrt::Microsoft::UI::Composition::Scenes::SceneMaterial const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Material(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Material(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent< D>::Mesh() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Mesh(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Mesh(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMesh{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent< D>::Mesh(winrt::Microsoft::UI::Composition::Scenes::SceneMesh const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Mesh(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Mesh(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponent< D>::UVMappings() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_UVMappings(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UVMappings(&value)); } return winrt::Microsoft::UI::Composition::Scenes:: SceneMeshMaterialAttributeMap{value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshRendererComponentStatics< D>::Create(winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMeshRendererComponent{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMeshStatics::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshStatics, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMesh{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::BaseColorInput() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_BaseColorInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_BaseColorInput(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::BaseColorInput(winrt::Microsoft::UI::Composition::Scenes:: SceneMaterialInput const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_BaseColorInput(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_BaseColorInput(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::BaseColorFactor() const { winrt::Windows::Foundation::Numerics::float4 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_BaseColorFactor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_BaseColorFactor(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::BaseColorFactor(winrt::Windows::Foundation::Numerics::float4 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_BaseColorFactor(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_BaseColorFactor(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::MetallicFactor() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MetallicFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MetallicFactor(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::MetallicFactor(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_MetallicFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_MetallicFactor(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::MetallicRoughnessInput() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_MetallicRoughnessInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_MetallicRoughnessInput(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::MetallicRoughnessInput(winrt::Microsoft::UI::Composition::Scenes:: SceneMaterialInput const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->put_MetallicRoughnessInput(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->put_MetallicRoughnessInput(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::RoughnessFactor() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RoughnessFactor(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoughnessFactor(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterial< D>::RoughnessFactor(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RoughnessFactor(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RoughnessFactor(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneMetallicRoughnessMaterialStatics< D>::Create(winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t< winrt::Microsoft::UI::Composition::Scenes:: ISceneMetallicRoughnessMaterialStatics>**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes:: SceneMetallicRoughnessMaterial{result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::Orientation() const { winrt::Windows::Foundation::Numerics::quaternion value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Orientation(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Orientation(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::Orientation(winrt::Windows::Foundation::Numerics::quaternion const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Orientation(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Orientation(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAngle() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RotationAngle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RotationAngle(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAngle(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RotationAngle(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RotationAngle(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAngleInDegrees() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RotationAngleInDegrees(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RotationAngleInDegrees(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAngleInDegrees(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RotationAngleInDegrees(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RotationAngleInDegrees(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAxis() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RotationAxis(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RotationAxis(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::RotationAxis(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_RotationAxis(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_RotationAxis(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform::Scale() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Scale(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Scale(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform::Scale( winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Scale(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Scale(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::Translation() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Translation(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Translation(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneModelTransform< D>::Translation(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Translation(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Translation(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNode::Children() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNode>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNode, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Children(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Children(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneNodeCollection{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNode::Components() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNode>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNode, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Components(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Components(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneComponentCollection{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNode::Parent() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNode>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNode, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Parent(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Parent(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneNode{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNode::Transform() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNode>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNode, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Transform(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Transform(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneModelTransform{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNode:: FindFirstComponentOfType( winrt::Microsoft::UI::Composition::Scenes::SceneComponentType const& value) const { void* result{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNode>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNode, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->FindFirstComponentOfType( static_cast(value), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->FindFirstComponentOfType( static_cast(value), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneComponent{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneNodeStatics::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneNodeStatics, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneNode{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::AlphaCutoff() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AlphaCutoff(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AlphaCutoff(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::AlphaCutoff( float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_AlphaCutoff(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AlphaCutoff(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::AlphaMode() const { winrt::Microsoft::UI::Composition::Scenes::SceneAlphaMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_AlphaMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_AlphaMode(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::AlphaMode( winrt::Microsoft::UI::Composition::Scenes::SceneAlphaMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_AlphaMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AlphaMode(static_cast(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::EmissiveInput() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EmissiveInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EmissiveInput(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial:: EmissiveInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EmissiveInput(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EmissiveInput(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::EmissiveFactor() const { winrt::Windows::Foundation::Numerics::float3 value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_EmissiveFactor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EmissiveFactor(put_abi(value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::EmissiveFactor(winrt::Windows::Foundation::Numerics::float3 const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_EmissiveFactor(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_EmissiveFactor(impl::bind_in(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::IsDoubleSided() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsDoubleSided(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsDoubleSided(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::IsDoubleSided(bool value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_IsDoubleSided(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsDoubleSided(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::NormalInput() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NormalInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NormalInput(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::NormalInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NormalInput(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NormalInput(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::NormalScale() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_NormalScale(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NormalScale(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial::NormalScale( float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_NormalScale(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_NormalScale(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::OcclusionInput() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OcclusionInput(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OcclusionInput(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial:: OcclusionInput( winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_OcclusionInput(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_OcclusionInput(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::OcclusionStrength() const { float value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_OcclusionStrength(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_OcclusionStrength(&value)); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_IScenePbrMaterial< D>::OcclusionStrength(float value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_OcclusionStrength(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_OcclusionStrength(value)); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::BitmapInterpolationMode() const { winrt::Microsoft::UI::Composition::CompositionBitmapInterpolationMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_BitmapInterpolationMode( reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_BitmapInterpolationMode( reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::BitmapInterpolationMode(winrt::Microsoft::UI::Composition:: CompositionBitmapInterpolationMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_BitmapInterpolationMode( static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_BitmapInterpolationMode( static_cast(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::Surface() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Surface(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Surface(&value)); } return winrt::Microsoft::UI::Composition::ICompositionSurface{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::Surface(winrt::Microsoft::UI::Composition::ICompositionSurface const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Surface(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Surface(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::WrappingUMode() const { winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_WrappingUMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_WrappingUMode(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput:: WrappingUMode( winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->put_WrappingUMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->put_WrappingUMode(static_cast(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput< D>::WrappingVMode() const { winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->get_WrappingVMode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->get_WrappingVMode(reinterpret_cast(&value))); } return value; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInput:: WrappingVMode( winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult( _winrt_abi_type->put_WrappingVMode(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult( _winrt_abi_type->put_WrappingVMode(static_cast(value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneSurfaceMaterialInputStatics< D>::Create(winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneSurfaceMaterialInput{ result, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneVisual::Root() const { void* value{}; if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneVisual>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneVisual, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Root(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Root(&value)); } return winrt::Microsoft::UI::Composition::Scenes::SceneNode{ value, take_ownership_from_abi}; } template auto consume_Microsoft_UI_Composition_Scenes_ISceneVisual::Root( winrt::Microsoft::UI::Composition::Scenes::SceneNode const& value) const { if constexpr (!std::is_same_v< D, winrt::Microsoft::UI::Composition::Scenes::ISceneVisual>) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneVisual, D const*>( static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_Root(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Root(*(void**)(&value))); } } template auto consume_Microsoft_UI_Composition_Scenes_ISceneVisualStatics::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason< winrt::Microsoft::UI::Composition::Scenes::ISceneVisualStatics, D const*>(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Create(*(void**)(&compositor), &result)); } return winrt::Microsoft::UI::Composition::Scenes::SceneVisual{ result, take_ownership_from_abi}; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneBoundingBox> { int32_t __stdcall get_Center( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Center()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Extents( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Extents()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Max( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Max()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Min( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Min()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Size( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Size()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ComponentType(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneComponentType>( this->shim().ComponentType()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> : produce_base {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneComponentFactory> : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneComponentFactory> {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialFactory> { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInput> {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> : produce_base {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Bounds(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneBoundingBox>( this->shim().Bounds()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_PrimitiveTopology(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::Graphics::DirectX::DirectXPrimitiveTopology>( this->shim().PrimitiveTopology()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_PrimitiveTopology(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().PrimitiveTopology( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FillMeshAttribute(int32_t semantic, int32_t format, void* memory) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().FillMeshAttribute( *reinterpret_cast(&semantic), *reinterpret_cast< winrt::Microsoft::Graphics::DirectX::DirectXPixelFormat const*>( &format), *reinterpret_cast( &memory)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> : produce_base {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> : produce_base { int32_t __stdcall get_Material(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Material()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Material(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Material( *reinterpret_cast< winrt::Microsoft::UI::Composition::Scenes::SceneMaterial const*>( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Mesh(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Mesh()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Mesh(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Mesh( *reinterpret_cast< winrt::Microsoft::UI::Composition::Scenes::SceneMesh const*>( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UVMappings(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().UVMappings()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create( *reinterpret_cast( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMeshStatics> { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().Create( *reinterpret_cast< winrt::Microsoft::UI::Composition::Compositor const*>( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial> : produce_base { int32_t __stdcall get_BaseColorInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput>( this->shim().BaseColorInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BaseColorInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BaseColorInput( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BaseColorFactor( winrt::Windows::Foundation::Numerics::float4* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().BaseColorFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BaseColorFactor( winrt::Windows::Foundation::Numerics::float4 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BaseColorFactor( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MetallicFactor(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().MetallicFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MetallicFactor(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MetallicFactor(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_MetallicRoughnessInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput>( this->shim().MetallicRoughnessInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_MetallicRoughnessInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().MetallicRoughnessInput( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoughnessFactor(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoughnessFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RoughnessFactor(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RoughnessFactor(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from< winrt::Microsoft::UI::Composition::Scenes:: SceneMetallicRoughnessMaterial>(this->shim().Create( *reinterpret_cast( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneModelTransform> { int32_t __stdcall get_Orientation( winrt::Windows::Foundation::Numerics::quaternion* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Orientation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Orientation( winrt::Windows::Foundation::Numerics::quaternion value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Orientation( *reinterpret_cast< winrt::Windows::Foundation::Numerics::quaternion const*>(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAngle(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RotationAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAngle(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAngle(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAngleInDegrees(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RotationAngleInDegrees()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAngleInDegrees(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAngleInDegrees(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RotationAxis( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().RotationAxis()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_RotationAxis( winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RotationAxis( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Scale( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Scale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Scale( winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Scale( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Translation( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Translation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Translation( winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Translation( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Children(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneNodeCollection>( this->shim().Children()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Components(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneComponentCollection>( this->shim().Components()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Parent(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Parent()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Transform(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneModelTransform>( this->shim().Transform()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall FindFirstComponentOfType(int32_t value, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().FindFirstComponentOfType( *reinterpret_cast(&value))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNodeCollection> { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneNodeStatics> { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().Create( *reinterpret_cast< winrt::Microsoft::UI::Composition::Compositor const*>( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneObjectFactory> {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterial> { int32_t __stdcall get_AlphaCutoff(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AlphaCutoff()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AlphaCutoff(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AlphaCutoff(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AlphaMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().AlphaMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AlphaMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AlphaMode( *reinterpret_cast< winrt::Microsoft::UI::Composition::Scenes::SceneAlphaMode const*>( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmissiveInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput>( this->shim().EmissiveInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EmissiveInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EmissiveInput( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EmissiveFactor( winrt::Windows::Foundation::Numerics::float3* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().EmissiveFactor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_EmissiveFactor( winrt::Windows::Foundation::Numerics::float3 value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().EmissiveFactor( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsDoubleSided(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsDoubleSided()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsDoubleSided(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsDoubleSided(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput>( this->shim().NormalInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NormalInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NormalInput( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NormalScale(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NormalScale()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_NormalScale(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NormalScale(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OcclusionInput(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneMaterialInput>( this->shim().OcclusionInput()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OcclusionInput(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OcclusionInput( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_OcclusionStrength(float* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().OcclusionStrength()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_OcclusionStrength(float value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().OcclusionStrength(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::IScenePbrMaterialFactory> { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponent> : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponent> { }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> : produce_base {}; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce< D, winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> : produce_base { int32_t __stdcall get_BitmapInterpolationMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::CompositionBitmapInterpolationMode>( this->shim().BitmapInterpolationMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_BitmapInterpolationMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().BitmapInterpolationMode( *reinterpret_cast( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Surface(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Surface()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Surface(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Surface( *reinterpret_cast< winrt::Microsoft::UI::Composition::ICompositionSurface const*>( &value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WrappingUMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode>( this->shim().WrappingUMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_WrappingUMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WrappingUMode( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_WrappingVMode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from< winrt::Microsoft::UI::Composition::Scenes::SceneWrappingMode>( this->shim().WrappingVMode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_WrappingVMode(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().WrappingVMode( *reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Create( *reinterpret_cast( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Root(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from( this->shim().Root()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Root(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Root( *reinterpret_cast< winrt::Microsoft::UI::Composition::Scenes::SceneNode const*>( &value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base< D, winrt::Microsoft::UI::Composition::Scenes::ISceneVisualStatics> { int32_t __stdcall Create(void* compositor, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from( this->shim().Create( *reinterpret_cast< winrt::Microsoft::UI::Composition::Compositor const*>( &compositor))); return 0; } catch (...) { return to_hresult(); } }; #endif } // namespace winrt::impl WINRT_EXPORT namespace winrt::Microsoft::UI::Composition::Scenes { inline auto SceneMesh::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneMeshStatics const& f) { return f.Create(compositor); }); } inline auto SceneMeshRendererComponent::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneMeshRendererComponentStatics const& f) { return f.Create(compositor); }); } inline auto SceneMetallicRoughnessMaterial::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneMetallicRoughnessMaterialStatics const& f) { return f.Create(compositor); }); } inline auto SceneNode::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneNodeStatics const& f) { return f.Create(compositor); }); } inline auto SceneSurfaceMaterialInput::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneSurfaceMaterialInputStatics const& f) { return f.Create(compositor); }); } inline auto SceneVisual::Create( winrt::Microsoft::UI::Composition::Compositor const& compositor) { return impl::call_factory( [&](ISceneVisualStatics const& f) { return f.Create(compositor); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneComponentCollection> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneMaterialInputFactory> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshMaterialAttributeMap> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneMeshRendererComponent> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneMetallicRoughnessMaterial> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneRendererComponentFactory> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::ISceneSurfaceMaterialInput> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::SceneMeshMaterialAttributeMap> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::SceneMeshRendererComponent> : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::SceneMetallicRoughnessMaterial> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; template <> struct hash< winrt::Microsoft::UI::Composition::Scenes::SceneSurfaceMaterialInput> : winrt::impl::hash_base {}; template <> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } // namespace std #endif