Blender V4.3
bmesh_py_types_select.cc File Reference
#include <Python.h>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
#include "bmesh.hh"
#include "bmesh_py_types.hh"
#include "bmesh_py_types_select.hh"
#include "../generic/python_utildefines.hh"

Go to the source code of this file.

Functions

 PyDoc_STRVAR (bpy_bmeditselseq_active_doc, "The last selected element or None (read-only).\n" "\n" ":type: :class:`BMVert`, " ":class:`BMEdge` or :class:`BMFace`")
 
static PyObject * bpy_bmeditselseq_active_get (BPy_BMEditSelSeq *self, void *)
 
 PyDoc_STRVAR (bpy_bmeditselseq_validate_doc, ".. method:: validate()\n" "\n" " Ensures all elements in the selection history are selected.\n")
 
static PyObject * bpy_bmeditselseq_validate (BPy_BMEditSelSeq *self)
 
 PyDoc_STRVAR (bpy_bmeditselseq_clear_doc, ".. method:: clear()\n" "\n" " Empties the selection history.\n")
 
static PyObject * bpy_bmeditselseq_clear (BPy_BMEditSelSeq *self)
 
 PyDoc_STRVAR (bpy_bmeditselseq_add_doc, ".. method:: add(element)\n" "\n" " Add an element to the selection history (no action taken if its already added).\n")
 
static PyObject * bpy_bmeditselseq_add (BPy_BMEditSelSeq *self, BPy_BMElem *value)
 
 PyDoc_STRVAR (bpy_bmeditselseq_remove_doc, ".. method:: remove(element)\n" "\n" " Remove an element from the selection history.\n")
 
static PyObject * bpy_bmeditselseq_remove (BPy_BMEditSelSeq *self, BPy_BMElem *value)
 
 PyDoc_STRVAR (bpy_bmeditselseq_discard_doc, ".. method:: discard(element)\n" "\n" " Discard an element from the selection history.\n" "\n" " Like remove but doesn't raise an error when the elements not in the selection list.\n")
 
static PyObject * bpy_bmeditselseq_discard (BPy_BMEditSelSeq *self, BPy_BMElem *value)
 
static Py_ssize_t bpy_bmeditselseq_length (BPy_BMEditSelSeq *self)
 
static PyObject * bpy_bmeditselseq_subscript_int (BPy_BMEditSelSeq *self, Py_ssize_t keynum)
 
static PyObject * bpy_bmeditselseq_subscript_slice (BPy_BMEditSelSeq *self, Py_ssize_t start, Py_ssize_t stop)
 
static PyObject * bpy_bmeditselseq_subscript (BPy_BMEditSelSeq *self, PyObject *key)
 
static int bpy_bmeditselseq_contains (BPy_BMEditSelSeq *self, PyObject *value)
 
static PyObject * bpy_bmeditselseq_iter (BPy_BMEditSelSeq *self)
 
static PyObject * bpy_bmeditseliter_next (BPy_BMEditSelIter *self)
 
PyObject * BPy_BMEditSel_CreatePyObject (BMesh *bm)
 
PyObject * BPy_BMEditSelIter_CreatePyObject (BMesh *bm)
 
void BPy_BM_init_types_select ()
 
int BPy_BMEditSel_Assign (BPy_BMesh *self, PyObject *value)
 

Variables

static PyGetSetDef bpy_bmeditselseq_getseters []
 
static PyMethodDef bpy_bmeditselseq_methods []
 
static PySequenceMethods bpy_bmeditselseq_as_sequence
 
static PyMappingMethods bpy_bmeditselseq_as_mapping
 
PyTypeObject BPy_BMEditSelSeq_Type
 
PyTypeObject BPy_BMEditSelIter_Type
 

Detailed Description

This file defines the types for 'BMesh.select_history' sequence and iterator.

select_history is very loosely based on pythons set() type, since items can only exist once. however they do have an order.

Definition in file bmesh_py_types_select.cc.

Function Documentation

◆ BPy_BM_init_types_select()

