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

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

Inheritance diagram for MR.Quaterniond:

Public Member Functions

unsafe Quaterniond ()
 Constructs an empty (default-constructed) instance.
unsafe Quaterniond (MR.Const_Quaterniond _other)
 Generated from constructor MR.Quaterniond.Quaterniond.
 Quaterniond (Quaterniond _other)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Quaterniond (double a, double b, double c, double d)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Quaterniond (double real, in MR.Vector3d im)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Quaterniond (in MR.Matrix3d m)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Quaterniond (in MR.Vector3d from, in MR.Vector3d to)
 finds shorter arc rotation quaternion from one vector to another Generated from constructor MR.Quaterniond.Quaterniond.
unsafe MR.Quaterniond assign (MR.Const_Quaterniond _other)
 Generated from method MR::Quaterniond::operator=.
unsafe void normalize ()
 scales this quaternion to make its norm unit Generated from method MR.Quaterniond.normalize.
unsafe MR.Quaterniond mulAssign (double s)
 Generated from method MR::Quaterniond::operator*=.
unsafe MR.Quaterniond divAssign (double s)
 Generated from method MR::Quaterniond::operator/=.
Public Member Functions inherited from MR.Const_Quaterniond
virtual void Dispose ()
unsafe Const_Quaterniond ()
 Constructs an empty (default-constructed) instance.
unsafe Const_Quaterniond (MR.Const_Quaterniond _other)
 Generated from constructor MR.Quaterniond.Quaterniond.
 Const_Quaterniond (Quaterniond _other)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Const_Quaterniond (double a, double b, double c, double d)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Const_Quaterniond (double real, in MR.Vector3d im)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Const_Quaterniond (in MR.Matrix3d m)
 Generated from constructor MR.Quaterniond.Quaterniond.
unsafe Const_Quaterniond (in MR.Vector3d from, in MR.Vector3d to)
 finds shorter arc rotation quaternion from one vector to another Generated from constructor MR.Quaterniond.Quaterniond.
unsafe MR.Vector3d im ()
 returns imaginary part of the quaternion as a vector Generated from method MR.Quaterniond.im.
unsafe double angle ()
 returns angle of rotation encoded in this quaternion Generated from method MR.Quaterniond.angle.
unsafe MR.Vector3d axis ()
 returns axis of rotation encoded in this quaternion Generated from method MR.Quaterniond.axis.
unsafe double normSq ()
 Generated from method MR.Quaterniond.normSq.
unsafe double norm ()
 Generated from method MR.Quaterniond.norm.
unsafe MR.Quaterniond normalized ()
 Generated from method MR.Quaterniond.normalized.
unsafe MR.Quaterniond conjugate ()
 computes conjugate quaternion, which for unit quaternions encodes the opposite rotation Generated from method MR.Quaterniond.conjugate.
unsafe MR.Quaterniond inverse ()
 computes reciprocal quaternion Generated from method MR.Quaterniond.inverse.
