Next: libmsg, Previous: libmap, Up: C API [Contents][Index]

### 5.32 libmat

#### 5.32.1 Overview

View lcov test coverage results on http://www.gnu.org/software/liquidwar6/coverage/src/lib/mat/index.html.

#### 5.32.2 API

Function: void lw6mat_dvec2_zero (lw6mat_dvec2_t * dvec2)

  dvec2: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_dvec2_is_same (const lw6mat_dvec2_t * dvec2_a, const lw6mat_dvec2_t * dvec2_b)

  dvec2_a: 1st vector to compare

  dvec2_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: double lw6mat_dvec2_len_sq (const lw6mat_dvec2_t * dvec2)

  dvec2: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: double lw6mat_dvec2_len (const lw6mat_dvec2_t * dvec2)

  dvec2: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_dvec2_norm (lw6mat_dvec2_t * dvec2)

  dvec2: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_dvec2_neg (lw6mat_dvec2_t * dvec2)

  dvec2: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_dvec2_add (lw6mat_dvec2_t * dvec2, const lw6mat_dvec2_t * dvec2_a, const lw6mat_dvec2_t * dvec2_b)

  dvec2: result vector

  dvec2_a: 1st vector to add

  dvec2_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_dvec2_sub (lw6mat_dvec2_t * dvec2, const lw6mat_dvec2_t * dvec2_a, const lw6mat_dvec2_t * dvec2_b)

  dvec2: result vector

  dvec2_a: 1st vector

  dvec2_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: double lw6mat_dvec2_dot (const lw6mat_dvec2_t * dvec2_a, const lw6mat_dvec2_t * dvec2_b)

  dvec2_a: 1st vector

  dvec2_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_dvec2_cross (lw6mat_dvec3_t * dvec3, const lw6mat_dvec2_t * dvec2_a, const lw6mat_dvec2_t * dvec2_b)

  dvec3: result vector

  dvec2_a: 1st vector

  dvec2_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors. Since cross product only really makes sense in 3D, this function will interpret the 2D vectors as 3D vectors with z set t zero, that is, a vector in the xy plane.

  Return value: none

Function: void lw6mat_dvec2_scale (lw6mat_dvec2_t * dvec2, double f)

  dvec2: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: void lw6mat_dvec3_zero (lw6mat_dvec3_t * dvec3)

  dvec3: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_dvec3_is_same (const lw6mat_dvec3_t * dvec3_a, const lw6mat_dvec3_t * dvec3_b)

  dvec3_a: 1st vector to compare

  dvec3_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: double lw6mat_dvec3_len_sq (const lw6mat_dvec3_t * dvec3)

  dvec3: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: double lw6mat_dvec3_len (const lw6mat_dvec3_t * dvec3)

  dvec3: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_dvec3_norm (lw6mat_dvec3_t * dvec3)

  dvec3: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_dvec3_neg (lw6mat_dvec3_t * dvec3)

  dvec3: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_dvec3_add (lw6mat_dvec3_t * dvec3, const lw6mat_dvec3_t * dvec3_a, const lw6mat_dvec3_t * dvec3_b)

  dvec3: result vector

  dvec3_a: 1st vector to add

  dvec3_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_dvec3_sub (lw6mat_dvec3_t * dvec3, const lw6mat_dvec3_t * dvec3_a, const lw6mat_dvec3_t * dvec3_b)

  dvec3: result vector

  dvec3_a: 1st vector

  dvec3_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: double lw6mat_dvec3_dot (const lw6mat_dvec3_t * dvec3_a, const lw6mat_dvec3_t * dvec3_b)

  dvec3_a: 1st vector

  dvec3_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_dvec3_cross (lw6mat_dvec3_t * dvec3, const lw6mat_dvec3_t * dvec3_a, const lw6mat_dvec3_t * dvec3_b)

  dvec3: result vector

  dvec3_a: 1st vector

  dvec3_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors.

  Return value: none

