AnimaL |
Tutorial |
Documentation |
00001 00002 #ifndef _PARAMETERS_CALCULUS_H 00003 #define _PARAMETERS_CALCULUS_H 00004 00005 namespace animal 00006 { 00007 namespace octree 00008 { 00009 00010 class ParametersCalculus; 00011 00012 #include "octree_instanciation.h" 00013 #include "HermiteFunction.h" 00014 00015 #include <animal/array.h> 00016 #include <animal/vec3.h> 00017 #include <animal/matrix.h> 00018 #include <animal/linear.h> 00019 00020 typedef animal::Matrix<FloatingPointType> Mat; 00021 00022 00023 class ParametersCalculus 00024 { 00025 00026 public: 00027 ParametersCalculus( Cell *cell, HermiteFunction hf ); 00028 ~ParametersCalculus(); 00029 00030 /* 00031 * Get alpha, beta, gamma in the cell given the 3d points Q 00032 */ 00033 Vec3d getParameters( Vec3d Q, Vec3d initialParameters = Vec3d(0,0,0), unsigned int maxIterations=10000, FloatingPointType threshold=10.0e-4 ); 00034 00035 Vec3d computePosition( Vec3d parameters ); 00036 00037 00038 private: 00039 Cell *_cell; 00040 HermiteFunction _hf; 00041 00042 }; 00043 00044 } 00045 } 00046 00047 00048 #endif