unsafe MR.Vector3d call (in MR.Vector3d 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::Quaterniond::operator().

Static Public Member Functions

static unsafe implicit operator Quaterniond (in MR.Matrix3d m)
 Generated from constructor MR.Quaterniond.Quaterniond.
Static Public Member Functions inherited from MR.Const_Quaterniond
static unsafe implicit operator Const_Quaterniond (in MR.Matrix3d m)
 Generated from constructor MR.Quaterniond.Quaterniond.
static unsafe implicit operator MR.Matrix3d (MR.Const_Quaterniond _this)
 converts this into 3x3 rotation matrix Generated from conversion operator MR::Quaterniond::operator MR.Matrix3d.
static unsafe MR.Quaterniond operator- (MR.Const_Quaterniond _this)
 returns quaternion representing the same rotation, using the opposite rotation direction and opposite angle Generated from method MR::Quaterniond::operator-.
static unsafe MR.Quaterniond lerp (MR.Const_Quaterniond q0, MR.Const_Quaterniond q1, double t)
 given t in [0,1], interpolates linearly two quaternions giving in general not-unit quaternion Generated from method MR.Quaterniond.lerp.
static unsafe MR.Quaterniond slerp (MR.Const_Quaterniond q0, MR.Const_Quaterniond q1, double t)
 given t in [0,1] and two unit quaternions, interpolates them spherically and produces another unit quaternion Generated from method MR.Quaterniond.slerp.
static unsafe MR.Matrix3d slerp (in MR.Matrix3d m0, in MR.Matrix3d m1, double t)
 given t in [0,1] and two rotation matrices, interpolates them spherically and produces another rotation matrix Generated from method MR.Quaterniond.slerp.
static unsafe MR.AffineXf3d slerp (in MR.AffineXf3d xf0, in MR.AffineXf3d xf1, double t, MR.Vector3d? 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.Quaterniond.slerp. Parameter p defaults to {}.

Properties

new unsafe ref double a [get]
 real part of the quaternion
new unsafe ref double b [get]
 imaginary part: b*i + c*j + d*k
new unsafe ref double c [get]
 imaginary part: b*i + c*j + d*k
new unsafe ref double d [get]
 imaginary part: b*i + c*j + d*k
Properties inherited from MR.Const_Quaterniond
unsafe double a [get]
 real part of the quaternion
unsafe double b [get]
 imaginary part: b*i + c*j + d*k
unsafe double c [get]
 imaginary part: b*i + c*j + d*k
unsafe double d [get]
 imaginary part: b*i + c*j + d*k

(Note that these are not member symbols.)

unsafe Quaterniond (in MR.Vector3d axis, double angle)
 Generated from constructor MR.Quaterniond.Quaterniond.

Additional Inherited Members

Protected Member Functions inherited from MR.Const_Quaterniond
virtual unsafe void Dispose (bool disposing)
Protected Attributes inherited from MR.Const_Quaterniond
unsafe double * __ref_storage_a
unsafe double * __ref_storage_b
unsafe double * __ref_storage_c
unsafe double * __ref_storage_d

Detailed Description

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

Constructor & Destructor Documentation

◆ Quaterniond() [1/7]

unsafe MR.Quaterniond.Quaterniond ( )
inline

Constructs an empty (default-constructed) instance.

◆ Quaterniond() [2/7]

unsafe MR.Quaterniond.Quaterniond ( MR.Const_Quaterniond _other)
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond() [3/7]

MR.Quaterniond.Quaterniond ( Quaterniond _other)
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond() [4/7]

unsafe MR.Quaterniond.Quaterniond ( double a,
double b,
double c,
double d )
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond() [5/7]

unsafe MR.Quaterniond.Quaterniond ( double real,
in MR.Vector3d im )
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond() [6/7]

unsafe MR.Quaterniond.Quaterniond ( in MR.Matrix3d m)
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond() [7/7]

unsafe MR.Quaterniond.Quaterniond ( in MR.Vector3d from,
in MR.Vector3d to )
inline

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

Member Function Documentation

◆ assign()

unsafe MR.Quaterniond MR.Quaterniond.assign ( MR.Const_Quaterniond _other)
inline

Generated from method MR::Quaterniond::operator=.

◆ divAssign()

unsafe MR.Quaterniond MR.Quaterniond.divAssign ( double s)
inline

Generated from method MR::Quaterniond::operator/=.

◆ mulAssign()

unsafe MR.Quaterniond MR.Quaterniond.mulAssign ( double s)
inline

Generated from method MR::Quaterniond::operator*=.

◆ normalize()

unsafe void MR.Quaterniond.normalize ( )
inline

scales this quaternion to make its norm unit Generated from method MR.Quaterniond.normalize.

◆ operator Quaterniond()

unsafe implicit MR.Quaterniond.operator Quaterniond ( in MR.Matrix3d m)
inlinestatic

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Quaterniond()

unsafe Quaterniond ( in MR.Vector3d axis,
double angle )
related

Generated from constructor MR.Quaterniond.Quaterniond.

Property Documentation

◆ a

new unsafe ref double MR.Quaterniond.a
get

real part of the quaternion

◆ b

new unsafe ref double MR.Quaterniond.b
get

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

◆ c

new unsafe ref double MR.Quaterniond.c
get

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

◆ d

new unsafe ref double MR.Quaterniond.d
get

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


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