Function: void lw6mat_dvec3_scale (lw6mat_dvec3_t * dvec3, double f)

  dvec3: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: void lw6mat_dvec4_zero (lw6mat_dvec4_t * dvec4)

  dvec4: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_dvec4_is_same (const lw6mat_dvec4_t * dvec4_a, const lw6mat_dvec4_t * dvec4_b)

  dvec4_a: 1st vector to compare

  dvec4_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: double lw6mat_dvec4_len_sq (const lw6mat_dvec4_t * dvec4)

  dvec4: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: double lw6mat_dvec4_len (const lw6mat_dvec4_t * dvec4)

  dvec4: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_dvec4_norm (lw6mat_dvec4_t * dvec4)

  dvec4: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_dvec4_neg (lw6mat_dvec4_t * dvec4)

  dvec4: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_dvec4_add (lw6mat_dvec4_t * dvec4, const lw6mat_dvec4_t * dvec4_a, const lw6mat_dvec4_t * dvec4_b)

  dvec4: result vector

  dvec4_a: 1st vector to add

  dvec4_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_dvec4_sub (lw6mat_dvec4_t * dvec4, const lw6mat_dvec4_t * dvec4_a, const lw6mat_dvec4_t * dvec4_b)

  dvec4: result vector

  dvec4_a: 1st vector

  dvec4_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: double lw6mat_dvec4_dot (const lw6mat_dvec4_t * dvec4_a, const lw6mat_dvec4_t * dvec4_b)

  dvec4_a: 1st vector

  dvec4_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_dvec4_cross (lw6mat_dvec3_t * dvec3, const lw6mat_dvec4_t * dvec4_a, const lw6mat_dvec4_t * dvec4_b)

  dvec3: result vector

  dvec4_a: 1st vector

  dvec4_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors. Since cross product only really makes sense in 3D, this function will interpret the 4D vectors as 3D vectors only, ignoring the last value.

  Return value: none

Function: void lw6mat_dvec4_scale (lw6mat_dvec4_t * dvec4, double f)

  dvec4: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: void lw6mat_fvec2_zero (lw6mat_fvec2_t * fvec2)

  fvec2: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_fvec2_is_same (const lw6mat_fvec2_t * fvec2_a, const lw6mat_fvec2_t * fvec2_b)

  fvec2_a: 1st vector to compare

  fvec2_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: float lw6mat_fvec2_len_sq (const lw6mat_fvec2_t * fvec2)

  fvec2: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: float lw6mat_fvec2_len (const lw6mat_fvec2_t * fvec2)

  fvec2: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_fvec2_norm (lw6mat_fvec2_t * fvec2)

  fvec2: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_fvec2_neg (lw6mat_fvec2_t * fvec2)

  fvec2: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_fvec2_add (lw6mat_fvec2_t * fvec2, const lw6mat_fvec2_t * fvec2_a, const lw6mat_fvec2_t * fvec2_b)

  fvec2: result vector

  fvec2_a: 1st vector to add

  fvec2_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_fvec2_sub (lw6mat_fvec2_t * fvec2, const lw6mat_fvec2_t * fvec2_a, const lw6mat_fvec2_t * fvec2_b)

  fvec2: result vector

  fvec2_a: 1st vector

  fvec2_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: float lw6mat_fvec2_dot (const lw6mat_fvec2_t * fvec2_a, const lw6mat_fvec2_t * fvec2_b)

  fvec2_a: 1st vector

  fvec2_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_fvec2_cross (lw6mat_fvec3_t * fvec3, const lw6mat_fvec2_t * fvec2_a, const lw6mat_fvec2_t * fvec2_b)

  fvec3: result vector

  fvec2_a: 1st vector

  fvec2_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors. Since cross product only really makes sense in 3D, this function will interpret the 2D vectors as 3D vectors with z set t zero, that is, a vector in the xy plane.

  Return value: none

Function: void lw6mat_fvec2_scale (lw6mat_fvec2_t * fvec2, float f)

  fvec2: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: void lw6mat_fvec3_zero (lw6mat_fvec3_t * fvec3)

  fvec3: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_fvec3_is_same (const lw6mat_fvec3_t * fvec3_a, const lw6mat_fvec3_t * fvec3_b)

  fvec3_a: 1st vector to compare

  fvec3_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: float lw6mat_fvec3_len_sq (const lw6mat_fvec3_t * fvec3)

  fvec3: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: float lw6mat_fvec3_len (const lw6mat_fvec3_t * fvec3)

  fvec3: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_fvec3_norm (lw6mat_fvec3_t * fvec3)

  fvec3: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_fvec3_neg (lw6mat_fvec3_t * fvec3)

  fvec3: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_fvec3_add (lw6mat_fvec3_t * fvec3, const lw6mat_fvec3_t * fvec3_a, const lw6mat_fvec3_t * fvec3_b)

  fvec3: result vector

  fvec3_a: 1st vector to add

  fvec3_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_fvec3_sub (lw6mat_fvec3_t * fvec3, const lw6mat_fvec3_t * fvec3_a, const lw6mat_fvec3_t * fvec3_b)

  fvec3: result vector

  fvec3_a: 1st vector

  fvec3_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: float lw6mat_fvec3_dot (const lw6mat_fvec3_t * fvec3_a, const lw6mat_fvec3_t * fvec3_b)

  fvec3_a: 1st vector

  fvec3_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_fvec3_cross (lw6mat_fvec3_t * fvec3, const lw6mat_fvec3_t * fvec3_a, const lw6mat_fvec3_t * fvec3_b)

  fvec3: result vector

  fvec3_a: 1st vector

  fvec3_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors.

  Return value: none

