qtquick3d.cpp 963 B

123456789101112131415161718192021
  1. // Copyright (C) 2024 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. /*********************************************************************
  4. * INJECT CODE
  5. ********************************************************************/
  6. // @snippet qquick3dinstancing-getinstancebuffer-virtual-redirect
  7. std::pair<QByteArray, int> resultPair = getInstanceBufferOverride(gil, pyOverride.object());
  8. if (instanceCount != nullptr)
  9. *instanceCount = resultPair.second;
  10. return resultPair.first;
  11. // @snippet qquick3dinstancing-getinstancebuffer-virtual-redirect
  12. // @snippet qquick3dinstancing-getinstancebuffer-return
  13. int count{};
  14. %RETURN_TYPE retval_ = %CPPSELF.%FUNCTION_NAME(&count);
  15. %PYARG_0 = PyTuple_New(2);
  16. PyTuple_SetItem(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](retval_));
  17. PyTuple_SetItem(%PYARG_0, 1, %CONVERTTOPYTHON[int](count));
  18. // @snippet qquick3dinstancing-getinstancebuffer-return