Aardvark.Base


M44i

Constructors

ConstructorDescription
new(...)
Signature: (m00:int * m01:int * m02:int * m03:int * m10:int * m11:int * m12:int * m13:int * m20:int * m21:int * m22:int * m23:int * m30:int * m31:int * m32:int * m33:int) -> unit
new(a)
Signature: (a:int []) -> unit
new(a, start)
Signature: (a:int [] * start:int) -> unit

Instance members

Instance memberDescription
C0()
Signature: unit -> unit
C1()
Signature: unit -> unit
C2()
Signature: unit -> unit
C3()
Signature: unit -> unit
Column(index)
Signature: index:int -> V4i

Returns index-th column of this matrix.

Columns
Signature: IEnumerable<V4i>
Copy(element_fun)
Signature: element_fun:Func<int,int> -> M44i

Returns a copy with all elements transformed by the supplied function.

Copy(element_index0_index1_fun)
Signature: element_index0_index1_fun:Func<int,int,int,int> -> M44i

Returns a copy with all elements transformed by the supplied function.

Copy(element_fun)
Signature: element_fun:Func<int,int64> -> M44l

Returns a copy with all elements transformed by the supplied function.

Copy(element_index0_index1_fun)
Signature: element_index0_index1_fun:Func<int,int,int,int64> -> M44l

Returns a copy with all elements transformed by the supplied function.

Copy(element_fun)
Signature: element_fun:Func<int,float32> -> M44f

Returns a copy with all elements transformed by the supplied function.

Copy(element_index0_index1_fun)
Signature: element_index0_index1_fun:Func<int,int,int,float32> -> M44f

Returns a copy with all elements transformed by the supplied function.

Copy(element_fun)
Signature: element_fun:Func<int,float> -> M44d

Returns a copy with all elements transformed by the supplied function.

Copy(element_index0_index1_fun)
Signature: element_index0_index1_fun:Func<int,int,int,float> -> M44d

Returns a copy with all elements transformed by the supplied function.

CopyTo(array, index)
Signature: (array:int [] * index:int64) -> unit
CopyTo(array, index)
Signature: (array:int64 [] * index:int64) -> unit
CopyTo(array, index)
Signature: (array:float32 [] * index:int64) -> unit
CopyTo(array, index)
Signature: (array:float [] * index:int64) -> unit
Det
Signature: int

Gets the determinant of this matrix. The determinant is only defined for square matrices.

Determinant()
Signature: unit -> int

Returns the determinant of this matrix. The determinant is only defined for square matrices.

Dim
Signature: V2l
Modifiers: abstract
Elements
Signature: IEnumerable<int>
Equals(other)
Signature: other:obj -> bool
Modifiers: abstract
GetHashCode()
Signature: unit -> int
Modifiers: abstract
GetValue(x, y)
Signature: (x:int64 * y:int64) -> obj
Modifiers: abstract
GetValue(v)
Signature: v:V2l -> obj
Modifiers: abstract
Invertible
Signature: bool

Returns whether this matrix is invertible. A matrix is invertible if its determinant is not zero.

IsInvalid
Signature: bool
Modifiers: abstract
IsValid
Signature: bool
Modifiers: abstract
[()]
Signature: unit -> int
[arg1]
Signature: int -> int
[arg1]
Signature: int64 -> int64
Modifiers: abstract

NOTE: this indexer has reversed order of coordinates with respect to the default indexer!!!

[()]
Signature: unit -> V2l
Modifiers: abstract

NOTE: this indexer has reversed order of coordinates with respect to the default indexer!!!

Norm(p)
Signature: p:float -> float

Returns the p-norm of the matrix. This is calculated as (|M00|^p + |M01|^p + ... )^(1/p)

Norm1
Signature: int

Returns the Manhattan (or 1-) norm of the matrix. This is calculated as |M00| + |M01| + ...

Norm2
Signature: float

Returns the Euclidean (or 2-) norm of the matrix. This is calculated as Sqrt(M00 M00 + M01 M01 + ... )

NormMax
Signature: int

Returns the infinite (or maximum) norm of the matrix. This is calculated as max(|M00|, |M01|, ...).

NormMin
Signature: int

Returns the minimum norm of the matrix. This is calculated as min(|M00|, |M01|, ...).