Function: void lw6mat_fvec3_scale (lw6mat_fvec3_t * fvec3, float f)

  fvec3: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: void lw6mat_fvec4_zero (lw6mat_fvec4_t * fvec4)

  fvec4: the vector to initialize.

  Fills the vector with zeros, regardless of what was there before. Internally, does a memset the only advantage is that this function should use the right sizeof and therefore avoids typo errors.

  Return value: none.

Function: int lw6mat_fvec4_is_same (const lw6mat_fvec4_t * fvec4_a, const lw6mat_fvec4_t * fvec4_b)

  fvec4_a: 1st vector to compare

  fvec4_b: 2nd vector to compare

  Compares two vectors, returns true if they are equal.

  Return value: 1 if equal, 0 if different.

Function: float lw6mat_fvec4_len_sq (const lw6mat_fvec4_t * fvec4)

  fvec4: the vector to query.

  Returns the square of a vector length. To get the real length one should then apply a square root but at this stage one has at least an idea about vector length, and this information is enough to compare them.

  Return value: sigma(coord*coord)

Function: float lw6mat_fvec4_len (const lw6mat_fvec4_t * fvec4)

  fvec4: the vector to query.

  Returns the size/length of a vector, this is the distance of the point from origin, not the number of elements.

  Return value: the length of the vector.

Function: int lw6mat_fvec4_norm (lw6mat_fvec4_t * fvec4)

  fvec4: the vector to normalize.

  Normalizes a vector, that is, make its length be 1.

  Return value: 1 if OK, 0 if error, such as trying to normalize vector zero.

Function: void lw6mat_fvec4_neg (lw6mat_fvec4_t * fvec4)

  fvec4: vector to modify

  Calcs the opposite vector, by making a negation on all its members

  Return value: none

Function: void lw6mat_fvec4_add (lw6mat_fvec4_t * fvec4, const lw6mat_fvec4_t * fvec4_a, const lw6mat_fvec4_t * fvec4_b)

  fvec4: result vector

  fvec4_a: 1st vector to add

  fvec4_b: 2nd vector to add

  Adds two vectors.

  Return value: none

Function: void lw6mat_fvec4_sub (lw6mat_fvec4_t * fvec4, const lw6mat_fvec4_t * fvec4_a, const lw6mat_fvec4_t * fvec4_b)

  fvec4: result vector

  fvec4_a: 1st vector

  fvec4_b: 2nd vector, will be substracted to 1st vector

  Substracts vector b from vector a.

  Return value: none

Function: float lw6mat_fvec4_dot (const lw6mat_fvec4_t * fvec4_a, const lw6mat_fvec4_t * fvec4_b)

  fvec4_a: 1st vector

  fvec4_b: 2nd vector

  Calculates the dot AKA scalar product of the two vectors.

  Return value: none

Function: void lw6mat_fvec4_cross (lw6mat_fvec3_t * fvec3, const lw6mat_fvec4_t * fvec4_a, const lw6mat_fvec4_t * fvec4_b)

  fvec3: result vector

  fvec4_a: 1st vector

  fvec4_b: 2nd vector

  Calculates the cross AKA vectorial product of the two vectors. Since cross product only really makes sense in 3D, this function will interpret the 4D vectors as 3D vectors only, ignoring the last value.

  Return value: none

Function: void lw6mat_fvec4_scale (lw6mat_fvec4_t * fvec4, float f)

  fvec4: vector to modify

  f: scale factor

  Scales the vector by multiplying all its members by a scalar value.

  Return value: none

Function: int lw6mat_test_register (int mode)

  mode: test mode (bitmask)

  Registers all tests for the libmat module.

  Return value: 1 if test is successfull, 0 on error.

Function: int lw6mat_test_run (int mode)

  mode: test mode (bitmask)

  Runs the `mat` module test suite, testing most (if not all...) functions.

  Return value: 1 if test is successfull, 0 on error.

Struct: lw6mat_dmat2_t

  Double 2x2 matrix (AKA 2D rectangle).

Member of lw6mat_dmat2_t: m

  Type: `double`

  Definition: `double lw6mat_dmat2_t::m[2][2]`

  Accessor with array index.

Struct: lw6mat_dmat3_t

  Double 3x3 matrix (AKA 3D triangle).

Member of lw6mat_dmat3_t: m

  Type: `double`

  Definition: `double lw6mat_dmat3_t::m[3][3]`

  Accessor with array index.

