docs/sphinx: Add sphinx documentation
This commit is contained in:
306
docs/sphinx/reference-libobs-graphics-vec3.rst
Normal file
306
docs/sphinx/reference-libobs-graphics-vec3.rst
Normal file
@@ -0,0 +1,306 @@
|
||||
3-Component Vector
|
||||
==================
|
||||
|
||||
.. code:: cpp
|
||||
|
||||
#include <graphics/vec3.h>
|
||||
|
||||
.. type:: struct vec3
|
||||
|
||||
Two component vector structure.
|
||||
|
||||
.. member:: float vec3.x
|
||||
|
||||
X component
|
||||
|
||||
.. member:: float vec3.y
|
||||
|
||||
Y component
|
||||
|
||||
.. member:: float vec3.z
|
||||
|
||||
Z component
|
||||
|
||||
.. member:: float vec3.ptr[3]
|
||||
|
||||
Unioned array of all components
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_zero(struct vec3 *dst)
|
||||
|
||||
Zeroes a vector
|
||||
|
||||
:param dst: Destination
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_set(struct vec3 *dst, float x, float y)
|
||||
|
||||
Sets the individual components of a 3-component vector.
|
||||
|
||||
:param dst: Destination
|
||||
:param x: X component
|
||||
:param y: Y component
|
||||
:param y: Z component
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_copy(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Copies a vector
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector to copy
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_from_vec4(struct vec3 *dst, const struct vec4 *v)
|
||||
|
||||
Creates a 3-component vector from a 4-component vector
|
||||
|
||||
:param dst: 3-component vector destination
|
||||
:param v: 4-component vector
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_add(struct vec3 *dst, const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Adds two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_sub(struct vec3 *dst, const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Subtracts two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v1: Vector being subtracted from
|
||||
:param v2: Vector being subtracted
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_mul(struct vec3 *dst, const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Multiplies two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_div(struct vec3 *dst, const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Divides two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v1: Dividend
|
||||
:param v2: Divisor
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_addf(struct vec3 *dst, const struct vec3 *v, float f)
|
||||
|
||||
Adds a floating point to all components
|
||||
|
||||
:param dst: Destination
|
||||
:param dst: Vector
|
||||
:param f: Floating point
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_subf(struct vec3 *dst, const struct vec3 *v, float f)
|
||||
|
||||
Subtracts a floating point from all components
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector being subtracted from
|
||||
:param f: Floating point being subtracted
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_mulf(struct vec3 *dst, const struct vec3 *v, float f)
|
||||
|
||||
Multiplies a floating point with all components
|
||||
|
||||
:param dst: Destination
|
||||
:param dst: Vector
|
||||
:param f: Floating point
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_divf(struct vec3 *dst, const struct vec3 *v, float f)
|
||||
|
||||
Divides a floating point from all components
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector (dividend)
|
||||
:param f: Floating point (divisor)
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_neg(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Negates a vector
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector to negate
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: float vec3_dot(const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Performs a dot product between two vectors
|
||||
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
:return: Result of the dot product
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_cross(struct vec3 *dst, const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Performs a cross product between two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: float vec3_len(const struct vec3 *v)
|
||||
|
||||
Gets the length of a vector
|
||||
|
||||
:param v: Vector
|
||||
:return: The vector's length
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: float vec3_dist(const struct vec3 *v1, const struct vec3 *v2)
|
||||
|
||||
Gets the distance between two vectors
|
||||
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
:return: Distance between the two vectors
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_minf(struct vec3 *dst, const struct vec3 *v, float val)
|
||||
|
||||
Gets the minimum values between a vector's components and a floating point
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
:param val: Floating point
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_min(struct vec3 *dst, const struct vec3 *v, const struct vec3 *min_v)
|
||||
|
||||
Gets the minimum values between two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector 1
|
||||
:param min_v: Vector 2
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_maxf(struct vec3 *dst, const struct vec3 *v, float val)
|
||||
|
||||
Gets the maximum values between a vector's components and a floating point
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
:param val: Floating point
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_max(struct vec3 *dst, const struct vec3 *v, const struct vec3 *max_v)
|
||||
|
||||
Gets the maximum values between two vectors
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector 1
|
||||
:param max_v: Vector 2
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_abs(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Gets the absolute values of each component
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_floor(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Gets the floor values of each component
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_ceil(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Gets the ceiling values of each component
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: int vec3_close(const struct vec3 *v1, const struct vec3 *v2, float epsilon)
|
||||
|
||||
Compares two vectors
|
||||
|
||||
:param v1: Vector 1
|
||||
:param v2: Vector 2
|
||||
:param epsilon: Maximum precision for comparison
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_norm(struct vec3 *dst, const struct vec3 *v)
|
||||
|
||||
Normalizes a vector
|
||||
|
||||
:param dst: Desination
|
||||
:param v: Vector to normalize
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_transform(struct vec3 *dst, const struct vec3 *v, const struct matrix4 *m)
|
||||
|
||||
Transforms a vector
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
:param m: Matrix
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_rotate(struct vec3 *dst, const struct vec3 *v, const struct matrix3 *m)
|
||||
|
||||
Rotates a vector
|
||||
|
||||
:param dst: Destination
|
||||
:param v: Vector
|
||||
:param m: Matrix
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void vec3_rand(struct vec3 *dst, int positive_only)
|
||||
|
||||
Generates a random vector
|
||||
|
||||
:param dst: Destination
|
||||
:param positive_only: *true* if positive only, *false* otherwise
|
Reference in New Issue
Block a user