MLRInfiniteLight.hpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //===========================================================================//
  2. // Copyright (C) Microsoft Corporation. All rights reserved. //
  3. //===========================================================================//
  4. #pragma once
  5. #define MLR_MLRINFINITELIGHT_HPP
  6. #include "MLR.hpp"
  7. namespace MidLevelRenderer {
  8. //##########################################################################
  9. //#################### MLRInfiniteLight ##############################
  10. //##########################################################################
  11. class MLRInfiniteLight:
  12. public MLRLight
  13. {
  14. public:
  15. static void
  16. InitializeClass();
  17. static void
  18. TerminateClass();
  19. MLRInfiniteLight(ClassData *class_data=DefaultData);
  20. MLRInfiniteLight(
  21. ClassData *class_data,
  22. Stuff::MemoryStream *stream,
  23. int version
  24. );
  25. MLRInfiniteLight(
  26. ClassData *class_data,
  27. Stuff::Page *page
  28. );
  29. ~MLRInfiniteLight();
  30. virtual void
  31. LightVertex(const MLRVertexData&);
  32. virtual LightType
  33. GetLightType()
  34. { Check_Object(this); return InfiniteLight; }
  35. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  36. // Class Data Support
  37. //
  38. public:
  39. static ClassData
  40. *DefaultData;
  41. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42. // Testing
  43. //
  44. public:
  45. void
  46. TestInstance();
  47. protected:
  48. };
  49. }