Struct: lw6mat_dmat4_t

  Double 4x4 matrix (AKA 3D transformation/composition matrix).

Member of lw6mat_dmat4_t: m

  Type: `double`

  Definition: `double lw6mat_dmat4_t::m[4][4]`

  Accessor with array index.

Struct: lw6mat_dvec2_t

  Double vector with 2 elements (AKA 2D point).

Member of lw6mat_dvec2_t: x

  Type: `double`

  Definition: `double lw6mat_dvec2_t::x`

Member of lw6mat_dvec2_t: y

  Type: `double`

  Definition: `double lw6mat_dvec2_t::y`

Member of lw6mat_dvec2_t: p

  Type: `struct lw6mat_dvec2_t::16`

  Definition: `struct lw6mat_dvec2_t::16 lw6mat_dvec2_t::p`

  Accessor with named/point coords.

Member of lw6mat_dvec2_t: s

  Type: `double`

  Definition: `double lw6mat_dvec2_t::s`

Member of lw6mat_dvec2_t: t

  Type: `double`

  Definition: `double lw6mat_dvec2_t::t`

Member of lw6mat_dvec2_t: t

  Type: `struct lw6mat_dvec2_t::17`

  Definition: `struct lw6mat_dvec2_t::17 lw6mat_dvec2_t::t`

  Accessor with texture-like name.

Member of lw6mat_dvec2_t: v

  Type: `double`

  Definition: `double lw6mat_dvec2_t::v[2]`

  Accessor with array index.

Struct: lw6mat_dvec3_t

  Double vector with 3 elements (AKA 3D point).

Member of lw6mat_dvec3_t: x

  Type: `double`

  Definition: `double lw6mat_dvec3_t::x`

Member of lw6mat_dvec3_t: y

  Type: `double`

  Definition: `double lw6mat_dvec3_t::y`

Member of lw6mat_dvec3_t: z

  Type: `double`

  Definition: `double lw6mat_dvec3_t::z`

Member of lw6mat_dvec3_t: p

  Type: `struct lw6mat_dvec3_t::18`

  Definition: `struct lw6mat_dvec3_t::18 lw6mat_dvec3_t::p`

  Accessor with named/point coords.

Member of lw6mat_dvec3_t: r

  Type: `double`

  Definition: `double lw6mat_dvec3_t::r`

Member of lw6mat_dvec3_t: g

  Type: `double`

  Definition: `double lw6mat_dvec3_t::g`

Member of lw6mat_dvec3_t: b

  Type: `double`

  Definition: `double lw6mat_dvec3_t::b`

Member of lw6mat_dvec3_t: c

  Type: `struct lw6mat_dvec3_t::19`

  Definition: `struct lw6mat_dvec3_t::19 lw6mat_dvec3_t::c`

  Accessor with color-like name.

Member of lw6mat_dvec3_t: s

  Type: `double`

  Definition: `double lw6mat_dvec3_t::s`

Member of lw6mat_dvec3_t: t

  Type: `double`

  Definition: `double lw6mat_dvec3_t::t`

Member of lw6mat_dvec3_t: p

  Type: `double`

  Definition: `double lw6mat_dvec3_t::p`

Member of lw6mat_dvec3_t: t

  Type: `struct lw6mat_dvec3_t::20`

  Definition: `struct lw6mat_dvec3_t::20 lw6mat_dvec3_t::t`

  Accessor with texture-like name.

Member of lw6mat_dvec3_t: v

  Type: `double`

  Definition: `double lw6mat_dvec3_t::v[3]`

  Accessor with array index.

Member of lw6mat_dvec3_t: v2

  Type: `lw6mat_dvec2_t`

  Definition: `lw6mat_dvec2_t lw6mat_dvec3_t::v2`

  Accessor with smaller-sized vector, only 2 dimensions.

Struct: lw6mat_dvec4_t

  Double vector with 4 elements (AKA quaternion).

Member of lw6mat_dvec4_t: x

  Type: `double`

  Definition: `double lw6mat_dvec4_t::x`

Member of lw6mat_dvec4_t: y

  Type: `double`

  Definition: `double lw6mat_dvec4_t::y`

Member of lw6mat_dvec4_t: z

  Type: `double`

  Definition: `double lw6mat_dvec4_t::z`

Member of lw6mat_dvec4_t: w

  Type: `double`

  Definition: `double lw6mat_dvec4_t::w`

Member of lw6mat_dvec4_t: p

  Type: `struct lw6mat_dvec4_t::21`

  Definition: `struct lw6mat_dvec4_t::21 lw6mat_dvec4_t::p`

  Accessor with named/point coords.

