Loading...
Searching...
No Matches
GridEmitterSet3.hpp
Go to the documentation of this file.
1// This code is based on Jet framework.
2// Copyright (c) 2018 Doyub Kim
3// CubbyFlow is voxel-based fluid simulation engine for computer games.
4// Copyright (c) 2020 CubbyFlow Team
5// Core Part: Chris Ohk, Junwoo Hwang, Jihong Sin, Seungwoo Yoo
6// AI Part: Dongheon Cho, Minseo Kim
7// We are making my contributions/submissions to this project solely in our
8// personal capacity and are not conveying any rights to any intellectual
9// property of any third parties.
10
11#ifndef CUBBYFLOW_GRID_EMITTER_SET3_HPP
12#define CUBBYFLOW_GRID_EMITTER_SET3_HPP
13
15
16#include <vector>
17
18namespace CubbyFlow
19{
24{
25 public:
26 class Builder;
27
29 GridEmitterSet3() = default;
30
32 explicit GridEmitterSet3(const std::vector<GridEmitter3Ptr>& emitters);
33
36
39
42
45
48
51
54
55 private:
56 void OnUpdate(double currentTimeInSeconds,
57 double timeIntervalInSeconds) override;
58
59 std::vector<GridEmitter3Ptr> m_emitters;
60};
61
64
69{
70 public:
73 const std::vector<GridEmitter3Ptr>& emitters);
74
77
80
81 private:
82 std::vector<GridEmitter3Ptr> m_emitters;
83};
84} // namespace CubbyFlow
85
86#endif
Abstract base class for 3-D grid-based emitters.
Definition GridEmitter3.hpp:23
Front-end to create GridEmitterSet3 objects step by step.
Definition GridEmitterSet3.hpp:69
Builder & WithEmitters(const std::vector< GridEmitter3Ptr > &emitters)
Returns builder with list of sub-emitters.
GridEmitterSet3 Build() const
Builds GridEmitterSet3.
GridEmitterSet3Ptr MakeShared() const
Builds shared pointer of GridEmitterSet3 instance.
3-D grid-based emitter set.
Definition GridEmitterSet3.hpp:24
static Builder GetBuilder()
Returns builder fox GridEmitterSet3.
void AddEmitter(const GridEmitter3Ptr &emitter)
Adds sub-emitter.
GridEmitterSet3()=default
Constructs an emitter.
GridEmitterSet3(const std::vector< GridEmitter3Ptr > &emitters)
Constructs an emitter with sub-emitters.
GridEmitterSet3(const GridEmitterSet3 &)=default
Default copy constructor.
GridEmitterSet3(GridEmitterSet3 &&) noexcept=default
Default move constructor.
Definition Matrix.hpp:30
Definition pybind11Utils.hpp:21
std::shared_ptr< GridEmitter3 > GridEmitter3Ptr
Shared pointer type for the GridEmitter3.
Definition GridEmitter3.hpp:87
std::shared_ptr< GridEmitterSet3 > GridEmitterSet3Ptr
Shared pointer type for the GridEmitterSet3.
Definition GridEmitterSet3.hpp:63
Matrix< T, Rows, 1 > Vector
Definition Matrix.hpp:738