home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved.
- // FILE: WATER.HPP
- //
- // DESCRIPTION
- // This file provides the function prototypes for the waterClass
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 6/5/95 Created
- //
- //**********************************************************************
- #ifndef _WATER_HPP
- #define _WATER_HPP
-
- #include "style.hpp"
- #include "geometry.hpp"
- #include "slink.hpp"
-
- typedef struct {
- positionClass *pt;
- int t0;
- int change;
- } dropStruct;
-
- class waterClass : public styleClass {
-
- private:
-
- sLinkClass *drops;
- Vres width, wavefront, amp, waveL, damping, speed, db;
- int steps, tic;
-
- void reset();
-
- public:
-
- geometryClass *geo;
-
- sLinkClass *geoList;
-
- void drop(V3 pos, Vres amplitude);
-
- void style(void);
-
- void setWaveSpeed(Vres s);
- void setDampingConstant(Vres dk);
- void setDeadBand(Vres dbk);
- void setWaveLength(Vres l);
-
- waterClass(Vres length=10.0, int segments=1.0,
- Vres waveSpeed=1.0, Vres dampingConstant=0.1,
- Vres deadBand=0.05, Vres waveLength=5.0);
-
- waterClass(geometryClass *geometry,
- Vres waveSpeed=1.0, Vres dampingConstant=0.1,
- Vres deadBand=0.05, Vres waveLength=5.0);
-
- ~waterClass();
-
- };
- #endif
-