AnimaL |
Tutorial |
Documentation |
00001 // 00002 // C++ Interface: DeformableOctreeParticleSystemNode 00003 // 00004 // Description: 00005 // 00006 // 00007 // Author: Matthieu Nesme <>, (C) 2004 00008 // 00009 // Copyright: See COPYING file that comes with this distribution 00010 // 00011 // 00012 #ifndef X3DTK_X3DDEFORMABLEOCTREEPARTICLESYSTEMNODE_H 00013 #define X3DTK_X3DDEFORMABLEOCTREEPARTICLESYSTEMNODE_H 00014 00015 #include "DeformableOctreeNode.h" 00016 #include "OctreeParticleSystemEngine.h" 00017 00018 namespace X3DTK 00019 { 00020 00021 namespace X3D 00022 { 00023 00028 typedef animal::octree::OctreeParticleSystemEngine<MFVec3f,float,MFFloat> OctreeParticleSystemEngine; 00029 00030 class DeformableOctreeParticleSystemNode 00031 : public DeformableOctreeNode 00032 { 00033 public: 00034 DeformableOctreeParticleSystemNode(); 00035 00036 ~DeformableOctreeParticleSystemNode(); 00037 00038 void animate( float dt ); 00039 00040 void postAnimate( float dt ); 00041 00042 void draw(); 00043 00044 void postInit(); 00045 00046 00047 void createOctree(); 00048 00049 void setDeformableOctreeShapeNode( DeformableOctreeShapeNode *dosn); 00050 00051 00052 void slotSubdivide(); 00053 void slotSimplify(); 00054 00055 00056 00057 OctreeParticleSystemEngine *_octree; 00058 00059 00060 virtual animal::ConstrainedItem* pickPoint( float* , float* , float ); 00061 OctreeParticleSystemEngine * getOctree() const { return _octree; }; 00062 00063 }; 00064 00065 }; 00066 00067 }; 00068 00069 #endif