Member of lw6mat_dvec4_t: r

  Type: `double`

  Definition: `double lw6mat_dvec4_t::r`

Member of lw6mat_dvec4_t: g

  Type: `double`

  Definition: `double lw6mat_dvec4_t::g`

Member of lw6mat_dvec4_t: b

  Type: `double`

  Definition: `double lw6mat_dvec4_t::b`

Member of lw6mat_dvec4_t: a

  Type: `double`

  Definition: `double lw6mat_dvec4_t::a`

Member of lw6mat_dvec4_t: c

  Type: `struct lw6mat_dvec4_t::22`

  Definition: `struct lw6mat_dvec4_t::22 lw6mat_dvec4_t::c`

  Accessor with color-like name.

Member of lw6mat_dvec4_t: s

  Type: `double`

  Definition: `double lw6mat_dvec4_t::s`

Member of lw6mat_dvec4_t: t

  Type: `double`

  Definition: `double lw6mat_dvec4_t::t`

Member of lw6mat_dvec4_t: p

  Type: `double`

  Definition: `double lw6mat_dvec4_t::p`

Member of lw6mat_dvec4_t: q

  Type: `double`

  Definition: `double lw6mat_dvec4_t::q`

Member of lw6mat_dvec4_t: t

  Type: `struct lw6mat_dvec4_t::23`

  Definition: `struct lw6mat_dvec4_t::23 lw6mat_dvec4_t::t`

  Accessor with texture-like name.

Member of lw6mat_dvec4_t: v

  Type: `double`

  Definition: `double lw6mat_dvec4_t::v[4]`

  Accessor with array index.

Member of lw6mat_dvec4_t: v2

  Type: `lw6mat_dvec2_t`

  Definition: `lw6mat_dvec2_t lw6mat_dvec4_t::v2`

  Accessor with smaller-sized vector, only 2 dimensions.

Member of lw6mat_dvec4_t: v3

  Type: `lw6mat_dvec3_t`

  Definition: `lw6mat_dvec3_t lw6mat_dvec4_t::v3`

  Accessor with smaller-sized vector, only 3 dimensions.

Struct: lw6mat_fmat2_t

  Float 2x2 matrix (AKA 2D rectangle).

Member of lw6mat_fmat2_t: m

  Type: `float`

  Definition: `float lw6mat_fmat2_t::m[2][2]`

  Accessor with array index.

Struct: lw6mat_fmat3_t

  Float 3x3 matrix (AKA 3D triangle).

Member of lw6mat_fmat3_t: m

  Type: `float`

  Definition: `float lw6mat_fmat3_t::m[3][3]`

  Accessor with array index.

Struct: lw6mat_fmat4_t

  Float 4x4 matrix (AKA 3D transformation/composition matrix).

Member of lw6mat_fmat4_t: m

  Type: `float`

  Definition: `float lw6mat_fmat4_t::m[4][4]`

  Accessor with array index.

Struct: lw6mat_fvec2_t

  Float vector with 2 elements (AKA 2D point).

Member of lw6mat_fvec2_t: x

  Type: `float`

  Definition: `float lw6mat_fvec2_t::x`

Member of lw6mat_fvec2_t: y

  Type: `float`

  Definition: `float lw6mat_fvec2_t::y`

Member of lw6mat_fvec2_t: p

  Type: `struct lw6mat_fvec2_t::0`

  Definition: `struct lw6mat_fvec2_t::0 lw6mat_fvec2_t::p`

  Accessor with named/point coords.

Member of lw6mat_fvec2_t: s

  Type: `float`

  Definition: `float lw6mat_fvec2_t::s`

Member of lw6mat_fvec2_t: t

  Type: `float`

  Definition: `float lw6mat_fvec2_t::t`

Member of lw6mat_fvec2_t: t

  Type: `struct lw6mat_fvec2_t::1`

  Definition: `struct lw6mat_fvec2_t::1 lw6mat_fvec2_t::t`

  Accessor with texture-like name.

Member of lw6mat_fvec2_t: v

  Type: `float`

  Definition: `float lw6mat_fvec2_t::v[2]`

  Accessor with array index.

Struct: lw6mat_fvec3_t

  Float vector with 3 elements (AKA 3D point).

Member of lw6mat_fvec3_t: x

  Type: `float`

  Definition: `float lw6mat_fvec3_t::x`

Member of lw6mat_fvec3_t: y

  Type: `float`

  Definition: `float lw6mat_fvec3_t::y`

Member of lw6mat_fvec3_t: z

  Type: `float`

  Definition: `float lw6mat_fvec3_t::z`

