#ifndef _fountainParticles1_h_
#define _fountainParticles1_h_

#include <dms/Vector3.h>
#include <vector>

class fountainParticles1
    {
    public:
     fountainParticles1(int numParticles,dms::Vector3,float);
     void setGravity(dms::Vector3);
     void setWind(dms::Vector3);
     void addObstacle(dms::Vector3,float);
     void initialize(void);
     void update(void);
     void draw(void);
    private:
     void initParticle(int n);
     void checkObstacles(struct _particle& p);
     int numParticles_;
     struct _particle * particles_;
     dms::Vector3 posCenter_, tailOffset_, colorMin_, colorMax_;
     dms::Vector3 gravity_, wind_;
     float posRadius_;
     struct _obstacle { dms::Vector3 position; float radiusSquared; };
     std::vector<struct _obstacle> obstacles_;
    };

#endif
