BsFwdDeclUtil.h 3.0 KB

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