Member of lw6mat_fvec3_t: p

  Type: `struct lw6mat_fvec3_t::2`

  Definition: `struct lw6mat_fvec3_t::2 lw6mat_fvec3_t::p`

  Accessor with named/point coords.

Member of lw6mat_fvec3_t: r

  Type: `float`

  Definition: `float lw6mat_fvec3_t::r`

Member of lw6mat_fvec3_t: g

  Type: `float`

  Definition: `float lw6mat_fvec3_t::g`

Member of lw6mat_fvec3_t: b

  Type: `float`

  Definition: `float lw6mat_fvec3_t::b`

Member of lw6mat_fvec3_t: c

  Type: `struct lw6mat_fvec3_t::3`

  Definition: `struct lw6mat_fvec3_t::3 lw6mat_fvec3_t::c`

  Accessor with color-like name.

Member of lw6mat_fvec3_t: s

  Type: `float`

  Definition: `float lw6mat_fvec3_t::s`

Member of lw6mat_fvec3_t: t

  Type: `float`

  Definition: `float lw6mat_fvec3_t::t`

Member of lw6mat_fvec3_t: p

  Type: `float`

  Definition: `float lw6mat_fvec3_t::p`

Member of lw6mat_fvec3_t: t

  Type: `struct lw6mat_fvec3_t::4`

  Definition: `struct lw6mat_fvec3_t::4 lw6mat_fvec3_t::t`

  Accessor with texture-like name.

Member of lw6mat_fvec3_t: v

  Type: `float`

  Definition: `float lw6mat_fvec3_t::v[3]`

  Accessor with array index.

Member of lw6mat_fvec3_t: v2

  Type: `lw6mat_fvec2_t`

  Definition: `lw6mat_fvec2_t lw6mat_fvec3_t::v2`

  Accessor with smaller-sized vector, only 2 dimensions.

Struct: lw6mat_fvec4_t

  Float vector with 4 elements (AKA quaternion).

Member of lw6mat_fvec4_t: x

  Type: `float`

  Definition: `float lw6mat_fvec4_t::x`

Member of lw6mat_fvec4_t: y

  Type: `float`

  Definition: `float lw6mat_fvec4_t::y`

Member of lw6mat_fvec4_t: z

  Type: `float`

  Definition: `float lw6mat_fvec4_t::z`

Member of lw6mat_fvec4_t: w

  Type: `float`

  Definition: `float lw6mat_fvec4_t::w`

Member of lw6mat_fvec4_t: p

  Type: `struct lw6mat_fvec4_t::5`

  Definition: `struct lw6mat_fvec4_t::5 lw6mat_fvec4_t::p`

  Accessor with named/point coords.

Member of lw6mat_fvec4_t: r

  Type: `float`

  Definition: `float lw6mat_fvec4_t::r`

Member of lw6mat_fvec4_t: g

  Type: `float`

  Definition: `float lw6mat_fvec4_t::g`

Member of lw6mat_fvec4_t: b

  Type: `float`

  Definition: `float lw6mat_fvec4_t::b`

Member of lw6mat_fvec4_t: a

  Type: `float`

  Definition: `float lw6mat_fvec4_t::a`

Member of lw6mat_fvec4_t: c

  Type: `struct lw6mat_fvec4_t::6`

  Definition: `struct lw6mat_fvec4_t::6 lw6mat_fvec4_t::c`

  Accessor with color-like name.

Member of lw6mat_fvec4_t: s

  Type: `float`

  Definition: `float lw6mat_fvec4_t::s`

Member of lw6mat_fvec4_t: t

  Type: `float`

  Definition: `float lw6mat_fvec4_t::t`

Member of lw6mat_fvec4_t: p

  Type: `float`

  Definition: `float lw6mat_fvec4_t::p`

Member of lw6mat_fvec4_t: q

  Type: `float`

  Definition: `float lw6mat_fvec4_t::q`

Member of lw6mat_fvec4_t: t

  Type: `struct lw6mat_fvec4_t::7`

  Definition: `struct lw6mat_fvec4_t::7 lw6mat_fvec4_t::t`

  Accessor with texture-like name.

Member of lw6mat_fvec4_t: v

  Type: `float`

  Definition: `float lw6mat_fvec4_t::v[4]`

  Accessor with array index.

Member of lw6mat_fvec4_t: v2

  Type: `lw6mat_fvec2_t`

  Definition: `lw6mat_fvec2_t lw6mat_fvec4_t::v2`

  Accessor with smaller-sized vector, only 2 dimensions.

Member of lw6mat_fvec4_t: v3

  Type: `lw6mat_fvec3_t`

  Definition: `lw6mat_fvec3_t lw6mat_fvec4_t::v3`

  Accessor with smaller-sized vector, only 3 dimensions.

