Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members

bcal_euclidean_transformation.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 //:
00003 // \file
00004 // \brief interface for the bcal_euclidean_transformation class.
00005 //
00006 // \verbatim
00007 //  Modifications:
00008 //    Sancar Adali  April 1, 2004  Added get_trans_matrix(i) for acccessing ith
00009 //                                 transformation matrix
00010 // \endverbatim
00011 //-----------------------------------------------------------------------------
00012 
00013 
00014 #ifndef AFX_EUCLIDEAN_TRANSFORMATION_H__F0345CDE_C4EB_47BA_9A60_25A77056C5EB__INCLUDED_
00015 #define AFX_EUCLIDEAN_TRANSFORMATION_H__F0345CDE_C4EB_47BA_9A60_25A77056C5EB__INCLUDED_
00016 
00017 #if defined(_MSC_VER) && ( _MSC_VER > 1000 )
00018 #pragma once
00019 #endif // _MSC_VER > 1000
00020 
00021 #include <vcl_vector.h>
00022 #include <vcl_iosfwd.h>
00023 #include <vcsl/vcsl_spatial_transformation.h>
00024 #include <vgl/algo/vgl_h_matrix_3d.h>
00025 
00026 class bcal_euclidean_transformation : public vcsl_spatial_transformation
00027 {
00028  private:
00029   vcl_vector<vgl_h_matrix_3d<double> > trans_;
00030 
00031  public: // constructor and deconstructor
00032   bcal_euclidean_transformation() {}
00033   virtual ~bcal_euclidean_transformation() {}
00034 
00035  public: // operators
00036   void set_transformations(vcl_vector<vgl_h_matrix_3d<double> > &t) {trans_=t;}
00037 
00038   vnl_vector<double> inverse(const vnl_vector<double> &v, double time) const;
00039   virtual vnl_vector<double> execute(const vnl_vector<double> &v, double tims) const;
00040   virtual bool is_invertible(double time) const; // for abstract interface
00041   virtual void set_beat(vcl_vector<double> const& new_beat);
00042   vnl_double_4x4 get_trans_matrix(int i);
00043   virtual bool is_valid() const;
00044 
00045   // for debugging
00046   // print information
00047   void print(vcl_ostream& os = vcl_cerr);
00048 
00049  protected:
00050   // clear trans_
00051   int remove();
00052 };
00053 
00054 #endif // AFX_EUCLIDEAN_TRANSFORMATION_H__F0345CDE_C4EB_47BA_9A60_25A77056C5EB__INCLUDED_

Generated on Thu Jan 10 14:53:50 2008 for contrib/brl/bmvl/bcal by  doxygen 1.4.4