Documentation


Frame.h

Go to the documentation of this file.
00001 
00002 #ifndef _FRAME_H
00003 #define _FRAME_H
00004 
00005 namespace animal
00006 {
00007     namespace octree
00008     {
00009         class Frame;
00010     }
00011 }
00012 
00013 
00014 #include "global.h"
00015 
00016 namespace animal
00017 {
00018     namespace octree
00019     {
00020 class Frame
00021 {
00022     public:
00023     Frame();
00024     Frame( const Vec3d origin, const Vec3d u, const Vec3d v, const Vec3d w );
00025     
00026     ~Frame();
00027     
00028     Vec3d getVector( unsigned int i ) const;
00029     Vec3d operator[]( unsigned int i ) const;
00030     
00031     void setVector( unsigned int i, Vec3d v );
00032 
00033     Vec3d getOrigin() const { return _origin; };
00034     void setOrigin( Vec3d v );
00035     
00036     inline HMat getMatrix() const { return _matrix; };
00037     inline HMat getInvMatrix() const { return _invMatrix; };
00038     
00039     
00044     Vec3d computePosition( Vec3d params, Vec3d scaling=Vec3d(1,1,1) ) const;
00045     
00049     Vec3d getLocalCoordinates( Vec3d Q );
00050     
00051     
00052     protected:
00053     std::vector<Vec3d> _frame;
00054     Vec3d _origin;
00055     
00056     HMat _matrix;
00057     HMat _invMatrix;
00058     
00059     bool _invMatrixComputed;
00060 
00061 };
00062 
00063 }
00064 }
00065 
00066 #endif

Generated on Thu Dec 23 13:52:25 2004 by doxygen 1.3.6