mantaflow  0.10
A framework for fluid simulation
movingobs.h
Go to the documentation of this file.
1 
2 /******************************************************************************
3  *
4  * MantaFlow fluid solver framework
5  * Copyright 2011 Tobias Pfaff, Nils Thuerey
6  *
7  * This program is free software, distributed under the terms of the
8  * GNU General Public License (GPL)
9  * http://www.gnu.org/licenses
10  *
11  * moving obstacles
12  *
13  ******************************************************************************/
14 
15 #ifndef _MOVINGOBS_H
16 #define _MOVINGOBS_H
17 
18 #include "shapes.h"
19 #include "particle.h"
20 
21 namespace Manta {
22 
25 PYTHON class MovingObstacle : public PbClass {
26 public:
27  PYTHON() MovingObstacle(FluidSolver* parent, int emptyType=FlagGrid::TypeEmpty);
28 
29  PYTHON() void add(Shape* shape);
31  PYTHON() void moveLinear(Real t, Real t0, Real t1, Vec3 p0, Vec3 p1, FlagGrid& flags, MACGrid& vel, bool smooth=true);
33  PYTHON() void projectOutside(FlagGrid& flags, BasicParticleSystem& flip);
34 
35 protected:
36  std::vector<Shape*> mShapes;
37  int mEmptyType;
38  int mID;
39  static int sIDcnt;
40 };
41 
42 
43 } //namespace
44 #endif
45 
46 
Definition: commonkernels.h:22
Definition: grid.h:267
Definition: grid.h:229
Basic inlined vector class.
Definition: vectorbase.h:71
Definition: movingobs.h:25
Definition: shapes.h:29
Definition: particle.h:187
Definition: fluidsolver.h:28