TangentPreExportComponent.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <Generation/Components/TangentGenerator/TangentPreExportComponent.h>
  9. #include <Generation/Components/TangentGenerator/TangentGenerateComponent.h>
  10. #include <SceneAPI/SceneCore/Events/GenerateEventContext.h>
  11. #include <SceneAPI/SceneCore/Events/ProcessingResult.h>
  12. #include <SceneAPI/SceneCore/Events/CallProcessorBus.h>
  13. namespace AZ::SceneGenerationComponents
  14. {
  15. namespace SceneEvents = AZ::SceneAPI::Events;
  16. TangentPreExportComponent::TangentPreExportComponent()
  17. {
  18. BindToCall(&TangentPreExportComponent::Register);
  19. }
  20. uint8_t TangentPreExportComponent::GetPriority() const
  21. {
  22. return AZ::SceneAPI::Events::CallProcessor::ProcessingPriority::LateProcessing;
  23. }
  24. void TangentPreExportComponent::Reflect(AZ::ReflectContext* context)
  25. {
  26. AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context);
  27. if (serializeContext)
  28. {
  29. serializeContext->Class<TangentPreExportComponent, AZ::SceneAPI::SceneCore::GenerationComponent>()->Version(1);
  30. }
  31. }
  32. AZ::SceneAPI::Events::ProcessingResult TangentPreExportComponent::Register(AZ::SceneAPI::Events::GenerateAdditionEventContext& context)
  33. {
  34. SceneEvents::ProcessingResultCombiner result;
  35. TangentGenerateContext tangentGenerateContext(context.GetScene());
  36. result += SceneEvents::Process<TangentGenerateContext>(tangentGenerateContext);
  37. return result.GetResult();
  38. }
  39. } // namespace AZ::SceneGenerationComponents