Blender V4.5
mathutils_Vector.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <Python.h>
12
13#include "mathutils.hh"
14
15extern PyTypeObject vector_Type;
16
17#define VectorObject_Check(v) PyObject_TypeCheck((v), &vector_Type)
18#define VectorObject_CheckExact(v) (Py_TYPE(v) == &vector_Type)
19
22
25};
26
27/* Prototypes. */
28
29PyObject *Vector_CreatePyObject(const float *vec,
30 int vec_num,
31 PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT;
37PyObject *Vector_CreatePyObject_wrap(float *vec,
38 int vec_num,
39 PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT
40 ATTR_NONNULL(1);
45PyObject *Vector_CreatePyObject_cb(PyObject *cb_user,
46 int vec_num,
47 unsigned char cb_type,
48 unsigned char cb_subtype) ATTR_WARN_UNUSED_RESULT;
52PyObject *Vector_CreatePyObject_alloc(float *vec,
53 int vec_num,
54 PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT
55 ATTR_NONNULL(1);
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_NONNULL(...)
PyTypeObject vector_Type
PyObject * Vector_CreatePyObject(const float *vec, int vec_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT
PyObject * Vector_CreatePyObject_wrap(float *vec, int vec_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
PyObject * Vector_CreatePyObject_alloc(float *vec, int vec_num, PyTypeObject *base_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
PyObject * Vector_CreatePyObject_cb(PyObject *cb_user, int vec_num, unsigned char cb_type, unsigned char cb_subtype) ATTR_WARN_UNUSED_RESULT
BASE_MATH_MEMBERS(vec)