Peano
Loading...
Searching...
No Matches
InnerNode.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
6
7namespace toolbox {
8 namespace curvi {
9 class InnerNode: public Node {
10 public:
11 InnerNode(const YAML::Node& node);
12
14
15 std::string toString(int depth = 0);
16
17 void init(BlockBoundary& boundary, uint modes[3]);
18
19 BlockBoundary traverse(int a_index[3]);
20
21 BlockBoundary traverseProjection(double coordinate[3]);
22
24
25 void setPosition(double a_position);
26
27 double getPosition();
28
29 void getCoordinates(Coordinate a_coords[2]);
30
32
33 double evalPerturbation(double y, double x);
34
35 void checkInit();
36
37 bool isLeaf() const { return false; }
38
39
40 private:
41 bool isInit;
42
44 double position;
45 int index;
46 easi::Component* model;
47 std::function<double(double, double)> perturbation;
48
49
52 };
53 } // namespace curvi
54} // namespace toolbox
std::function< double(double, double)> perturbation
Definition InnerNode.h:47
std::string toString(int depth=0)
void init(BlockBoundary &boundary, uint modes[3])
BlockBoundary traverseProjection(double coordinate[3])
double evalPerturbation(double y, double x)
InnerNode(const YAML::Node &node)
void getCoordinates(Coordinate a_coords[2])
void setPosition(double a_position)
easi::Component * model
Definition InnerNode.h:46
BlockBoundary traverse(int a_index[3])