Struct: lw6mat_imat2_t

  Integer 2x2 matrix (AKA 2D rectangle).

Member of lw6mat_imat2_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_imat2_t::m[2][2]`

  Accessor with array index.

Struct: lw6mat_imat3_t

  Integer 3x3 matrix (AKA 3D triangle).

Member of lw6mat_imat3_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_imat3_t::m[3][3]`

  Accessor with array index.

Struct: lw6mat_imat4_t

  Integer 4x4 matrix (AKA 3D transformation/composition matrix).

Member of lw6mat_imat4_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_imat4_t::m[4][4]`

  Accessor with array index.

Struct: lw6mat_ivec2_t

  Integer vector with 2 elements (AKA 2D point).

Member of lw6mat_ivec2_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec2_t::x`

Member of lw6mat_ivec2_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec2_t::y`

Member of lw6mat_ivec2_t: p

  Type: `struct lw6mat_ivec2_t::8`

  Definition: `struct lw6mat_ivec2_t::8 lw6mat_ivec2_t::p`

  Accessor with named/point coords.

Member of lw6mat_ivec2_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec2_t::s`

Member of lw6mat_ivec2_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec2_t::t`

Member of lw6mat_ivec2_t: t

  Type: `struct lw6mat_ivec2_t::9`

  Definition: `struct lw6mat_ivec2_t::9 lw6mat_ivec2_t::t`

  Accessor with texture-like name.

Member of lw6mat_ivec2_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec2_t::v[2]`

  Accessor with array index.

Struct: lw6mat_ivec3_t

  Integer vector with 3 elements (AKA 3D point).

Member of lw6mat_ivec3_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::x`

Member of lw6mat_ivec3_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::y`

Member of lw6mat_ivec3_t: z

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::z`

Member of lw6mat_ivec3_t: p

  Type: `struct lw6mat_ivec3_t::10`

  Definition: `struct lw6mat_ivec3_t::10 lw6mat_ivec3_t::p`

  Accessor with named/point coords.

Member of lw6mat_ivec3_t: r

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::r`

Member of lw6mat_ivec3_t: g

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::g`

Member of lw6mat_ivec3_t: b

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::b`

Member of lw6mat_ivec3_t: c

  Type: `struct lw6mat_ivec3_t::11`

  Definition: `struct lw6mat_ivec3_t::11 lw6mat_ivec3_t::c`

  Accessor with color-like name.

Member of lw6mat_ivec3_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::s`

Member of lw6mat_ivec3_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::t`

Member of lw6mat_ivec3_t: p

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::p`

Member of lw6mat_ivec3_t: t

  Type: `struct lw6mat_ivec3_t::12`

  Definition: `struct lw6mat_ivec3_t::12 lw6mat_ivec3_t::t`

  Accessor with texture-like name.

Member of lw6mat_ivec3_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec3_t::v[3]`

  Accessor with array index.

Struct: lw6mat_ivec4_t

  Integer vector with 4 elements (AKA quaternion).

Member of lw6mat_ivec4_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::x`

Member of lw6mat_ivec4_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::y`

Member of lw6mat_ivec4_t: z

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::z`

Member of lw6mat_ivec4_t: w

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::w`

Member of lw6mat_ivec4_t: p

  Type: `struct lw6mat_ivec4_t::13`

  Definition: `struct lw6mat_ivec4_t::13 lw6mat_ivec4_t::p`

  Accessor with named/point coords.

Member of lw6mat_ivec4_t: r

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::r`

Member of lw6mat_ivec4_t: g

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::g`

Member of lw6mat_ivec4_t: b

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::b`

Member of lw6mat_ivec4_t: a

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::a`

Member of lw6mat_ivec4_t: c

  Type: `struct lw6mat_ivec4_t::14`

  Definition: `struct lw6mat_ivec4_t::14 lw6mat_ivec4_t::c`

  Accessor with color-like name.

Member of lw6mat_ivec4_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::s`

Member of lw6mat_ivec4_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::t`

Member of lw6mat_ivec4_t: p

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::p`

Member of lw6mat_ivec4_t: q

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::q`

Member of lw6mat_ivec4_t: t

  Type: `struct lw6mat_ivec4_t::15`

  Definition: `struct lw6mat_ivec4_t::15 lw6mat_ivec4_t::t`

  Accessor with texture-like name.

Member of lw6mat_ivec4_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_ivec4_t::v[4]`

  Accessor with array index.

Struct: lw6mat_xmat2_t

  Fixed Point 2x2 matrix (AKA 2D rectangle).

Member of lw6mat_xmat2_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_xmat2_t::m[2][2]`

  Accessor with array index.

