MLRPointCloud.hpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //===========================================================================//
  2. // Copyright (C) Microsoft Corporation. All rights reserved. //
  3. //===========================================================================//
  4. #pragma once
  5. #define MLR_MLRPOINTCLOUD_HPP
  6. #if !defined(MLR_MLR_HPP)
  7. #include <MLR\MLR.hpp>
  8. #endif
  9. #if !defined(MLR_MLREFFECT_HPP)
  10. #include <MLR\MLREffect.hpp>
  11. #endif
  12. namespace MidLevelRenderer {
  13. //##########################################################################
  14. //####################### MLRPointCloud ##############################
  15. //##########################################################################
  16. class MLRPointCloud:
  17. public MLREffect
  18. {
  19. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20. // Initialization
  21. //
  22. public:
  23. static void
  24. InitializeClass();
  25. static void
  26. TerminateClass();
  27. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28. // Constructors/Destructors
  29. //
  30. public:
  31. MLRPointCloud(int, int=0);
  32. ~MLRPointCloud();
  33. void
  34. SetData(
  35. const int *count,
  36. const Stuff::Point3D *point_data,
  37. const Stuff::RGBAColor *color_data
  38. );
  39. virtual int
  40. GetType(int) { return type; }
  41. void Draw (DrawEffectInformation*, GOSVertexPool*, MLRSorter*);
  42. void Transform(int, int);
  43. int Clip(MLRClippingState, GOSVertexPool*);
  44. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  45. // Class Data Support
  46. //
  47. public:
  48. static ClassData
  49. *DefaultData;
  50. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  51. // Testing
  52. //
  53. public:
  54. void
  55. TestInstance() const;
  56. protected:
  57. int type;
  58. const int *usedNrOfVertices;
  59. };
  60. }