1 /**************************************************************************** 2 * MeshLab o o * 3 * A versatile mesh processing toolbox o o * 4 * _ O _ * 5 * Copyright(C) 2007 \/)\/ * 6 * Visual Computing Lab /\/| * 7 * ISTI - Italian National Research Council | * 8 * \ * 9 * All rights reserved. * 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 * This program is distributed in the hope that it will be useful, * 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 19 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt) * 20 * for more details. * 21 * * 22 ****************************************************************************/ 23 #ifndef DUSTPARTICLE_H 24 #define DUSTPARTICLE_H 25 #include<vector> 26 #include <common/meshmodel.h> 27 #include <common/interfaces.h> 28 #include<vcg/simplex/vertex/base.h> 29 #include<vcg/simplex/face/base.h> 30 #include<vcg/complex/complex.h> 31 32 template <class MeshType> 33 34 class DustParticle{ 35 typedef typename MeshType::CoordType CoordType; 36 typedef typename MeshType::VertexType VertexType; 37 typedef typename MeshType::FaceType FaceType; 38 typedef typename MeshType::FacePointer FacePointer; 39 public: DustParticle()40 DustParticle(){ 41 mass=1.0f; 42 speed[0]=0.0f; 43 speed[1]=0.0f; 44 speed[2]=0.0f; 45 }; 46 DustParticle(float m,CoordType v)47 DustParticle(float m,CoordType v){ 48 mass=m; 49 speed=v; 50 }; ~DustParticle()51 ~DustParticle(){}; 52 53 54 public: 55 FacePointer face; 56 CoordType bar_coord;/*To delete?*/ 57 float mass; 58 CoordType speed; 59 60 float ad_coeff;/*Adhesion Coefficient*/ 61 62 // Position History 63 //std::vector<CMeshO::CoordType> pos_his; 64 }; 65 66 67 68 #endif // DUSTPARTICLE_H 69