An array of GLfloat in C (GLfloat*)

Introduced properties

fun [](index: Int): Float

glesv2 :: NativeGLfloatArray :: []

fun []=(index: Int, val: Float)

glesv2 :: NativeGLfloatArray :: []=

init matrix: NativeGLfloatArray

glesv2 :: NativeGLfloatArray :: matrix

Allocate a new matrix
fun matrix_get(x: Int, y: Int): Float

glesv2 :: NativeGLfloatArray :: matrix_get

Get the element at x, y
fun matrix_set(x: Int, y: Int, val: Float)

glesv2 :: NativeGLfloatArray :: matrix_set

Set the element at x, y
fun set_identity

glesv2 :: NativeGLfloatArray :: set_identity

Overwrite this matrix with the identity matrix

Redefined properties

redef type SELF: NativeGLfloatArray

glesv2 $ NativeGLfloatArray :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun [](index: Int): Float

glesv2 :: NativeGLfloatArray :: []

fun []=(index: Int, val: Float)

glesv2 :: NativeGLfloatArray :: []=

fun address_is_null: Bool

core :: Pointer :: address_is_null

Is the address behind this Object at NULL?
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun free

core :: Pointer :: free

Free the memory pointed by this pointer
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
init matrix: NativeGLfloatArray

glesv2 :: NativeGLfloatArray :: matrix

Allocate a new matrix
fun matrix_get(x: Int, y: Int): Float

glesv2 :: NativeGLfloatArray :: matrix_get

Get the element at x, y
fun matrix_set(x: Int, y: Int, val: Float)

glesv2 :: NativeGLfloatArray :: matrix_set

Set the element at x, y
init nul: Pointer

core :: Pointer :: nul

C NULL pointer
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun set_identity

glesv2 :: NativeGLfloatArray :: set_identity

Overwrite this matrix with the identity matrix
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram glesv2::NativeGLfloatArray NativeGLfloatArray core::Pointer Pointer glesv2::NativeGLfloatArray->core::Pointer core::Object Object core::Pointer->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

extern class Pointer

core :: Pointer

Pointer classes are used to manipulate extern C structures.

Class definitions

glesv2 $ NativeGLfloatArray
# An array of `GLfloat` in C (`GLfloat*`)
extern class NativeGLfloatArray `{ GLfloat* `}

	new(size: Int) `{ return calloc(size, sizeof(GLfloat)); `}

	fun [](index: Int): Float `{ return self[index]; `}

	fun []=(index: Int, val: Float) `{ self[index] = val; `}

	fun +(offset: Int): NativeGLfloatArray `{ return self + offset; `}
end
lib/glesv2/glesv2.nit:491,1--501,3

gamnit :: programs $ NativeGLfloatArray
redef extern class NativeGLfloatArray

	# Allocate a new matrix
	new matrix `{ return malloc(4*4*sizeof(GLfloat)); `}

	# Overwrite this matrix with the identity matrix
	fun set_identity
	do
		for i in [0..4[ do
			for j in [0..4[ do
				matrix_set(i, j, if i == j then 1.0 else 0.0)
			end
		end
	end

	# Get the element at `x, y`
	fun matrix_get(x, y: Int): Float `{ return self[y*4+x]; `}

	# Set the element at `x, y`
	fun matrix_set(x, y: Int, val: Float) `{ self[y*4+x] = val; `}
end
lib/gamnit/programs.nit:563,1--583,3

gamnit :: flat_core $ NativeGLfloatArray
redef class NativeGLfloatArray
	private fun fill_from_matrix_native(matrix: matrix::NativeDoubleArray, dst_offset, len: Int) `{
		int i;
		for (i = 0; i < len; i ++)
			self[i+dst_offset] = (GLfloat)matrix[i];
	`}
end
lib/gamnit/flat/flat_core.nit:1743,1--1749,3