Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.Math.FQuaternionVectorAdapter Class Reference

Adapter that exposes a quaternion as a 4 element vector expression (indices map to the components C1, C2, C3, C4). More...

+ Inheritance diagram for CDPL.Math.FQuaternionVectorAdapter:

Public Member Functions

None __init__ (FQuaternionVectorAdapter a)
 Initializes a copy of the FQuaternionVectorAdapter instance a. More...
 
None __init__ (FQuaternionExpression e)
 Initializes the FQuaternionVectorAdapter instance. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
FQuaternionVectorAdapter assign (ConstFVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion). More...
 
FQuaternionVectorAdapter assign (ConstDVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion). More...
 
FQuaternionVectorAdapter assign (ConstLVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion). More...
 
FQuaternionVectorAdapter assign (ConstULVectorExpression e)
 Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion). More...
 
FQuaternionVectorAdapter assign (FQuaternionVectorAdapter a)
 Copies the components of a into this view (writing through to the wrapped quaternion). More...
 
None assign (object a)
 Copies the components of a into this view (writing through to the wrapped quaternion). More...
 
bool isEmpty ()
 Tells whether the view is empty (always False, the view is fixed-size with 4 components). More...
 
int getSize ()
 Returns the dimensionality of the view (always 4). More...
 
float getElement (int i)
 
object toArray ()
 
None swap (FQuaternionVectorAdapter a)
 Swaps the components of this view with those of a. More...
 
None setElement (int i, float v)
 
FQuaternionExpression getData ()
 Returns a reference to the wrapped quaternion (via its stored closure). More...
 
bool __eq__ (FQuaternionVectorAdapter a)
 Returns the result of the comparison operation self == a. More...
 
bool __eq__ (ConstFVectorExpression e)
 Returns the result of the comparison operation self == e. More...
 
bool __ne__ (FQuaternionVectorAdapter a)
 Returns the result of the comparison operation self != a. More...
 
bool __ne__ (ConstFVectorExpression e)
 Returns the result of the comparison operation self != e. More...
 
float __call__ (int i)
 Returns a reference to the quaternion component at index i. More...
 
float __getitem__ (int i)
 Returns a reference to the quaternion component at index i. More...
 
int __len__ ()
 Returns the dimensionality of the view (always 4). More...
 
str __str__ ()
 Returns a string representation of the FQuaternionVectorAdapter instance. More...
 
FQuaternionVectorAdapter __pos__ ()
 
ConstFVectorExpression __neg__ ()
 
ConstFVectorExpression __add__ (ConstFVectorExpression e)
 Returns the result of the addition operation self + e. More...
 
ConstFVectorExpression __sub__ (ConstFVectorExpression e)
 Returns the result of the subtraction operation self - e. More...
 
ConstFVectorExpression __mul__ (float t)
 Returns the result of the multiplication operation self * t. More...
 
ConstFVectorExpression __mul__ (ConstFMatrixExpression e)
 Returns the result of the multiplication operation self * e. More...
 
ConstFVectorExpression __div__ (float t)
 Returns the result of the division operation self // t. More...
 
ConstFVectorExpression __truediv__ (float t)
 Returns the result of the true division operation self / t. More...
 
ConstFVectorExpression __rmul__ (float t)
 Returns the result of the multiplication operation t * self. More...
 
None __setitem__ (int i, float v)
 
FQuaternionVectorAdapter __iadd__ (FQuaternionVectorAdapter a)
 Performs the in-place addition operation self += a. More...
 
FQuaternionVectorAdapter __iadd__ (ConstFVectorExpression e)
 Adds the vector expression e componentwise to this view. More...
 
FQuaternionVectorAdapter __isub__ (FQuaternionVectorAdapter a)
 Performs the in-place subtraction operation self -= a. More...
 
FQuaternionVectorAdapter __isub__ (ConstFVectorExpression e)
 Subtracts the vector expression e componentwise from this view. More...
 