Struct: lw6mat_xmat3_t

  Fixed Point 3x3 matrix (AKA 3D triangle).

Member of lw6mat_xmat3_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_xmat3_t::m[3][3]`

  Accessor with array index.

Struct: lw6mat_xmat4_t

  Fixed Point 4x4 matrix (AKA 3D transformation/composition matrix).

Member of lw6mat_xmat4_t: m

  Type: `int32_t`

  Definition: `int32_t lw6mat_xmat4_t::m[4][4]`

  Accessor with array index.

Struct: lw6mat_xvec2_t

  Fixed Point vector with 2 elements (AKA 2D point).

Member of lw6mat_xvec2_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec2_t::x`

Member of lw6mat_xvec2_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec2_t::y`

Member of lw6mat_xvec2_t: p

  Type: `struct lw6mat_xvec2_t::24`

  Definition: `struct lw6mat_xvec2_t::24 lw6mat_xvec2_t::p`

  Accessor with named/point coords.

Member of lw6mat_xvec2_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec2_t::s`

Member of lw6mat_xvec2_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec2_t::t`

Member of lw6mat_xvec2_t: t

  Type: `struct lw6mat_xvec2_t::25`

  Definition: `struct lw6mat_xvec2_t::25 lw6mat_xvec2_t::t`

  Accessor with texture-like name.

Member of lw6mat_xvec2_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec2_t::v[2]`

  Accessor with array index.

Struct: lw6mat_xvec3_t

  Fixed Point vector with 3 elements (AKA 3D point).

Member of lw6mat_xvec3_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::x`

Member of lw6mat_xvec3_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::y`

Member of lw6mat_xvec3_t: z

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::z`

Member of lw6mat_xvec3_t: p

  Type: `struct lw6mat_xvec3_t::26`

  Definition: `struct lw6mat_xvec3_t::26 lw6mat_xvec3_t::p`

  Accessor with named/point coords.

Member of lw6mat_xvec3_t: r

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::r`

Member of lw6mat_xvec3_t: g

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::g`

Member of lw6mat_xvec3_t: b

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::b`

Member of lw6mat_xvec3_t: c

  Type: `struct lw6mat_xvec3_t::27`

  Definition: `struct lw6mat_xvec3_t::27 lw6mat_xvec3_t::c`

  Accessor with color-like name.

Member of lw6mat_xvec3_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::s`

Member of lw6mat_xvec3_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::t`

Member of lw6mat_xvec3_t: p

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::p`

Member of lw6mat_xvec3_t: t

  Type: `struct lw6mat_xvec3_t::28`

  Definition: `struct lw6mat_xvec3_t::28 lw6mat_xvec3_t::t`

  Accessor with texture-like name.

Member of lw6mat_xvec3_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec3_t::v[3]`

  Accessor with array index.

Struct: lw6mat_xvec4_t

  Fixed Point vector with 4 elements (AKA quaternion).

Member of lw6mat_xvec4_t: x

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::x`

Member of lw6mat_xvec4_t: y

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::y`

Member of lw6mat_xvec4_t: z

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::z`

Member of lw6mat_xvec4_t: w

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::w`

Member of lw6mat_xvec4_t: p

  Type: `struct lw6mat_xvec4_t::29`

  Definition: `struct lw6mat_xvec4_t::29 lw6mat_xvec4_t::p`

  Accessor with named/point coords.

Member of lw6mat_xvec4_t: r

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::r`

Member of lw6mat_xvec4_t: g

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::g`

Member of lw6mat_xvec4_t: b

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::b`

Member of lw6mat_xvec4_t: a

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::a`

Member of lw6mat_xvec4_t: c

  Type: `struct lw6mat_xvec4_t::30`

  Definition: `struct lw6mat_xvec4_t::30 lw6mat_xvec4_t::c`

  Accessor with color-like name.

Member of lw6mat_xvec4_t: s

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::s`

Member of lw6mat_xvec4_t: t

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::t`

Member of lw6mat_xvec4_t: p

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::p`

Member of lw6mat_xvec4_t: q

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::q`

Member of lw6mat_xvec4_t: t

  Type: `struct lw6mat_xvec4_t::31`

  Definition: `struct lw6mat_xvec4_t::31 lw6mat_xvec4_t::t`

  Accessor with texture-like name.

Member of lw6mat_xvec4_t: v

  Type: `int32_t`

  Definition: `int32_t lw6mat_xvec4_t::v[4]`

  Accessor with array index.

Next: libmsg, Previous: libmap, Up: C API [Contents][Index]