#ifndef _FUNDAMENTAL_H_
#define _FUNDAMENTAL_H_

/*
Rl - Matriz de rotação da câmera da esquerda
Tl - Vetor de translação da câmera da esquerda
Fl - Distância focal da câmera da esquerda
Rr - Matriz de rotação da câmera da direita
Tr - Vetor de translação da câmera da direita
Fr - Distância focal da câmera da direita
F  - Matriz de fundamental retornada pela função, para a câmera da esquerda

A mesma função pode ser usada para calcular a matriz fundamental para a câmera 
da direita, bastando inverter a ordem dos parâmetros. A nomenclatura interna 
da função é a mesma das transparências da aula:

M - matriz de projeção (do espaço do olho para a imagem)
R - matriz de rotação
T - translação na forma de matriz
Tvec - translação no forma de vetor(vetor T)
l - esquerda
r - direita
t - transposta
neg - vetor ou matriz multiplicada por -1
Inv - matriz inversa
E - matriz essencial
*/
void ComputeFundamentalMatrix(float *Rl, float *Tl, float Fl,float *Rr, float *Tr, float Fr,float *F);

void MulMatrix3x3Vec3(const float *matrixA,const float *vec1,float *vec2);


#endif