FQuaternionVectorAdapter __imul__ (float t)
 Multiplies every component of this view by the scalar t. More...
 
FQuaternionVectorAdapter __idiv__ (float t)
 Divides every component of this view by the scalar t. More...
 
FQuaternionVectorAdapter __itruediv__ (float t)
 

Properties

 objectID = property(getObjectID)
 
 size = property(getSize)
 
 data = property(getData)
 

Detailed Description

Adapter that exposes a quaternion as a 4 element vector expression (indices map to the components C1, C2, C3, C4).

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.Math.FQuaternionVectorAdapter.__init__ ( FQuaternionVectorAdapter  a)

Initializes a copy of the FQuaternionVectorAdapter instance a.

Parameters
aThe FQuaternionVectorAdapter instance to copy.

◆ __init__() [2/2]

None CDPL.Math.FQuaternionVectorAdapter.__init__ ( FQuaternionExpression  e)

Initializes the FQuaternionVectorAdapter instance.

Parameters
e

Member Function Documentation

◆ getObjectID()

int CDPL.Math.FQuaternionVectorAdapter.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python FQuaternionVectorAdapter instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two FQuaternionVectorAdapter instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ assign() [1/6]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.assign ( ConstFVectorExpression  e)

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [2/6]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.assign ( ConstDVectorExpression  e)

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [3/6]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.assign ( ConstLVectorExpression  e)

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [4/6]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.assign ( ConstULVectorExpression  e)

Assigns the vector expression e to this view without intermediate temporary (use only when e does not alias the wrapped quaternion).

Parameters
eThe source vector expression.
Returns
self

◆ assign() [5/6]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.assign ( FQuaternionVectorAdapter  a)

Copies the components of a into this view (writing through to the wrapped quaternion).

Parameters
aThe source adapter.
Returns
self

◆ assign() [6/6]

None CDPL.Math.FQuaternionVectorAdapter.assign ( object  a)

Copies the components of a into this view (writing through to the wrapped quaternion).

Parameters
aThe source adapter.
Returns
self

◆ isEmpty()

bool CDPL.Math.FQuaternionVectorAdapter.isEmpty ( )

Tells whether the view is empty (always False, the view is fixed-size with 4 components).

Returns
False.

◆ getSize()

int CDPL.Math.FQuaternionVectorAdapter.getSize ( )

Returns the dimensionality of the view (always 4).

Returns
4.

◆ swap()

None CDPL.Math.FQuaternionVectorAdapter.swap ( FQuaternionVectorAdapter  a)

Swaps the components of this view with those of a.

Parameters
aThe adapter to swap with.

◆ getData()

FQuaternionExpression CDPL.Math.FQuaternionVectorAdapter.getData ( )

Returns a reference to the wrapped quaternion (via its stored closure).

Returns
A reference to the wrapped quaternion closure.

◆ __eq__() [1/2]

bool CDPL.Math.FQuaternionVectorAdapter.__eq__ ( FQuaternionVectorAdapter  a)

Returns the result of the comparison operation self == a.

Parameters
aThe FQuaternionVectorAdapter instance to be compared with.
Returns
The result of the comparison operation.

◆ __eq__() [2/2]

bool CDPL.Math.FQuaternionVectorAdapter.__eq__ ( ConstFVectorExpression  e)

Returns the result of the comparison operation self == e.

Parameters
eThe ConstFVectorExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [1/2]

bool CDPL.Math.FQuaternionVectorAdapter.__ne__ ( FQuaternionVectorAdapter  a)

Returns the result of the comparison operation self != a.

Parameters
aThe FQuaternionVectorAdapter instance to be compared with.
Returns
The result of the comparison operation.

◆ __ne__() [2/2]

bool CDPL.Math.FQuaternionVectorAdapter.__ne__ ( ConstFVectorExpression  e)

Returns the result of the comparison operation self != e.

Parameters
eThe ConstFVectorExpression instance to be compared with.
Returns
The result of the comparison operation.

◆ __call__()

