BsFwdDeclUtil.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #pragma once
  2. // Contains forward declares used as a convenience
  3. namespace BansheeEngine
  4. {
  5. /** @addtogroup Math
  6. * @{
  7. */
  8. /** Values that represent in which order are euler angles applied when used in transformations. */
  9. enum class EulerAngleOrder
  10. {
  11. XYZ,
  12. XZY,
  13. YXZ,
  14. YZX,
  15. ZXY,
  16. ZYX
  17. };
  18. /** @} */
  19. class Angle;
  20. class AABox;
  21. class Degree;
  22. class Math;
  23. class Matrix3;
  24. class Matrix4;
  25. class Plane;
  26. class Quaternion;
  27. class Radian;
  28. class Ray;
  29. class Sphere;
  30. class Vector2;
  31. class Vector3;
  32. class Vector4;
  33. struct Vector2I;
  34. class Rect2I;
  35. class Rect2;
  36. class Rect3;
  37. class Color;
  38. class DynLib;
  39. class DynLibManager;
  40. class DataStream;
  41. class MemoryDataStream;
  42. class FileDataStream;
  43. class MeshData;
  44. class FileSystem;
  45. class Timer;
  46. class Task;
  47. class GpuResourceData;
  48. class PixelData;
  49. class HString;
  50. class StringTable;
  51. struct LocalizedStringData;
  52. class Path;
  53. class HThread;
  54. class TestSuite;
  55. class TestOutput;
  56. class AsyncOpSyncData;
  57. struct RTTIField;
  58. struct RTTIReflectablePtrFieldBase;
  59. struct SerializedObject;
  60. struct SerializedInstance;
  61. class FrameAlloc;
  62. class LogEntry;
  63. // Reflection
  64. class IReflectable;
  65. class RTTITypeBase;
  66. // Serialization
  67. class ISerializable;
  68. class SerializableType;
  69. typedef std::shared_ptr<DataStream> DataStreamPtr;
  70. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  71. typedef std::shared_ptr<FileDataStream> FileDataStreamPtr;
  72. typedef std::shared_ptr<MeshData> MeshDataPtr;
  73. typedef std::shared_ptr<PixelData> PixelDataPtr;
  74. typedef std::shared_ptr<GpuResourceData> GpuResourceDataPtr;
  75. typedef std::shared_ptr<DataStream> DataStreamPtr;
  76. typedef std::shared_ptr<MemoryDataStream> MemoryDataStreamPtr;
  77. typedef std::shared_ptr<Task> TaskPtr;
  78. typedef std::shared_ptr<TestSuite> TestSuitePtr;
  79. typedef std::shared_ptr<AsyncOpSyncData> AsyncOpSyncDataPtr;
  80. typedef List<DataStreamPtr> DataStreamList;
  81. typedef std::shared_ptr<DataStreamList> DataStreamListPtr;
  82. enum TypeID_Utility
  83. {
  84. TID_Abstract = 50, // Special type ID used for Abstract classes. Only type ID that may be used by more than one class.
  85. TID_WString = 51,
  86. TID_Path = 52,
  87. TID_Vector = 53,
  88. TID_Map = 54,
  89. TID_UnorderedMap = 55,
  90. TID_Pair = 56,
  91. TID_Set = 57,
  92. TID_StringID = 58,
  93. TID_SerializedInstance = 59,
  94. TID_SerializedField = 60,
  95. TID_SerializedObject = 61,
  96. TID_SerializedArray = 62,
  97. TID_SerializedEntry = 63,
  98. TID_SerializedArrayEntry = 64,
  99. TID_SerializedSubObject = 65,
  100. TID_UnorderedSet = 66,
  101. };
  102. }