#include "vtkCara.h" #include "vtkObjectFactory.h" #include "math.h" vtkCxxRevisionMacro(vtkCara, "$Revision: 0.1 $"); vtkStandardNewMacro(vtkCara); vtkCara::vtkCara() //Constructor por defecto { vertices = NULL; numvertices = 0; }; vtkCara::~vtkCara(){ delete[] vertices; //this->UnRegister(this); } void vtkCara::Add_vertice(int p) //Esta función añade un nuevo vértice a la cara tratada { int i; int *vloc; numvertices++; if (numvertices>1) { vloc = (int *)new int[numvertices]; for (i=0;i<(numvertices-1);i++) vloc[i]=vertices[i]; vloc[numvertices-1]=p; delete[] vertices; vertices = (int *)new int[numvertices]; for (i=0;i 2) { seg1 = puntost2[vertices[1]] - puntost2[vertices[0]]; seg2 = puntost2[vertices[2]] - puntost2[vertices[1]]; return (seg1^seg2).unitario(); } else return Punto(); }; vtkCara vtkCara::operator =(const vtkCara &c) //Asigna caras { int i; if (numvertices>0) { delete vertices; numvertices = 0; } numvertices = c.numvertices; vertices = (int *)new int[numvertices]; for (i=0;i= 359.9f)&&(ang <= 360.1f)) return TRUE; else return FALSE; } int vtkCara::indice(Punto p, Punto *puntost2) { int i; for (i=0; i