float CDPL.Math.FQuaternionVectorAdapter.__call__ ( int  i)

Returns a reference to the quaternion component at index i.

Parameters
iThe zero-based component index (0 = C1, 1 = C2, 2 = C3, 3 = C4).
Returns
A reference to the component.
Exceptions
Base.IndexErrorif i is not in the range [0, 3].

◆ __getitem__()

float CDPL.Math.FQuaternionVectorAdapter.__getitem__ ( int  i)

Returns a reference to the quaternion component at index i.

Parameters
iThe zero-based component index.
Returns
A reference to the component.
Exceptions
Base.IndexErrorif i is not in the range [0, 3].

◆ __len__()

int CDPL.Math.FQuaternionVectorAdapter.__len__ ( )

Returns the dimensionality of the view (always 4).

Returns
4.

◆ __str__()

str CDPL.Math.FQuaternionVectorAdapter.__str__ ( )

Returns a string representation of the FQuaternionVectorAdapter instance.

Returns
The generated string representation.

◆ __add__()

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__add__ ( ConstFVectorExpression  e)

Returns the result of the addition operation self + e.

Parameters
eSpecifies the second addend.
Returns
A ConstFVectorExpression instance holding the result of the addition.

◆ __sub__()

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__sub__ ( ConstFVectorExpression  e)

Returns the result of the subtraction operation self - e.

Parameters
eSpecifies the subtrahend.
Returns
A FQuaternionVectorAdapter instance holding the result of the subtraction.

◆ __mul__() [1/2]

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__mul__ ( float  t)

Returns the result of the multiplication operation self * t.

Parameters
tSpecifies the multiplier.
Returns
A ConstFVectorExpression instance holding the result of the multiplication.

◆ __mul__() [2/2]

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__mul__ ( ConstFMatrixExpression  e)

Returns the result of the multiplication operation self * e.

Parameters
eSpecifies the multiplier.
Returns
A ConstFVectorExpression instance holding the result of the multiplication.

◆ __div__()

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__div__ ( float  t)

Returns the result of the division operation self // t.

Parameters
tSpecifies the divisor.
Returns
A ConstFVectorExpression instance holding the result of the division.

◆ __truediv__()

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__truediv__ ( float  t)

Returns the result of the true division operation self / t.

Parameters
tSpecifies the divisor.
Returns
A ConstFVectorExpression instance holding the result of the division.

◆ __rmul__()

ConstFVectorExpression CDPL.Math.FQuaternionVectorAdapter.__rmul__ ( float  t)

Returns the result of the multiplication operation t * self.

Parameters
tSpecifies the multiplicand.
Returns
A ConstFVectorExpression instance holding the result of the multiplication.

◆ __iadd__() [1/2]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__iadd__ ( FQuaternionVectorAdapter  a)

Performs the in-place addition operation self += a.

Parameters
aSpecifies the second addend.
Returns
The updated FQuaternionVectorAdapter instance self.

◆ __iadd__() [2/2]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__iadd__ ( ConstFVectorExpression  e)

Adds the vector expression e componentwise to this view.

Parameters
eThe vector expression to add.
Returns
self

◆ __isub__() [1/2]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__isub__ ( FQuaternionVectorAdapter  a)

Performs the in-place subtraction operation self -= a.

Parameters
aSpecifies the subtrahend.
Returns
The updated FQuaternionVectorAdapter instance self.

◆ __isub__() [2/2]

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__isub__ ( ConstFVectorExpression  e)

Subtracts the vector expression e componentwise from this view.

Parameters
eThe vector expression to subtract.
Returns
self

◆ __imul__()

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__imul__ ( float  t)

Multiplies every component of this view by the scalar t.

Parameters
tThe scalar multiplier.
Returns
self

◆ __idiv__()

FQuaternionVectorAdapter CDPL.Math.FQuaternionVectorAdapter.__idiv__ ( float  t)

Divides every component of this view by the scalar t.

Parameters
tThe scalar divisor.
Returns
self