R0()
Signature: unit -> unit
R1()
Signature: unit -> unit
R2()
Signature: unit -> unit
R3()
Signature: unit -> unit
Row(index)
Signature: index:int -> V4i

Returns index-th row of this matrix.

Rows
Signature: IEnumerable<V4i>
SetValue(value, x, y)
Signature: (value:obj * x:int64 * y:int64) -> unit
Modifiers: abstract
SetValue(value, v)
Signature: (value:obj * v:V2l) -> unit
Modifiers: abstract
Singular
Signature: bool

Returns whether this matrix is singular. A matrix is singular if its determinant is zero.

ToArray()
Signature: unit -> int []
ToString()
Signature: unit -> string
Modifiers: abstract
ToString(format)
Signature: format:string -> string
ToString(format, fp)
Signature: (format:string * fp:IFormatProvider) -> string
ToString(...)
Signature: (format:string * fp:IFormatProvider * beginM:string * betweenM:string * endM:string * beginR:string * betweenR:string * endR:string) -> string

Outputs e.g. a 2x2-Matrix in the form "(beginM)(beginR)m00(betweenR)m01(endR)(betweenM)(beginR)m10(betweenR)m11(endR)(endM)".

Trace
Signature: int

Returns the trace of this matrix. The trace is defined as the sum of the diagonal elements, and is only defined for square matrices.

TransformDir(v)
Signature: v:V3i -> V3i

Transforms direction vector v (v.w is presumed 0.0) by this matrix.

TransformPos(p)
Signature: p:V3i -> V3i

Transforms point p (p.w is presumed 1.0) by this matrix. No projective transform is performed.

TransformPosProj(p)
Signature: p:V3i -> V3i

Transforms point p (p.w is presumed 1.0) by this matrix. Projective transform is performed. Perspective Division is performed.

TransformPosProjFull(p)
Signature: p:V3i -> V4i

Transforms point p (p.w is presumed 1.0) by this matrix. Projective transform is performed.

Transpose()
Signature: unit -> unit

Transposes this matrix (and returns this).

Transposed
Signature: M44i

Gets transpose of this matrix.

TransposedTransformDir(v)
Signature: v:V3i -> V3i

Transforms direction vector v (v.w is presumed 0.0) by transposed version of this matrix.

TransposedTransformPos(p)
Signature: p:V3i -> V3i

Transforms point p (p.w is presumed 1.0) by transposed version of this matrix. No projective transform is performed.

UpperLeftM33()
Signature: unit -> M33i

Returns a copy of the upper left sub matrix.

Static members

Static memberDescription
Add(a, b)
Signature: (a:M44i * b:M44i) -> M44i
Add(m, s)
Signature: (m:M44i * s:int) -> M44i
Add(s, m)
Signature: (s:int * m:M44i) -> M44i
Add(a, b)
Signature: (a:M44i * b:M44l) -> M44l
Add(m, s)
Signature: (m:M44i * s:int64) -> M44l
Add(s, m)
Signature: (s:int64 * m:M44i) -> M44l
Add(a, b)
Signature: (a:M44i * b:M44f) -> M44f
Add(m, s)
Signature: (m:M44i * s:float32) -> M44f
Add(s, m)
Signature: (s:float32 * m:M44i) -> M44f
Add(a, b)
Signature: (a:M44i * b:M44d) -> M44d
Add(m, s)
Signature: (m:M44i * s:float) -> M44d
Add(s, m)
Signature: (s:float * m:M44i) -> M44d
Distance(a, b, p)
Signature: (a:M44i * b:M44i * p:float) -> float

Returns the p-distance between two matrices.

Distance1(a, b)
Signature: (a:M44i * b:M44i) -> int

Returns the Manhatten (or 1-) distance between two matrices.

Distance2(a, b)
Signature: (a:M44i * b:M44i) -> float

Returns the Euclidean (or 2-) distance between two matrices.

DistanceMax(a, b)
Signature: (a:M44i * b:M44i) -> int

Returns the maximal absolute distance between the components of the two matrices.

DistanceMin(a, b)
Signature: (a:M44i * b:M44i) -> int

Returns the minimal absolute distance between the components of the two matrices.

