NO_TITLE
Table of Contents
Gnome::Graphene::N-Point3D§
Description§
A point with three components: X, Y, and Z.
Record N-Point3D§
class N-Point3D:auth<github:MARTIMM>:api<2> is export is repr('CStruct') {
has gfloat $.x;
has gfloat $.y;
has gfloat $.z;
}
- x; the X coordinate
- y; the Y coordinate
- z; the Z coordinate
Class initialization§
new§
:native-object§
Create an object using a native object from an object of the same type found elsewhere. See also Gnome::N::TopLevelSupportClass.
multi method new ( N-Object() :$native-object! )
alloc§
Allocates a #graphene_point3d_t structure.
method alloc ( --> Gnome::Graphene::Point3d \)
Methods§
cross§
Computes the cross product of the two given #graphene_point3d_t.
method cross ( CArray[N-Point3D] $b, CArray[N-Point3D] $res )
- $b; a #graphene_point3d_t.
- $res; return location for the cross product.
distance§
Computes the distance between the two given #graphene_point3d_t.
method distance ( CArray[N-Point3D] $b, CArray[N-Vec3] $delta --> Num )
- $b; a #graphene_point3d_t.
- $delta; return location for the distance components on the X, Y, and Z axis.
Return value; the distance between two points.
dot§
Computes the dot product of the two given #graphene_point3d_t.
method dot ( CArray[N-Point3D] $b --> Num )
- $b; a #graphene_point3d_t.
Return value; the value of the dot product.
equal This function is not yet available§
Checks whether two given points are equal.
method equal ( CArray[N-Point3D] $b )
- $b; a #graphene_point3d_t.
free§
Frees the resources allocated via .alloc().
method free ( )
init§
Initializes a #graphene_point3d_t with the given coordinates.
method init ( Num() $x, Num() $y, Num() $z --> CArray[N-Point3D] )
- $x; the X coordinate of the point.
- $y; the Y coordinate of the point.
- $z; the Z coordinate of the point.
Return value; the initialized #graphene_point3d_t.
init-from-point§
Initializes a #graphene_point3d_t using the coordinates of another #graphene_point3d_t.
method init-from-point ( CArray[N-Point3D] $src --> CArray[N-Point3D] )
- $src; a #graphene_point3d_t.
Return value; the initialized point.
init-from-vec3§
Initializes a #graphene_point3d_t using the components of a #graphene_vec3_t.
method init-from-vec3 ( CArray[N-Vec3] $v --> CArray[N-Point3D] )
- $v; a #graphene_vec3_t.
Return value; the initialized #graphene_point3d_t.
interpolate§
Linearly interpolates each component of $a and $b using the provided $factor, and places the result in $res.
method interpolate ( CArray[N-Point3D] $b, Num() $factor, CArray[N-Point3D] $res )
- $b; a #graphene_point3d_t.
- $factor; the interpolation factor.
- $res; the return location for the interpolated #graphene_point3d_t.
length§
Computes the length of the vector represented by the coordinates of the given #graphene_point3d_t.
method length (--> Num )
Return value; the length of the vector represented by the point.
near This function is not yet available§
Checks whether the two points are near each other, within an $epsilon factor.
method near ( CArray[N-Point3D] $b, Num() $epsilon )
- $b; a #graphene_point3d_t.
- $epsilon; fuzzyness factor.
normalize§
Computes the normalization of the vector represented by the coordinates of the given #graphene_point3d_t.
method normalize ( CArray[N-Point3D] $res )
- $res; return location for the normalized #graphene_point3d_t.
normalize-viewport This function is not yet available§
Normalizes the coordinates of a #graphene_point3d_t using the given viewport and clipping planes.
The coordinates of the resulting #graphene_point3d_t will be in the [ -1, 1 ] range.
method normalize-viewport ( CArray[N-Rect] $viewport, Num() $z-near, Num() $z-far, CArray[N-Point3D] $res )
- $viewport; a #graphene_rect_t representing a viewport.
- $z-near; the coordinate of the near clipping plane, or 0 for the default near clipping plane.
- $z-far; the coordinate of the far clipping plane, or 1 for the default far clipping plane.
- $res; the return location for the normalized #graphene_point3d_t.
scale§
Scales the coordinates of the given #graphene_point3d_t by the given $factor.
method scale ( Num() $factor, CArray[N-Point3D] $res )
- $factor; the scaling factor.
- $res; return location for the scaled point.
to-vec3§
Stores the coordinates of a #graphene_point3d_t into a #graphene_vec3_t.
method to-vec3 ( CArray[N-Vec3] $v )
- $v; return location for a #graphene_vec3_t.
Functions§
zero§
Retrieves a constant point with all three coordinates set to 0.
method zero (--> CArray[N-Point3D] )
Return value; a zero point.
About my projects, examples and tutorials