◆ BPy_BMEditSel_Assign()

int BPy_BMEditSel_Assign ( BPy_BMesh * self,
PyObject * value )

◆ BPy_BMEditSel_CreatePyObject()

PyObject * BPy_BMEditSel_CreatePyObject ( BMesh * bm)

Definition at line 362 of file bmesh_py_types_select.cc.

References bm, BPy_BMEditSelSeq_Type, and self.

Referenced by bpy_bmesh_select_history_get().

◆ BPy_BMEditSelIter_CreatePyObject()

PyObject * BPy_BMEditSelIter_CreatePyObject ( BMesh * bm)

Definition at line 370 of file bmesh_py_types_select.cc.

References bm, BPy_BMEditSelIter_Type, and self.

Referenced by bpy_bmeditselseq_iter().

◆ bpy_bmeditseliter_next()

static PyObject * bpy_bmeditseliter_next ( BPy_BMEditSelIter * self)
static

◆ bpy_bmeditselseq_active_get()

static PyObject * bpy_bmeditselseq_active_get ( BPy_BMEditSelSeq * self,
void *  )
static

◆ bpy_bmeditselseq_add()

static PyObject * bpy_bmeditselseq_add ( BPy_BMEditSelSeq * self,
BPy_BMElem * value )
static

◆ bpy_bmeditselseq_clear()

static PyObject * bpy_bmeditselseq_clear ( BPy_BMEditSelSeq * self)
static

Definition at line 74 of file bmesh_py_types_select.cc.

References BM_select_history_clear(), BPY_BM_CHECK_OBJ, and self.

◆ bpy_bmeditselseq_contains()

static int bpy_bmeditselseq_contains ( BPy_BMEditSelSeq * self,
PyObject * value )
static

◆ bpy_bmeditselseq_discard()

static PyObject * bpy_bmeditselseq_discard ( BPy_BMEditSelSeq * self,
BPy_BMElem * value )
static

◆ bpy_bmeditselseq_iter()

static PyObject * bpy_bmeditselseq_iter ( BPy_BMEditSelSeq * self)
static

◆ bpy_bmeditselseq_length()

static Py_ssize_t bpy_bmeditselseq_length ( BPy_BMEditSelSeq * self)
static

Definition at line 180 of file bmesh_py_types_select.cc.

References BLI_listbase_count(), BPY_BM_CHECK_INT, and self.

Referenced by bpy_bmeditselseq_subscript().

◆ bpy_bmeditselseq_remove()

static PyObject * bpy_bmeditselseq_remove ( BPy_BMEditSelSeq * self,
BPy_BMElem * value )
static

◆ bpy_bmeditselseq_subscript()

static PyObject * bpy_bmeditselseq_subscript ( BPy_BMEditSelSeq * self,
PyObject * key )
static

◆ bpy_bmeditselseq_subscript_int()

static PyObject * bpy_bmeditselseq_subscript_int ( BPy_BMEditSelSeq * self,
Py_ssize_t keynum )
static

◆ bpy_bmeditselseq_subscript_slice()

static PyObject * bpy_bmeditselseq_subscript_slice ( BPy_BMEditSelSeq * self,
Py_ssize_t start,
Py_ssize_t stop )
static

◆ bpy_bmeditselseq_validate()

static PyObject * bpy_bmeditselseq_validate ( BPy_BMEditSelSeq * self)
static

Definition at line 61 of file bmesh_py_types_select.cc.

References BM_select_history_validate(), BPY_BM_CHECK_OBJ, and self.

◆ PyDoc_STRVAR() [1/6]

