Microflow 3D  v1.0
PropagationD3Q19.h
Go to the documentation of this file.
1 // ==============================================================================================
2 // Microflow 3D, http://www.microflow.pwr.edu.pl/
3 // Created by Roman Szafran on 01.05.19.
4 // Copyright (c) 2019 Wroclaw University of Science and Technology.
5 // Distributed under the Apache License, Version 2.0. You may obtain a copy of the License at
6 // http://www.apache.org/licenses/LICENSE-2.0 or see accompanying file license.txt.
7 // Redistributions of source code must retain the above copyright and license notice.
8 // ==============================================================================================
9 
10 # pragma once
11 
12 #include "DirectionsD3Q19.h"
13 #include "LatticeParametersD3Q19.h"
14 
15 // OpenVDB
16 #include <openvdb/openvdb.h>
17 
18 namespace MF {
19  namespace GU {
20 
24  public:
25 
26  PropagationD3Q19() = default;
27 
28  ~PropagationD3Q19() = default;
29 
30  static std::shared_ptr<MF::GU::PropagationD3Q19> New(const openvdb::Int32Grid::Ptr & VDBPropagationGrid_Ptr, const std::shared_ptr<MF::GU::LatticeParametersD3Q19>& LatticeParameters_Ptr) {
31  auto PropagationD3Q19_Ptr = std::make_shared<MF::GU::PropagationD3Q19>();
32  PropagationD3Q19_Ptr->m_LatticeParameters_Ptr = LatticeParameters_Ptr;
33  PropagationD3Q19_Ptr->m_VDBPropagationGrid_Ptr = VDBPropagationGrid_Ptr;
34  return PropagationD3Q19_Ptr;
35  };
36 
37  void PropagationTest();
38 
39  private:
40  std::shared_ptr<MF::GU::LatticeParametersD3Q19> m_LatticeParameters_Ptr;
41  openvdb::Int32Grid::Ptr m_VDBPropagationGrid_Ptr;
42 
43  };
44  } /* End of namespace GU */
45 
46 } /* End of namespace MF */
static std::shared_ptr< MF::GU::PropagationD3Q19 > New(const openvdb::Int32Grid::Ptr &VDBPropagationGrid_Ptr, const std::shared_ptr< MF::GU::LatticeParametersD3Q19 > &LatticeParameters_Ptr)
void PropagationTest()
Propagation test.
Class used to determine the active propagation directions for each active (non-solid) node...