/* # --------------------------------------------------------------------- # # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image # pour la Sante) # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton # Previous Authors : Laurent Guigues, Jean-Pierre Roux # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil # # This software is governed by the CeCILL-B license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL-B # license as circulated by CEA, CNRS and INRIA at the following URL # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html # or in the file LICENSE.txt. # # As a counterpart to the access to the source code and rights to copy, # modify and redistribute granted by the license, users are provided only # with a limited warranty and the software's author, the holder of the # economic rights, and the successive licensors have only limited # liability. # # The fact that you are presently reading this means that you have had # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ #ifndef _CREAVTKHEARTANGLES_H_ #define _CREAVTKHEARTANGLES_H_ #include "vtkImageData.h" class creaVtkHeartAngles { public : creaVtkHeartAngles(); ~creaVtkHeartAngles(); //Parametros: Punto P0, vector V, Vector V'(proyection de V) double alpha (double P0a, double P0b,double P0c, double vx, double vy, double vz, double vxp, double vyp, double vzp); //Parametros: Punto P0, Punto P2, Punto P4 (proyection de V) double beta (double P0a, double P0b,double P0c, double P2x, double P2y, double P2z, double P4x, double P4y, double P4z); //Parametros: punto del plano, normalPlano, vector V. double * vectorProjection (double plx, double ply, double plz, double nx, double ny, double nz, double vx, double vy, double vz); //Parametros: Tres puntos del plano, dos puntos de la recta. double *intersectionPlaneLine(double plx1, double ply1, double plz1, double plx2, double ply2, double plz2, double plx3, double ply3, double plz3, double px1, double py1, double pz1,double px2, double py2, double pz2); //Parametros: Imagen 3D, Punto en el plano, Vector, Normal, 3 puntos el plano. vtkImageData* calculateAngleAlpha (vtkImageData* image, double Px, double Py, double Pz, double Vx, double Vy, double Vz, double Nx, double Ny, double Nz/*, double* pPlane*/); vtkImageData* calculateAngleBeta (vtkImageData* image, double Px, double Py, double Pz, double Vx, double Vy, double Vz, double Nx, double Ny, double Nz/*, double* pPlane*/); protected: private: }; //-end of _CREAVTKHEARTANGLES_H_------------------------------------------------------ #endif