pygame2.math

The pygame2.math C API contains various objects and functions for math and vector operations.

Import

Include headers:

pygame2/pgmath.h
int import_pygame2_math(void)
Imports the pygame2.math module. This returns 0 on success and -1 on failure.

Macros

VEC_EPSILON

Todo

Detailled description about the eps usage.

Functions

double* VectorCoordsFromObj(PyObject *obj, Py_ssize_t *size)
Tries to retrieve as many double values as possible from the passed obj. If *obj is a PyVector, a copy of all its elements is returned. Otherwise the method treats obj as a sequence of float values. The total amount of doubles returned will be stored in size. The caller has to free the return value using PyMem_Free(). This returns 1 on success and 0 on failure.

PyVector

PyVector
PyVector_Type

The PyVector object is a generic vector implementation, which can deal with any dimension size. Specialized (and in some terms faster) implementations for 2 and 3 dimensions can be found in the PyVector2 and PyVector3 implementations.

Members

double* PyVector.coords
The vector coordinates. It holds up to dim values.
Py_ssize_t PyVector.dim;
The number of dimensions (coordinate values), the PyVector can hold.
double PyVector.epsilon

Todo

Detailled description about the eps usage.

Functions

int PyVector_Check(PyObject *obj)
Returns true, if the argument is a PyVector or a subclass of PyVector.
PyObject* PyVector_New(Py_ssize_t dims)
Creates a new PyVector object with the given number of dimensions. On failure, this returns NULL.
PyObject* PyVector_NewFromSeq(PyObject *obj)
Creates a new PyVector object from the passed obj. obj is treated as a sequence of float values (or PyVector). On failure, this returns NULL.
PyVector_NewSpecialized(Py_ssize_t dims)
This behaves like PyVector_New(), but creates specialized PyVector2 or PyVector3 instances for a dims value of 2 or 3. On failure, this returns NULL.

PyVector2

PyVector2
PyVector2_Type

A specialized PyVector class limited to two dimensions.

Members

PyVector PyVector2.vector
The parent PyVector class the PyVector2 inherits from.

Functions

int PyVector2_Check(PyObject *obj)
Returns true, if the argument is a PyVector2 or a subclass of PyVector2.
PyObject* PyVector2_New(double x, double y)
Creates a new PyVector2 object with the specified x and y coordinates. On failure, this returns NULL.

PyVector3

PyVector3
PyVector3_Type

A specialized PyVector class limited to three dimensions.

Members

PyVector PyVector3.vector
The parent PyVector class the PyVector3 inherits from.

Functions

int PyVector3_Check(PyObject *obj)
Returns true, if the argument is a PyVector3 or a subclass of PyVector3.
PyObject* PyVector3_New(double x, double y, double z)
Creates a new PyVector3 object with the specified x, y and z coordinates. On failure, this returns NULL.

Table Of Contents

Previous topic

pygame2.mask

Next topic

pygame2.openal

This Page