MeshLib C# Docs
Loading...
Searching...
No Matches

Represents a quaternion following the notations from https://en.wikipedia.org/wiki/Quaternion Generated from class MR.Quaternionf. This is the const half of the class. More...

Inheritance diagram for MR.Const_Quaternionf:

Classes

struct  _Underlying

Public Member Functions

virtual void Dispose ()
unsafe Const_Quaternionf ()
 Constructs an empty (default-constructed) instance.
unsafe Const_Quaternionf (MR.Const_Quaternionf _other)
 Generated from constructor MR.Quaternionf.Quaternionf.
 Const_Quaternionf (Quaternionf _other)
 Generated from constructor MR.Quaternionf.Quaternionf.
unsafe Const_Quaternionf (float a, float b, float c, float d)
 Generated from constructor MR.Quaternionf.Quaternionf.
unsafe Const_Quaternionf (float real, in MR.Vector3f im)
 Generated from constructor MR.Quaternionf.Quaternionf.
unsafe Const_Quaternionf (in MR.Matrix3f m)
 Generated from constructor MR.Quaternionf.Quaternionf.
unsafe Const_Quaternionf (in MR.Vector3f from, in MR.Vector3f to)
 finds shorter arc rotation quaternion from one vector to another Generated from constructor MR.Quaternionf.Quaternionf.
unsafe MR.Vector3f im ()
 returns imaginary part of the quaternion as a vector Generated from method MR.Quaternionf.im.
unsafe float angle ()
 returns angle of rotation encoded in this quaternion Generated from method MR.Quaternionf.angle.
unsafe MR.Vector3f axis ()
 returns axis of rotation encoded in this quaternion Generated from method MR.Quaternionf.axis.
unsafe float normSq ()
 Generated from method MR.Quaternionf.normSq.
unsafe float norm ()
 Generated from method MR.Quaternionf.norm.
unsafe MR.Quaternionf normalized ()
 Generated from method MR.Quaternionf.normalized.
unsafe MR.Quaternionf conjugate ()
 computes conjugate quaternion, which for unit quaternions encodes the opposite rotation Generated from method MR.Quaternionf.conjugate.
unsafe MR.Quaternionf inverse ()
 computes reciprocal quaternion Generated from method MR.Quaternionf.inverse.
unsafe MR.Vector3f call (in MR.Vector3f p)
 for unit quaternion returns the rotation of point p, which is faster to compute for single point; for multiple points it is faster to create matrix representation and apply it to the points Generated from method MR::Quaternionf::operator().

Static Public Member Functions

static unsafe implicit operator Const_Quaternionf (in MR.Matrix3f m)
 Generated from constructor MR.Quaternionf.Quaternionf.
static unsafe implicit operator MR.Matrix3f (MR.Const_Quaternionf _this)
 converts this into 3x3 rotation matrix Generated from conversion operator MR::Quaternionf::operator MR.Matrix3f.
static unsafe MR.Quaternionf operator- (MR.Const_Quaternionf _this)
 returns quaternion representing the same rotation, using the opposite rotation direction and opposite angle Generated from method MR::Quaternionf::operator-.
static unsafe MR.Quaternionf lerp (MR.Const_Quaternionf q0, MR.Const_Quaternionf q1, float t)
 given t in [0,1], interpolates linearly two quaternions giving in general not-unit quaternion Generated from method MR.Quaternionf.lerp.
static unsafe MR.Quaternionf slerp (MR.Const_Quaternionf q0, MR.Const_Quaternionf q1, float t)
 given t in [0,1] and two unit quaternions, interpolates them spherically and produces another unit quaternion Generated from method MR.Quaternionf.slerp.
static unsafe MR.Matrix3f slerp (in MR.Matrix3f m0, in MR.Matrix3f m1, float t)
 given t in [0,1] and two rotation matrices, interpolates them spherically and produces another rotation matrix Generated from method MR.Quaternionf.slerp.
