openrave.org

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Friends | List of all members
OpenRAVE::geometry::RaveTransformMatrix< T > Class Template Reference

Affine transformation parameterized with rotation matrices. Scales and shears are not supported. More...

#include <geometry.h>

Collaboration diagram for OpenRAVE::geometry::RaveTransformMatrix< T >:
Collaboration graph
[legend]

Public Member Functions

 RaveTransformMatrix ()
 
template<typename U >
 RaveTransformMatrix (const RaveTransformMatrix< U > &t)
 
 RaveTransformMatrix (const RaveTransform< T > &t)
 
void identity ()
 
void rotfrommat (T m_00, T m_01, T m_02, T m_10, T m_11, T m_12, T m_20, T m_21, T m_22)
 
rot (int i, int j) const
 
T & rot (int i, int j)
 
template<typename U >
RaveVector< T > operator* (const RaveVector< U > &r) const
 
RaveTransformMatrix< T > operator* (const RaveTransformMatrix< T > &r) const
 t = this * r
 
RaveTransformMatrix< T > operator*= (const RaveTransformMatrix< T > &r) const
 
template<typename U >
RaveVector< U > rotate (const RaveVector< U > &r) const
 
RaveTransformMatrix< T > rotate (const RaveTransformMatrix< T > &r) const
 
RaveTransformMatrix< T > inverse () const
 being on the safe side, do the full inverse incase someone uses scaling.
 
template<typename U >
void Extract (RaveVector< U > &right, RaveVector< U > &up, RaveVector< U > &dir, RaveVector< U > &pos) const
 

Public Attributes

m [12]
 
RaveVector< T > trans
 translation component
 

Friends

template<typename U >
std::ostream & operator<< (std::ostream &O, const RaveTransformMatrix< U > &v)
 serialize in column order! This is the format transformations are passed across the network
 
template<typename U >
std::istream & operator>> (std::istream &I, RaveTransformMatrix< U > &v)
 de-serialize in column order! This is the format transformations are passed across the network
 

Detailed Description

template<typename T>
class OpenRAVE::geometry::RaveTransformMatrix< T >

Affine transformation parameterized with rotation matrices. Scales and shears are not supported.

Definition at line 489 of file geometry.h.

Constructor & Destructor Documentation

template<typename T>
OpenRAVE::geometry::RaveTransformMatrix< T >::RaveTransformMatrix ( )
inline

Definition at line 492 of file geometry.h.

template<typename T>
template<typename U >
OpenRAVE::geometry::RaveTransformMatrix< T >::RaveTransformMatrix ( const RaveTransformMatrix< U > &  t)
inline

Definition at line 495 of file geometry.h.

template<typename T >
RaveTransformMatrix< T >::RaveTransformMatrix ( const RaveTransform< T > &  t)
inline

Definition at line 1143 of file geometry.h.

Member Function Documentation

template<typename T>
template<typename U >
void OpenRAVE::geometry::RaveTransformMatrix< T >::Extract ( RaveVector< U > &  right,
RaveVector< U > &  up,
RaveVector< U > &  dir,
RaveVector< U > &  pos 
) const
inline

Definition at line 609 of file geometry.h.

template<typename T>
void OpenRAVE::geometry::RaveTransformMatrix< T >::identity ( )
inline

Definition at line 504 of file geometry.h.

template<typename T>
RaveTransformMatrix<T> OpenRAVE::geometry::RaveTransformMatrix< T >::inverse ( ) const
inline

being on the safe side, do the full inverse incase someone uses scaling.

Definition at line 585 of file geometry.h.

template<typename T>
template<typename U >
RaveVector<T> OpenRAVE::geometry::RaveTransformMatrix< T >::operator* ( const RaveVector< U > &  r) const
inline

Definition at line 527 of file geometry.h.

template<typename T>
RaveTransformMatrix<T> OpenRAVE::geometry::RaveTransformMatrix< T >::operator* ( const RaveTransformMatrix< T > &  r) const
inline

t = this * r

Definition at line 536 of file geometry.h.

template<typename T>
RaveTransformMatrix<T> OpenRAVE::geometry::RaveTransformMatrix< T >::operator*= ( const RaveTransformMatrix< T > &  r) const
inline

Definition at line 553 of file geometry.h.

template<typename T>
T OpenRAVE::geometry::RaveTransformMatrix< T >::rot ( int  i,
int  j 
) const
inline

Definition at line 517 of file geometry.h.

template<typename T>
T& OpenRAVE::geometry::RaveTransformMatrix< T >::rot ( int  i,
int  j 
)
inline

Definition at line 521 of file geometry.h.

template<typename T>
template<typename U >
RaveVector<U> OpenRAVE::geometry::RaveTransformMatrix< T >::rotate ( const RaveVector< U > &  r) const
inline

Definition at line 559 of file geometry.h.

template<typename T>
RaveTransformMatrix<T> OpenRAVE::geometry::RaveTransformMatrix< T >::rotate ( const RaveTransformMatrix< T > &  r) const
inline

Definition at line 567 of file geometry.h.

template<typename T>
void OpenRAVE::geometry::RaveTransformMatrix< T >::rotfrommat ( m_00,
m_01,
m_02,
m_10,
m_11,
m_12,
m_20,
m_21,
m_22 
)
inline

Definition at line 511 of file geometry.h.

Friends And Related Function Documentation

template<typename T>
template<typename U >
std::ostream& operator<< ( std::ostream &  O,
const RaveTransformMatrix< U > &  v 
)
friend

serialize in column order! This is the format transformations are passed across the network

Definition at line 788 of file geometry.h.

template<typename T>
template<typename U >
std::istream& operator>> ( std::istream &  I,
RaveTransformMatrix< U > &  v 
)
friend

de-serialize in column order! This is the format transformations are passed across the network

Definition at line 795 of file geometry.h.

Member Data Documentation

template<typename T>
T OpenRAVE::geometry::RaveTransformMatrix< T >::m[12]

3x3 rotation matrix. Note that each row is 4 elements long! So row 1 starts at m[4], row 2 at m[8] The reason is to maintain 16 byte alignment when sizeof(T) is 4 bytes

Definition at line 621 of file geometry.h.

template<typename T>
RaveVector<T> OpenRAVE::geometry::RaveTransformMatrix< T >::trans

translation component

Definition at line 622 of file geometry.h.


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