CmFwdDeclUtil.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #pragma once
  2. // Contains forward declares used as a convenience
  3. namespace CamelotFramework
  4. {
  5. /**
  6. * @brief Values that represent in which order are euler
  7. * angles applied when used in transformations
  8. */
  9. enum class EulerAngleOrder
  10. {
  11. XYZ,
  12. XZY,
  13. YXZ,
  14. YZX,
  15. ZXY,
  16. ZYX
  17. };
  18. class Angle;
  19. class AABox;
  20. class Degree;
  21. class Math;
  22. class Matrix3;
  23. class Matrix4;
  24. class Plane;
  25. class Quaternion;
  26. class Radian;
  27. class Ray;
  28. class Sphere;
  29. class Vector2;
  30. class Vector3;
  31. class Vector4;
  32. struct Vector2I;
  33. class RectI;
  34. class RectF;
  35. class Color;
  36. class DynLib;
  37. class DynLibManager;
  38. class DataStream;
  39. class MemoryDataStream;
  40. class FileDataStream;
  41. class MeshData;
  42. class FileSystem;
  43. class Timer;
  44. class GpuResourceData;
  45. class PixelData;
  46. class HString;
  47. class StringTable;
  48. struct LocalizedStringData;
  49. // Reflection
  50. class IReflectable;
  51. class RTTITypeBase;
  52. // Serialization
  53. class ISerializable;
  54. class SerializableType;
  55. typedef std::shared_ptr<DataStream> DataStreamPtr;
  56. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  57. typedef std::shared_ptr<FileDataStream> FileDataStreamPtr;
  58. typedef std::shared_ptr<MeshData> MeshDataPtr;
  59. typedef std::shared_ptr<PixelData> PixelDataPtr;
  60. typedef std::shared_ptr<GpuResourceData> GpuResourceDataPtr;
  61. enum TypeID_Utility
  62. {
  63. TID_Abstract = 50, // Special type ID used for Abstract classes. Only type ID that may be used by more than one class.
  64. TID_WString = 51,
  65. TID_WPath = 52
  66. };
  67. }