static unsafe MR.AffineXf3f slerp (in MR.AffineXf3f xf0, in MR.AffineXf3f xf1, float t, MR.Vector3f? p=null)
 given t in [0,1] and rigid transformations, interpolates them spherically and produces another rigid transformation; p is the only point that will have straight line movement during interpolation Generated from method MR.Quaternionf.slerp. Parameter p defaults to {}.

Protected Member Functions

virtual unsafe void Dispose (bool disposing)

Protected Attributes

unsafe float * __ref_storage_a
unsafe float * __ref_storage_b
unsafe float * __ref_storage_c
unsafe float * __ref_storage_d

Properties

unsafe float a [get]
 real part of the quaternion
unsafe float b [get]
 imaginary part: b*i + c*j + d*k
unsafe float c [get]
 imaginary part: b*i + c*j + d*k
unsafe float d [get]
 imaginary part: b*i + c*j + d*k

(Note that these are not member symbols.)

unsafe Const_Quaternionf (in MR.Vector3f axis, float angle)
 Generated from constructor MR.Quaternionf.Quaternionf.

Detailed Description

Represents a quaternion following the notations from https://en.wikipedia.org/wiki/Quaternion Generated from class MR.Quaternionf. This is the const half of the class.

Constructor & Destructor Documentation

◆ Const_Quaternionf() [1/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( )
inline

Constructs an empty (default-constructed) instance.

◆ Const_Quaternionf() [2/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( MR.Const_Quaternionf _other)
inline

Generated from constructor MR.Quaternionf.Quaternionf.

◆ Const_Quaternionf() [3/7]

MR.Const_Quaternionf.Const_Quaternionf ( Quaternionf _other)
inline

Generated from constructor MR.Quaternionf.Quaternionf.

◆ Const_Quaternionf() [4/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( float a,
float b,
float c,
float d )
inline

Generated from constructor MR.Quaternionf.Quaternionf.

◆ Const_Quaternionf() [5/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( float real,
in MR.Vector3f im )
inline

Generated from constructor MR.Quaternionf.Quaternionf.

◆ Const_Quaternionf() [6/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( in MR.Matrix3f m)
inline

Generated from constructor MR.Quaternionf.Quaternionf.

◆ Const_Quaternionf() [7/7]

unsafe MR.Const_Quaternionf.Const_Quaternionf ( in MR.Vector3f from,
in MR.Vector3f to )
inline

finds shorter arc rotation quaternion from one vector to another Generated from constructor MR.Quaternionf.Quaternionf.

Member Function Documentation

◆ angle()

unsafe float MR.Const_Quaternionf.angle ( )
inline

returns angle of rotation encoded in this quaternion Generated from method MR.Quaternionf.angle.

◆ axis()

unsafe MR.Vector3f MR.Const_Quaternionf.axis ( )
inline

returns axis of rotation encoded in this quaternion Generated from method MR.Quaternionf.axis.

◆ call()

unsafe MR.Vector3f MR.Const_Quaternionf.call ( in MR.Vector3f p)
inline

for unit quaternion returns the rotation of point p, which is faster to compute for single point; for multiple points it is faster to create matrix representation and apply it to the points Generated from method MR::Quaternionf::operator().

◆ conjugate()

unsafe MR.Quaternionf MR.Const_Quaternionf.conjugate ( )
inline

computes conjugate quaternion, which for unit quaternions encodes the opposite rotation Generated from method MR.Quaternionf.conjugate.

◆ Dispose() [1/2]

virtual void MR.Const_Quaternionf.Dispose ( )
inlinevirtual

◆ Dispose() [2/2]

virtual unsafe void MR.Const_Quaternionf.Dispose ( bool disposing)
inlineprotectedvirtual

◆ im()

unsafe MR.Vector3f MR.Const_Quaternionf.im ( )
inline

returns imaginary part of the quaternion as a vector Generated from method MR.Quaternionf.im.

◆ inverse()

unsafe MR.Quaternionf MR.Const_Quaternionf.inverse ( )
inline

computes reciprocal quaternion Generated from method MR.Quaternionf.inverse.

◆ lerp()

unsafe MR.Quaternionf MR.Const_Quaternionf.lerp ( MR.Const_Quaternionf q0,
MR.Const_Quaternionf q1,
float t )
inlinestatic

given t in [0,1], interpolates linearly two quaternions giving in general not-unit quaternion Generated from method MR.Quaternionf.lerp.

◆ norm()

unsafe float MR.Const_Quaternionf.norm ( )
inline

Generated from method MR.Quaternionf.norm.

◆ normalized()

unsafe MR.Quaternionf MR.Const_Quaternionf.normalized ( )
inline

Generated from method MR.Quaternionf.normalized.

◆ normSq()

unsafe float MR.Const_Quaternionf.normSq ( )
inline

Generated from method MR.Quaternionf.normSq.

◆ operator Const_Quaternionf()

unsafe implicit MR.Const_Quaternionf.operator Const_Quaternionf ( in MR.Matrix3f m)
inlinestatic

Generated from constructor MR.Quaternionf.Quaternionf.

◆ operator MR.Matrix3f()

unsafe implicit MR.Const_Quaternionf.operator MR.Matrix3f ( MR.Const_Quaternionf _this)
inlinestatic

converts this into 3x3 rotation matrix Generated from conversion operator MR::Quaternionf::operator MR.Matrix3f.

◆ operator-()

unsafe MR.Quaternionf MR.Const_Quaternionf.operator- ( MR.Const_Quaternionf _this)
inlinestatic

returns quaternion representing the same rotation, using the opposite rotation direction and opposite angle Generated from method MR::Quaternionf::operator-.

◆ slerp() [1/3]

unsafe MR.AffineXf3f MR.Const_Quaternionf.slerp ( in MR.AffineXf3f xf0,
in MR.AffineXf3f xf1,
float t,
MR.Vector3f? p = null )
inlinestatic

given t in [0,1] and rigid transformations, interpolates them spherically and produces another rigid transformation; p is the only point that will have straight line movement during interpolation Generated from method MR.Quaternionf.slerp. Parameter p defaults to {}.

◆ slerp() [2/3]

unsafe MR.Matrix3f MR.Const_Quaternionf.slerp ( in MR.Matrix3f m0,
in MR.Matrix3f m1,
float t )
inlinestatic

given t in [0,1] and two rotation matrices, interpolates them spherically and produces another rotation matrix Generated from method MR.Quaternionf.slerp.

◆ slerp() [3/3]

unsafe MR.Quaternionf MR.Const_Quaternionf.slerp ( MR.Const_Quaternionf q0,
MR.Const_Quaternionf q1,
float t )
inlinestatic

given t in [0,1] and two unit quaternions, interpolates them spherically and produces another unit quaternion Generated from method MR.Quaternionf.slerp.

◆ Const_Quaternionf()

unsafe Const_Quaternionf ( in MR.Vector3f axis,
float angle )
related

Generated from constructor MR.Quaternionf.Quaternionf.

Member Data Documentation

◆ __ref_storage_a

unsafe float* MR.Const_Quaternionf.__ref_storage_a
protected

◆ __ref_storage_b

unsafe float* MR.Const_Quaternionf.__ref_storage_b
protected

◆ __ref_storage_c

unsafe float* MR.Const_Quaternionf.__ref_storage_c
protected

◆ __ref_storage_d

unsafe float* MR.Const_Quaternionf.__ref_storage_d
protected

Property Documentation

◆ a

unsafe float MR.Const_Quaternionf.a
get

real part of the quaternion

◆ b

unsafe float MR.Const_Quaternionf.b
get

imaginary part: b*i + c*j + d*k

◆ c

unsafe float MR.Const_Quaternionf.c
get

imaginary part: b*i + c*j + d*k

◆ d

unsafe float MR.Const_Quaternionf.d
get

imaginary part: b*i + c*j + d*k


The documentation for this class was generated from the following file: