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 const half of the class. More...

Inheritance diagram for MR.Const_Quaterniond:

Classes

struct  _Underlying

Public Member Functions

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 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 {}.

Protected Member Functions

virtual unsafe void Dispose (bool disposing)

Protected Attributes

unsafe double * __ref_storage_a
unsafe double * __ref_storage_b
unsafe double * __ref_storage_c
unsafe double * __ref_storage_d

Properties

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 Const_Quaterniond (in MR.Vector3d axis, double angle)
 Generated from constructor MR.Quaterniond.Quaterniond.

Detailed Description

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

Constructor & Destructor Documentation

◆ Const_Quaterniond() [1/7]

unsafe MR.Const_Quaterniond.Const_Quaterniond ( )
inline

Constructs an empty (default-constructed) instance.

◆ Const_Quaterniond() [2/7]

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

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Const_Quaterniond() [3/7]

MR.Const_Quaterniond.Const_Quaterniond ( Quaterniond _other)
inline

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Const_Quaterniond() [4/7]

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

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Const_Quaterniond() [5/7]

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

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Const_Quaterniond() [6/7]

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

Generated from constructor MR.Quaterniond.Quaterniond.

◆ Const_Quaterniond() [7/7]

unsafe MR.Const_Quaterniond.Const_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

◆ angle()

unsafe double MR.Const_Quaterniond.angle ( )
inline

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

◆ axis()

unsafe MR.Vector3d MR.Const_Quaterniond.axis ( )
inline

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

◆ call()

unsafe MR.Vector3d MR.Const_Quaterniond.call ( in MR.Vector3d 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::Quaterniond::operator().

◆ conjugate()

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

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

◆ Dispose() [1/2]

virtual void MR.Const_Quaterniond.Dispose ( )
inlinevirtual

◆ Dispose() [2/2]

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

◆ im()

unsafe MR.Vector3d MR.Const_Quaterniond.im ( )
inline

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

◆ inverse()

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

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

◆ lerp()

unsafe MR.Quaterniond MR.Const_Quaterniond.lerp ( MR.Const_Quaterniond q0,
MR.Const_Quaterniond q1,
double t )
inlinestatic

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

◆ norm()

unsafe double MR.Const_Quaterniond.norm ( )
inline

Generated from method MR.Quaterniond.norm.

◆ normalized()

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

Generated from method MR.Quaterniond.normalized.

◆ normSq()

unsafe double MR.Const_Quaterniond.normSq ( )
inline

Generated from method MR.Quaterniond.normSq.

◆ operator Const_Quaterniond()

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

Generated from constructor MR.Quaterniond.Quaterniond.

◆ operator MR.Matrix3d()

unsafe implicit MR.Const_Quaterniond.operator MR.Matrix3d ( MR.Const_Quaterniond _this)
inlinestatic

converts this into 3x3 rotation matrix Generated from conversion operator MR::Quaterniond::operator MR.Matrix3d.

◆ operator-()

unsafe MR.Quaterniond MR.Const_Quaterniond.operator- ( MR.Const_Quaterniond _this)
inlinestatic

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

◆ slerp() [1/3]

unsafe MR.AffineXf3d MR.Const_Quaterniond.slerp ( in MR.AffineXf3d xf0,
in MR.AffineXf3d xf1,
double t,
MR.Vector3d? 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.Quaterniond.slerp. Parameter p defaults to {}.

◆ slerp() [2/3]

unsafe MR.Matrix3d MR.Const_Quaterniond.slerp ( in MR.Matrix3d m0,
in MR.Matrix3d m1,
double t )
inlinestatic

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

◆ slerp() [3/3]

unsafe MR.Quaterniond MR.Const_Quaterniond.slerp ( MR.Const_Quaterniond q0,
MR.Const_Quaterniond q1,
double t )
inlinestatic

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

◆ Const_Quaterniond()

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

Generated from constructor MR.Quaterniond.Quaterniond.

Member Data Documentation

◆ __ref_storage_a

unsafe double* MR.Const_Quaterniond.__ref_storage_a
protected

◆ __ref_storage_b

unsafe double* MR.Const_Quaterniond.__ref_storage_b
protected

◆ __ref_storage_c

unsafe double* MR.Const_Quaterniond.__ref_storage_c
protected

◆ __ref_storage_d

unsafe double* MR.Const_Quaterniond.__ref_storage_d
protected

Property Documentation

◆ a

unsafe double MR.Const_Quaterniond.a
get

real part of the quaternion

◆ b

unsafe double MR.Const_Quaterniond.b
get

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

◆ c

unsafe double MR.Const_Quaterniond.c
get

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

◆ d

unsafe double MR.Const_Quaterniond.d
get

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


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