PyDoc_STRVAR ( bpy_bmeditselseq_active_doc ,
"The last selected element or None (read-only).\n" "\n" ":type: :class:`BMVert` ,
" ":class:`BMEdge` or :class:`BMFace`"  )

◆ PyDoc_STRVAR() [2/6]

PyDoc_STRVAR ( bpy_bmeditselseq_add_doc ,
".. method:: add(element)\n" "\n" " Add an element to the selection history (no action taken if its already added).\n"  )

◆ PyDoc_STRVAR() [3/6]

PyDoc_STRVAR ( bpy_bmeditselseq_clear_doc ,
".. method:: clear()\n" "\n" " Empties the selection history.\n"  )

◆ PyDoc_STRVAR() [4/6]

PyDoc_STRVAR ( bpy_bmeditselseq_discard_doc ,
".. method:: discard(element)\n" "\n" " Discard an element from the selection history.\n" "\n" " Like remove but doesn't raise an error when the elements not in the selection list.\n"  )

◆ PyDoc_STRVAR() [5/6]

PyDoc_STRVAR ( bpy_bmeditselseq_remove_doc ,
".. method:: remove(element)\n" "\n" " Remove an element from the selection history.\n"  )

◆ PyDoc_STRVAR() [6/6]

PyDoc_STRVAR ( bpy_bmeditselseq_validate_doc ,
".. method:: validate()\n" "\n" " Ensures all elements in the selection history are selected.\n"  )

Variable Documentation

◆ BPy_BMEditSelIter_Type

PyTypeObject BPy_BMEditSelIter_Type

◆ bpy_bmeditselseq_as_mapping

PyMappingMethods bpy_bmeditselseq_as_mapping
static
Initial value:
= {
(objobjargproc) nullptr,
}
static PyObject * bpy_bmeditselseq_subscript(BPy_BMEditSelSeq *self, PyObject *key)
static Py_ssize_t bpy_bmeditselseq_length(BPy_BMEditSelSeq *self)

Definition at line 328 of file bmesh_py_types_select.cc.

Referenced by BPy_BM_init_types_select().

◆ bpy_bmeditselseq_as_sequence

PySequenceMethods bpy_bmeditselseq_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int bpy_bmeditselseq_contains(BPy_BMEditSelSeq *self, PyObject *value)
static PyObject * bpy_bmeditselseq_subscript_int(BPy_BMEditSelSeq *self, Py_ssize_t keynum)

Definition at line 314 of file bmesh_py_types_select.cc.

Referenced by BPy_BM_init_types_select().

◆ bpy_bmeditselseq_getseters

PyGetSetDef bpy_bmeditselseq_getseters[]
static
Initial value:
= {
{"active",
(setter) nullptr,
bpy_bmeditselseq_active_doc,
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr}
}
static PyObject * bpy_bmeditselseq_active_get(BPy_BMEditSelSeq *self, void *)

Definition at line 46 of file bmesh_py_types_select.cc.

Referenced by BPy_BM_init_types_select().

◆ bpy_bmeditselseq_methods

PyMethodDef bpy_bmeditselseq_methods[]
static
Initial value:
= {
{"validate",
METH_NOARGS,
bpy_bmeditselseq_validate_doc},
{"clear", (PyCFunction)bpy_bmeditselseq_clear, METH_NOARGS, bpy_bmeditselseq_clear_doc},
{"add", (PyCFunction)bpy_bmeditselseq_add, METH_O, bpy_bmeditselseq_add_doc},
{"remove", (PyCFunction)bpy_bmeditselseq_remove, METH_O, bpy_bmeditselseq_remove_doc},
{"discard", (PyCFunction)bpy_bmeditselseq_discard, METH_O, bpy_bmeditselseq_discard_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * bpy_bmeditselseq_remove(BPy_BMEditSelSeq *self, BPy_BMElem *value)
static PyObject * bpy_bmeditselseq_discard(BPy_BMEditSelSeq *self, BPy_BMElem *value)
static PyObject * bpy_bmeditselseq_add(BPy_BMEditSelSeq *self, BPy_BMElem *value)
static PyObject * bpy_bmeditselseq_clear(BPy_BMEditSelSeq *self)
static PyObject * bpy_bmeditselseq_validate(BPy_BMEditSelSeq *self)

Definition at line 160 of file bmesh_py_types_select.cc.

Referenced by BPy_BM_init_types_select().

◆ BPy_BMEditSelSeq_Type

PyTypeObject BPy_BMEditSelSeq_Type