BsFwdDeclUtil.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #pragma once
  2. // Contains forward declares used as a convenience
  3. namespace BansheeEngine
  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 Rect2I;
  34. class Rect2;
  35. class Rect3;
  36. class Color;
  37. class DynLib;
  38. class DynLibManager;
  39. class DataStream;
  40. class MemoryDataStream;
  41. class FileDataStream;
  42. class MeshData;
  43. class FileSystem;
  44. class Timer;
  45. class Task;
  46. class GpuResourceData;
  47. class PixelData;
  48. class HString;
  49. class StringTable;
  50. struct LocalizedStringData;
  51. class Path;
  52. class HThread;
  53. class TestSuite;
  54. class TestOutput;
  55. class AsyncOpSyncData;
  56. // Reflection
  57. class IReflectable;
  58. class RTTITypeBase;
  59. // Serialization
  60. class ISerializable;
  61. class SerializableType;
  62. typedef std::shared_ptr<DataStream> DataStreamPtr;
  63. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  64. typedef std::shared_ptr<FileDataStream> FileDataStreamPtr;
  65. typedef std::shared_ptr<MeshData> MeshDataPtr;
  66. typedef std::shared_ptr<PixelData> PixelDataPtr;
  67. typedef std::shared_ptr<GpuResourceData> GpuResourceDataPtr;
  68. typedef std::shared_ptr<DataStream> DataStreamPtr;
  69. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  70. typedef std::shared_ptr<Task> TaskPtr;
  71. typedef std::shared_ptr<TestSuite> TestSuitePtr;
  72. typedef std::shared_ptr<AsyncOpSyncData> AsyncOpSyncDataPtr;
  73. typedef List<DataStreamPtr> DataStreamList;
  74. typedef std::shared_ptr<DataStreamList> DataStreamListPtr;
  75. enum TypeID_Utility
  76. {
  77. TID_Abstract = 50, // Special type ID used for Abstract classes. Only type ID that may be used by more than one class.
  78. TID_WString = 51,
  79. TID_Path = 52,
  80. TID_Vector = 53,
  81. TID_Map = 54,
  82. TID_UnorderedMap = 55,
  83. TID_Pair = 56,
  84. TID_Set = 57,
  85. };
  86. }