Bullet Collision Detection & Physics Library: GivensRotation Class Reference

Bullet Collision Detection & Physics Library

Public Member Functions | Public Attributes | List of all members
GivensRotation Class Reference

Class for givens rotation. More...

`#include <btImplicitQRSVD.h>`

## Public Member Functions
| GivensRotation (int rowi_in, int rowk_in)
| GivensRotation (btScalar a, btScalar b, int rowi_in, int rowk_in)
| ~GivensRotation ()
void | transposeInPlace ()
void | compute (const btScalar a, const btScalar b)
| Compute c and s from a and b so that ( c -s ) ( a ) = ( * ) s c b ( 0 ) More...
void | computeUnconventional (const btScalar a, const btScalar b)
| This function computes c and s so that ( c -s ) ( a ) = ( 0 ) s c b ( * ) More...
void | fill (const btMatrix3x3 &R) const
| Fill the R with the entries of this rotation. More...
void | fill (const btMatrix2x2 &R) const
void | rowRotation (btMatrix3x3 &A) const
| This function does something like c -s 0 ( s c 0 ) A -> A 0 0 1 It only affects row i and row k of A. More...
void | rowRotation (btMatrix2x2 &A) const
void | columnRotation (btMatrix3x3 &A) const
| This function does something like c s 0 A ( -s c 0 ) -> A 0 0 1 It only affects column i and column k of A. More...
void | columnRotation (btMatrix2x2 &A) const
void | operator*= (const GivensRotation &A)
| Multiply givens must be for same row and column. More...
GivensRotation | operator* (const GivensRotation &A) const
| Multiply givens must be for same row and column. More...

## Public Attributes
int | rowi
int | rowk
btScalar | c
btScalar | s

## Detailed Description

Class for givens rotation.

Row rotation G*A corresponds to something like c -s 0 ( s c 0 ) A 0 0 1 Column rotation A G' corresponds to something like c -s 0 A ( s c 0 ) 0 0 1

c and s are always computed so that ( c -s ) ( a ) = ( * ) s c b ( 0 )

Assume rowi<rowk.

Definition at line 114 of file btImplicitQRSVD.h.

## Constructor & Destructor Documentation

## ◆ GivensRotation() [1/2]

GivensRotation::GivensRotation | ( | int | rowi_in,
|  | int | rowk_in
| ) |  |
| inline

Definition at line 121 of file btImplicitQRSVD.h.

## ◆ GivensRotation() [2/2]

GivensRotation::GivensRotation | ( | btScalar | a,
|  | btScalar | b,
|  | int | rowi_in,
|  | int | rowk_in
| ) |  |
| inline

Definition at line 129 of file btImplicitQRSVD.h.

## ◆ ~GivensRotation()

GivensRotation::~GivensRotation | ( |  | ) |
| inline

Definition at line 136 of file btImplicitQRSVD.h.

## Member Function Documentation

## ◆ columnRotation() [1/2]

void GivensRotation::columnRotation | ( | btMatrix2x2 & | A | ) | const
| inline

Definition at line 244 of file btImplicitQRSVD.h.

## ◆ columnRotation() [2/2]

void GivensRotation::columnRotation | ( | btMatrix3x3 & | A | ) | const
| inline

This function does something like c s 0 A ( -s c 0 ) -> A 0 0 1 It only affects column i and column k of A.

Definition at line 235 of file btImplicitQRSVD.h.

## ◆ compute()

void GivensRotation::compute | ( | const btScalar | a,
|  | const btScalar | b
| ) |  |
| inline

Compute c and s from a and b so that ( c -s ) ( a ) = ( * ) s c b ( 0 )

Definition at line 148 of file btImplicitQRSVD.h.

## ◆ computeUnconventional()

void GivensRotation::computeUnconventional | ( | const btScalar | a,
|  | const btScalar | b
| ) |  |
| inline

This function computes c and s so that ( c -s ) ( a ) = ( 0 ) s c b ( * )

Definition at line 169 of file btImplicitQRSVD.h.

## ◆ fill() [1/2]

void GivensRotation::fill | ( | const btMatrix2x2 & | R | ) | const
| inline

Definition at line 193 of file btImplicitQRSVD.h.

## ◆ fill() [2/2]

void GivensRotation::fill | ( | const btMatrix3x3 & | R | ) | const
| inline

Fill the R with the entries of this rotation.

Definition at line 183 of file btImplicitQRSVD.h.

## ◆ operator*()

GivensRotation GivensRotation::operator* | ( | const GivensRotation & | A | ) | const
| inline

Multiply givens must be for same row and column.

Definition at line 268 of file btImplicitQRSVD.h.

## ◆ operator*=()

void GivensRotation::operator*= | ( | const GivensRotation & | A | ) |
| inline

Multiply givens must be for same row and column.

Definition at line 257 of file btImplicitQRSVD.h.

## ◆ rowRotation() [1/2]

void GivensRotation::rowRotation | ( | btMatrix2x2 & | A | ) | const
| inline

Definition at line 218 of file btImplicitQRSVD.h.

## ◆ rowRotation() [2/2]

void GivensRotation::rowRotation | ( | btMatrix3x3 & | A | ) | const
| inline

This function does something like c -s 0 ( s c 0 ) A -> A 0 0 1 It only affects row i and row k of A.

Definition at line 209 of file btImplicitQRSVD.h.

## ◆ transposeInPlace()

void GivensRotation::transposeInPlace | ( |  | ) |
| inline

Definition at line 138 of file btImplicitQRSVD.h.

## Member Data Documentation

## ◆ c

btScalar GivensRotation::c

Definition at line 118 of file btImplicitQRSVD.h.

## ◆ rowi

int GivensRotation::rowi

Definition at line 116 of file btImplicitQRSVD.h.

## ◆ rowk

int GivensRotation::rowk

Definition at line 117 of file btImplicitQRSVD.h.

## ◆ s

btScalar GivensRotation::s

Definition at line 119 of file btImplicitQRSVD.h.

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

- btImplicitQRSVD.h