/// vtkModeloDeformable /// -------------- #ifndef __vtkModeloDeformable_h #define __vtkModeloDeformable_h #include "vtkAABB.h" #include "vtkObject.h" #include "vtkIdType.h" #include "vtkIdList.h" #include "Macros.h" #include "vtkesquiColisionWin32Header.h" class vtkAABB; //! Class which have the needed info of deformable model to collision detection class VTK_ESQUI_COLISION_EXPORT vtkModeloDeformable: public vtkObject { public: vtkTypeRevisionMacro(vtkModeloDeformable, vtkObject); static vtkModeloDeformable *New(); const char *GetClassName() {return "vtkModeloDeformable";}; //! Get the number of points vtkIdType GetnumeroVertices(); //! Get the number of facets vtkIdType GetnumeroCaras(); //! Get the number of moved verts vtkIdType GetnumVerticesMovidos(); float* Getvertice(vtkIdType indice); void PrintSelf(ostream& os, vtkIndent indent); //BTX //! Number Of Points unsigned numeroVertices; //! Number of facets unsigned numeroCaras; //!Number of moved verts unsigned numVerticesMovidos; float CentroDeVertices[3]; //! Index of moved verts on each cycle int* idVerticesMovidos; // Indices de los vertices movidos en cada ciclo //! Model coords float* vertices; // Coordenadas de los vertices del modelo (xyz xyz xyz) //! Index to verts which makes the facets of a model. (v1Cara1v2Cara1v3Cara1 v1Cara2v2Cara2v3Cara3 ...) int* caras; // Indices a vertices que forman las caras del modelo //! Coords of verts on previous cycle float* verticesAnterior; // Coordenadas de los verrtices en el paso anterior. //! Boundig box for deformable model vtkAABB Caja; // Caja de inclusion del modelo deformable (para eliminar casos) //ETX private: vtkModeloDeformable (const vtkModeloDeformable &); //Not Implemented void operator =(const vtkModeloDeformable &); //Not Implemented protected: vtkModeloDeformable() {}; ~vtkModeloDeformable(); }; #endif