Home | nevrax.com |
|
ps_dot.hGo to the documentation of this file.00001 00007 /* Copyright, 2001 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef NL_PS_DOT_H 00027 #define NL_PS_DOT_H 00028 00029 #include "3d/ps_particle_basic.h" 00030 #include "3d/vertex_buffer.h" 00031 00032 00033 namespace NL3D { 00034 00035 00038 00043 class CPSDot : public CPSParticle, public CPSColoredParticle, public CPSMaterial 00044 { 00045 public: 00047 CPSDot() { init(); _Name = std::string("point");} 00048 00049 NLMISC_DECLARE_CLASS(CPSDot); 00050 00052 void serial(NLMISC::IStream &f) throw(NLMISC::EStream); 00053 00055 virtual bool hasTransparentFaces(void); 00056 00058 virtual bool hasOpaqueFaces(void); 00059 00061 virtual uint32 getMaxNumFaces(void) const; 00062 00064 static void initVertexBuffers(); 00065 00066 protected: 00067 virtual void draw(bool opaque); 00068 virtual CPSLocated *getColorOwner(void) { return _Owner; } 00069 void init(void); 00070 static CVertexBuffer _DotVb; 00071 static CVertexBuffer _DotVbColor; 00072 00074 virtual void updateMatAndVbForColor(void); 00075 00078 void resize(uint32 size); 00079 00081 void newElement(CPSLocated *emitterLocated, uint32 emitterIndex); 00082 00084 void deleteElement(uint32); 00085 }; 00086 00087 00088 } // NL3D 00089 00090 00091 #endif // NL_PS_DOT_H 00092 00093 /* End of ps_dot.h */ |