Divide(a, b)
Signature: (a:M44i * b:M44i) -> M44i
Divide(m, s)
Signature: (m:M44i * s:int) -> M44i
Divide(s, m)
Signature: (s:int * m:M44i) -> M44i
Divide(a, b)
Signature: (a:M44i * b:M44l) -> M44l
Divide(m, s)
Signature: (m:M44i * s:int64) -> M44l
Divide(s, m)
Signature: (s:int64 * m:M44i) -> M44l
Divide(a, b)
Signature: (a:M44i * b:M44f) -> M44f
Divide(m, s)
Signature: (m:M44i * s:float32) -> M44f
Divide(s, m)
Signature: (s:float32 * m:M44i) -> M44f
Divide(a, b)
Signature: (a:M44i * b:M44d) -> M44d
Divide(m, s)
Signature: (m:M44i * s:float) -> M44d
Divide(s, m)
Signature: (s:float * m:M44i) -> M44d
FromCols(col0, col1, col2, col3)
Signature: (col0:V4i * col1:V4i * col2:V4i * col3:V4i) -> M44i
FromRows(row0, row1, row2, row3)
Signature: (row0:V4i * row1:V4i * row2:V4i * row3:V4i) -> M44i
Modulo(a, b)
Signature: (a:M44i * b:M44i) -> M44i
Modulo(m, s)
Signature: (m:M44i * s:int) -> M44i
Modulo(s, m)
Signature: (s:int * m:M44i) -> M44i
Modulo(a, b)
Signature: (a:M44i * b:M44l) -> M44l
Modulo(m, s)
Signature: (m:M44i * s:int64) -> M44l
Modulo(s, m)
Signature: (s:int64 * m:M44i) -> M44l
Modulo(a, b)
Signature: (a:M44i * b:M44f) -> M44f
Modulo(m, s)
Signature: (m:M44i * s:float32) -> M44f
Modulo(s, m)
Signature: (s:float32 * m:M44i) -> M44f
Modulo(a, b)
Signature: (a:M44i * b:M44d) -> M44d
Modulo(m, s)
Signature: (m:M44i * s:float) -> M44d
Modulo(s, m)
Signature: (s:float * m:M44i) -> M44d
Multiply(m, s)
Signature: (m:M44i * s:int) -> M44i
Multiply(s, m)
Signature: (s:int * m:M44i) -> M44i
Multiply(m, s)
Signature: (m:M44i * s:int64) -> M44l
Multiply(s, m)
Signature: (s:int64 * m:M44i) -> M44l
Multiply(m, s)
Signature: (m:M44i * s:float32) -> M44f
Multiply(s, m)
Signature: (s:float32 * m:M44i) -> M44f
Multiply(m, s)
Signature: (m:M44i * s:float) -> M44d
Multiply(s, m)
Signature: (s:float * m:M44i) -> M44d
Multiply(m, v)
Signature: (m:M44i * v:V4i) -> V4i
Multiply(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Addition(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Addition(m, s)
Signature: (m:M44i * s:int) -> M44i
op_Addition(s, m)
Signature: (s:int * m:M44i) -> M44i
op_Addition(a, b)
Signature: (a:M44i * b:M44l) -> M44l
op_Addition(m, s)
Signature: (m:M44i * s:int64) -> M44l
op_Addition(s, m)
Signature: (s:int64 * m:M44i) -> M44l
op_Addition(a, b)
Signature: (a:M44i * b:M44f) -> M44f
op_Addition(m, s)
Signature: (m:M44i * s:float32) -> M44f
op_Addition(s, m)
Signature: (s:float32 * m:M44i) -> M44f
op_Addition(a, b)
Signature: (a:M44i * b:M44d) -> M44d
op_Addition(m, s)
Signature: (m:M44i * s:float) -> M44d
op_Addition(s, m)
Signature: (s:float * m:M44i) -> M44d
op_Division(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Division(m, s)
Signature: (m:M44i * s:int) -> M44i
op_Division(s, m)
Signature: (s:int * m:M44i) -> M44i
op_Division(a, b)
Signature: (a:M44i * b:M44l) -> M44l
op_Division(m, s)
Signature: (m:M44i * s:int64) -> M44l
op_Division(s, m)
Signature: (s:int64 * m:M44i) -> M44l
op_Division(a, b)
Signature: (a:M44i * b:M44f) -> M44f
op_Division(m, s)
Signature: (m:M44i * s:float32) -> M44f
op_Division(s, m)
Signature: (s:float32 * m:M44i) -> M44f
op_Division(a, b)
Signature: (a:M44i * b:M44d) -> M44d
op_Division(m, s)
Signature: (m:M44i * s:float) -> M44d
op_Division(s, m)
Signature: (s:float * m:M44i) -> M44d
op_Equality(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_Equality(a, s)
Signature: (a:M44i * s:int) -> bool
op_Equality(s, a)
Signature: (s:int * a:M44i) -> bool
op_Explicit(m)
Signature: m:M22i -> M44i
op_Explicit(m)
Signature: m:M23i -> M44i
op_Explicit(m)
Signature: m:M33i -> M44i
op_Explicit(m)
Signature: m:M34i -> M44i
op_Explicit(m)
Signature: m:M22l -> M44i
op_Explicit(m)
Signature: m:M23l -> M44i
op_Explicit(m)
Signature: m:M33l -> M44i
op_Explicit(m)
Signature: m:M34l -> M44i
op_Explicit(m)
Signature: m:M44l -> M44i
op_Explicit(m)
Signature: m:M22f -> M44i
op_Explicit(m)
Signature: m:M23f -> M44i
op_Explicit(m)
Signature: m:M33f -> M44i
op_Explicit(m)
Signature: m:M34f -> M44i
op_Explicit(m)
Signature: m:M44f -> M44i
op_Explicit(m)
Signature: m:M22d -> M44i
op_Explicit(m)
Signature: m:M23d -> M44i
op_Explicit(m)
Signature: m:M33d -> M44i
op_Explicit(m)
Signature: m:M34d -> M44i
op_Explicit(m)
Signature: m:M44d -> M44i
op_Explicit(a)
Signature: (a:int []) -> M44i
op_Explicit(a)
Signature: (a:int [,]) -> M44i
op_Explicit(m)
Signature: m:M44i -> int []
op_Explicit(m)
Signature: m:M44i -> int [,]
op_Explicit(a)
Signature: (a:int64 []) -> M44i
op_Explicit(a)
Signature: (a:int64 [,]) -> M44i
op_Explicit(m)
Signature: m:M44i -> int64 []
op_Explicit(m)
Signature: m:M44i -> int64 [,]
op_Explicit(a)
Signature: (a:float32 []) -> M44i
op_Explicit(a)
Signature: (a:float32 [,]) -> M44i
op_Explicit(m)
Signature: m:M44i -> float32 []
op_Explicit(m)
Signature: m:M44i -> float32 [,]
op_Explicit(a)
Signature: (a:float []) -> M44i
op_Explicit(a)
Signature: (a:float [,]) -> M44i
op_Explicit(m)
Signature: m:M44i -> float []
op_Explicit(m)
Signature: m:M44i -> float [,]
op_GreaterThan(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_GreaterThan(a, s)
Signature: (a:M44i * s:int) -> bool
op_GreaterThan(s, a)
Signature: (s:int * a:M44i) -> bool
op_GreaterThanOrEqual(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_GreaterThanOrEqual(a, s)
Signature: (a:M44i * s:int) -> bool
op_GreaterThanOrEqual(s, a)
Signature: (s:int * a:M44i) -> bool
op_Inequality(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_Inequality(m, s)
Signature: (m:M44i * s:int) -> bool
op_Inequality(s, m)
Signature: (s:int * m:M44i) -> bool
op_LessThan(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_LessThan(a, s)
Signature: (a:M44i * s:int) -> bool
op_LessThan(s, a)
Signature: (s:int * a:M44i) -> bool
op_LessThanOrEqual(a, b)
Signature: (a:M44i * b:M44i) -> bool
op_LessThanOrEqual(a, s)
Signature: (a:M44i * s:int) -> bool
op_LessThanOrEqual(s, a)
Signature: (s:int * a:M44i) -> bool
op_Modulus(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Modulus(m, s)
Signature: (m:M44i * s:int) -> M44i
op_Modulus(s, m)
Signature: (s:int * m:M44i) -> M44i
op_Modulus(a, b)
Signature: (a:M44i * b:M44l) -> M44l
op_Modulus(m, s)
Signature: (m:M44i * s:int64) -> M44l
op_Modulus(s, m)
Signature: (s:int64 * m:M44i) -> M44l
op_Modulus(a, b)
Signature: (a:M44i * b:M44f) -> M44f
op_Modulus(m, s)
Signature: (m:M44i * s:float32) -> M44f
op_Modulus(s, m)
Signature: (s:float32 * m:M44i) -> M44f
op_Modulus(a, b)
Signature: (a:M44i * b:M44d) -> M44d
op_Modulus(m, s)
Signature: (m:M44i * s:float) -> M44d
op_Modulus(s, m)
Signature: (s:float * m:M44i) -> M44d
op_Multiply(m, s)
Signature: (m:M44i * s:int) -> M44i
op_Multiply(s, m)
Signature: (s:int * m:M44i) -> M44i
op_Multiply(m, s)
Signature: (m:M44i * s:int64) -> M44l
op_Multiply(s, m)
Signature: (s:int64 * m:M44i) -> M44l
op_Multiply(m, s)
Signature: (m:M44i * s:float32) -> M44f
op_Multiply(s, m)
Signature: (s:float32 * m:M44i) -> M44f
op_Multiply(m, s)
Signature: (m:M44i * s:float) -> M44d
op_Multiply(s, m)
Signature: (s:float * m:M44i) -> M44d
op_Multiply(m, v)
Signature: (m:M44i * v:V4i) -> V4i
op_Multiply(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Subtraction(a, b)
Signature: (a:M44i * b:M44i) -> M44i
op_Subtraction(m, s)
Signature: (m:M44i * s:int) -> M44i
op_Subtraction(s, m)
Signature: (s:int * m:M44i) -> M44i
op_Subtraction(a, b)
Signature: (a:M44i * b:M44l) -> M44l
op_Subtraction(m, s)
Signature: (m:M44i * s:int64) -> M44l
op_Subtraction(s, m)
Signature: (s:int64 * m:M44i) -> M44l
op_Subtraction(a, b)
Signature: (a:M44i * b:M44f) -> M44f
op_Subtraction(m, s)
Signature: (m:M44i * s:float32) -> M44f
op_Subtraction(s, m)
Signature: (s:float32 * m:M44i) -> M44f
op_Subtraction(a, b)
Signature: (a:M44i * b:M44d) -> M44d
op_Subtraction(m, s)
Signature: (m:M44i * s:float) -> M44d
op_Subtraction(s, m)
Signature: (s:float * m:M44i) -> M44d
Parse(s)
Signature: s:string -> M44i
Subtract(a, b)
Signature: (a:M44i * b:M44i) -> M44i
Subtract(m, s)
Signature: (m:M44i * s:int) -> M44i
Subtract(s, m)
Signature: (s:int * m:M44i) -> M44i
Subtract(a, b)
Signature: (a:M44i * b:M44l) -> M44l
Subtract(m, s)
Signature: (m:M44i * s:int64) -> M44l
Subtract(s, m)
Signature: (s:int64 * m:M44i) -> M44l
Subtract(a, b)
Signature: (a:M44i * b:M44f) -> M44f
Subtract(m, s)
Signature: (m:M44i * s:float32) -> M44f
Subtract(s, m)
Signature: (s:float32 * m:M44i) -> M44f
Subtract(a, b)
Signature: (a:M44i * b:M44d) -> M44d
Subtract(m, s)
Signature: (m:M44i * s:float) -> M44d
Subtract(s, m)
Signature: (s:float * m:M44i) -> M44d
TransformDir(m, v)
Signature: (m:M44i * v:V3i) -> V3i

Transforms direction vector v (v.w is presumed 0.0) by matrix m.

TransformPos(m, p)
Signature: (m:M44i * p:V3i) -> V3i

Transforms point p (v.w is presumed 1.0) by matrix m. No projective transform is performed.

TransformPosProj(m, p)
Signature: (m:M44i * p:V3i) -> V3i

Transforms point p (p.w is presumed 1.0) by matrix m. Projective transform is performed. Perspective Division is performed.

TransformPosProjFull(m, p)
Signature: (m:M44i * p:V3i) -> V4i

Transforms point p (p.w is presumed 1.0) by matrix m. Projective transform is performed.

TransposedMultiply(v, m)
Signature: (v:V4i * m:M44i) -> V4i
TransposedTransformDir(m, v)
Signature: (m:M44i * v:V3i) -> V3i

Transforms direction vector v (v.w is presumed 0.0) by transposed version of matrix m.

TransposedTransformPos(m, p)
Signature: (m:M44i * p:V3i) -> V3i

Transforms point p (v.w is presumed 1.0) by transposed version of matrix m. No projective transform is performed.

Fork me on GitHub