Computes the distance of point
from a #graphene_plane_t.
a #graphene_point3d_t
Checks whether the two given #graphene_plane_t are equal.
a #graphene_plane_t
Frees the resources allocated by graphene_plane_alloc().
Retrieves the distance along the normal vector of the given #graphene_plane_t from the origin.
Initializes the given #graphene_plane_t using the given normal
vector
and constant
values.
a unit length normal vector defining the plane pointing towards the origin; if unset, we use the X axis by default
the distance from the origin to the plane along the normal vector; the sign determines the half-space occupied by the plane
Initializes the given #graphene_plane_t using the 3 provided co-planar points.
The winding order is counter-clockwise, and determines which direction the normal vector will point.
Negates the normal vector and constant of a #graphene_plane_t, effectively mirroring the plane across the origin.
Normalizes the vector of the given #graphene_plane_t, and adjusts the constant accordingly.
Transforms a #graphene_plane_t p
using the given matrix
and normal_matrix
.
If normal_matrix
is %NULL, a transformation matrix for the plane
normal will be computed from matrix
. If you are transforming
multiple planes using the same matrix
it's recommended to compute
the normal matrix beforehand to avoid incurring in the cost of
recomputing it every time.
Allocates a new #graphene_plane_t structure.
The contents of the returned structure are undefined.
A 2D plane that extends infinitely in a 3D volume.
The contents of the
graphene_plane_t
are private, and should not be modified directly.