Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_cross_product_matrix.h

Go to the documentation of this file.
00001 #ifndef vnl_cross_product_matrix_h_
00002 #define vnl_cross_product_matrix_h_
00003 // This is vxl/vnl/vnl_cross_product_matrix.h
00004 
00005 //: \file
00006 //  \brief 3x3 cross-product matrix of vector
00007 //  \author Andrew W. Fitzgibbon, Oxford RRG, 19 Sep 96
00008 
00009 
00010 // Modifications:
00011 // 4/4/01 LSB (Manchester) Tidied Documentation
00012 //
00013 //-----------------------------------------------------------------------------
00014 
00015 #include <vnl/vnl_double_3x3.h>
00016 
00017 
00018 //:  Calculates the 3x3 skew symmetric cross product matrix from a vector.
00019 //
00020 // \verbatim   
00021 // vnl_cross_product_matrix(e) is the matrix [e]_ x:
00022 // 
00023 //     0    -e_3   e_2
00024 //     e_3   0    -e_1
00025 //    -e_2   e_1   0
00026 // \endverbatim
00027 class vnl_cross_product_matrix : public vnl_double_3x3 {
00028 public:
00029   typedef vnl_double_3x3 base;
00030 
00031   vnl_cross_product_matrix(const vnl_vector<double>& v) { set(v.data_block()); }
00032   vnl_cross_product_matrix(const double* v) { set(v); }
00033   vnl_cross_product_matrix(const vnl_cross_product_matrix& that): base(that) {}
00034  ~vnl_cross_product_matrix() {}
00035 
00036   vnl_cross_product_matrix& operator=(const vnl_cross_product_matrix& that) {
00037     base::operator= (that);
00038     return *this;
00039   }
00040 
00041   void set(const double* v); // override method in vnl_vector
00042 };
00043 
00044 #endif // vnl_cross_product_matrix_h_

Generated at Wed Mar 12 01:13:15 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000