pyside6_qtquick3d_python.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. // Copyright (C) 2022 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
  3. #ifndef SBK_QTQUICK3D_PYTHON_H
  4. #define SBK_QTQUICK3D_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtquick_python.h>
  10. #include <pyside6_qtcore_python.h>
  11. #include <pyside6_qtnetwork_python.h>
  12. #include <pyside6_qtgui_python.h>
  13. #include <pyside6_qtopengl_python.h>
  14. #include <pyside6_qtqml_python.h>
  15. // Bound library includes
  16. #include <QtQuick3D/qquick3dgeometry.h>
  17. #include <QtQuick3D/qquick3dinstancing.h>
  18. #include <QtQuick3D/qquick3dobject.h>
  19. #include <QtQuick3D/qquick3dtexturedata.h>
  20. QT_BEGIN_NAMESPACE
  21. class QQuick3D;
  22. class QQuick3DRenderExtension;
  23. QT_END_NAMESPACE
  24. // Type indices
  25. enum [[deprecated]] : int {
  26. SBK_QQUICK3D_IDX = 0,
  27. SBK_QQUICK3DGEOMETRY_PRIMITIVETYPE_IDX = 10,
  28. SBK_QQUICK3DGEOMETRY_IDX = 2,
  29. SBK_QQUICK3DGEOMETRY_ATTRIBUTE_SEMANTIC_IDX = 8,
  30. SBK_QQUICK3DGEOMETRY_ATTRIBUTE_COMPONENTTYPE_IDX = 6,
  31. SBK_QQUICK3DGEOMETRY_ATTRIBUTE_IDX = 4,
  32. SBK_QQUICK3DGEOMETRY_TARGETATTRIBUTE_IDX = 12,
  33. SBK_QQUICK3DINSTANCING_IDX = 14,
  34. SBK_QQUICK3DINSTANCING_INSTANCETABLEENTRY_IDX = 16,
  35. SBK_QQUICK3DOBJECT_ITEMCHANGE_IDX = 20,
  36. SBK_QQUICK3DOBJECT_IDX = 18,
  37. SBK_QQUICK3DRENDEREXTENSION_IDX = 22,
  38. SBK_QQUICK3DTEXTUREDATA_FORMAT_IDX = 26,
  39. SBK_QQUICK3DTEXTUREDATA_IDX = 24,
  40. SBK_QTQUICK3D_IDX_COUNT = 28,
  41. };
  42. // Type indices
  43. enum : int {
  44. SBK_QQuick3D_IDX = 0,
  45. SBK_QQuick3DGeometry_PrimitiveType_IDX = 5,
  46. SBK_QQuick3DGeometry_IDX = 1,
  47. SBK_QQuick3DGeometry_Attribute_Semantic_IDX = 4,
  48. SBK_QQuick3DGeometry_Attribute_ComponentType_IDX = 3,
  49. SBK_QQuick3DGeometry_Attribute_IDX = 2,
  50. SBK_QQuick3DGeometry_TargetAttribute_IDX = 6,
  51. SBK_QQuick3DInstancing_IDX = 7,
  52. SBK_QQuick3DInstancing_InstanceTableEntry_IDX = 8,
  53. SBK_QQuick3DObject_ItemChange_IDX = 10,
  54. SBK_QQuick3DObject_IDX = 9,
  55. SBK_QQuick3DRenderExtension_IDX = 11,
  56. SBK_QQuick3DTextureData_Format_IDX = 13,
  57. SBK_QQuick3DTextureData_IDX = 12,
  58. SBK_QtQuick3D_IDX_COUNT = 14,
  59. };
  60. // This variable stores all Python types exported by this module.
  61. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtQuick3DTypeStructs;
  62. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  63. [[deprecated]] extern PyTypeObject **SbkPySide6_QtQuick3DTypes;
  64. // This variable stores the Python module object exported by this module.
  65. extern PyObject *SbkPySide6_QtQuick3DModuleObject;
  66. // This variable stores all type converters exported by this module.
  67. extern SbkConverter **SbkPySide6_QtQuick3DTypeConverters;
  68. // Converter indices
  69. enum [[deprecated]] : int {
  70. SBK_QTQUICK3D_QLIST_INT_IDX = 0, // QList<int>
  71. SBK_QTQUICK3D_QLIST_QQUICK3DOBJECTPTR_IDX = 1, // QList<QQuick3DObject*>
  72. SBK_QTQUICK3D_STD_PAIR_QBYTEARRAY_INT_IDX = 2, // std::pair<QByteArray,int>
  73. SBK_QTQUICK3D_QLIST_QVARIANT_IDX = 3, // QList<QVariant>
  74. SBK_QTQUICK3D_QLIST_QSTRING_IDX = 4, // QList<QString>
  75. SBK_QTQUICK3D_QMAP_QSTRING_QVARIANT_IDX = 5, // QMap<QString,QVariant>
  76. SBK_QTQUICK3D_CONVERTERS_IDX_COUNT = 6,
  77. };
  78. // Converter indices
  79. enum : int {
  80. SBK_QtQuick3D_QList_int_IDX = 0, // QList<int>
  81. SBK_QtQuick3D_QList_QQuick3DObjectPTR_IDX = 1, // QList<QQuick3DObject*>
  82. SBK_QtQuick3D_std_pair_QByteArray_int_IDX = 2, // std::pair<QByteArray,int>
  83. SBK_QtQuick3D_QList_QVariant_IDX = 3, // QList<QVariant>
  84. SBK_QtQuick3D_QList_QString_IDX = 4, // QList<QString>
  85. SBK_QtQuick3D_QMap_QString_QVariant_IDX = 5, // QMap<QString,QVariant>
  86. SBK_QtQuick3D_CONVERTERS_IDX_COUNT = 6,
  87. };
  88. // Macros for type check
  89. QT_WARNING_PUSH
  90. QT_WARNING_DISABLE_DEPRECATED
  91. namespace Shiboken
  92. {
  93. // PyType functions, to get the PyObjectType for a type T
  94. template<> inline PyTypeObject *SbkType< ::QQuick3D >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3D_IDX]); }
  95. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry::PrimitiveType >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_PrimitiveType_IDX]); }
  96. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_IDX]); }
  97. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry::Attribute::Semantic >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_Attribute_Semantic_IDX]); }
  98. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry::Attribute::ComponentType >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_Attribute_ComponentType_IDX]); }
  99. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry::Attribute >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_Attribute_IDX]); }
  100. template<> inline PyTypeObject *SbkType< ::QQuick3DGeometry::TargetAttribute >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DGeometry_TargetAttribute_IDX]); }
  101. template<> inline PyTypeObject *SbkType< ::QQuick3DInstancing >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DInstancing_IDX]); }
  102. template<> inline PyTypeObject *SbkType< ::QQuick3DInstancing::InstanceTableEntry >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DInstancing_InstanceTableEntry_IDX]); }
  103. template<> inline PyTypeObject *SbkType< ::QQuick3DObject::ItemChange >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DObject_ItemChange_IDX]); }
  104. template<> inline PyTypeObject *SbkType< ::QQuick3DObject >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DObject_IDX]); }
  105. template<> inline PyTypeObject *SbkType< ::QQuick3DRenderExtension >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DRenderExtension_IDX]); }
  106. template<> inline PyTypeObject *SbkType< ::QQuick3DTextureData::Format >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DTextureData_Format_IDX]); }
  107. template<> inline PyTypeObject *SbkType< ::QQuick3DTextureData >() { return Shiboken::Module::get(SbkPySide6_QtQuick3DTypeStructs[SBK_QQuick3DTextureData_IDX]); }
  108. } // namespace Shiboken
  109. QT_WARNING_POP
  110. #endif // SBK_QTQUICK3D_PYTHON_H