PeriDyno 1.0.0
Loading...
Searching...
No Matches
VolumeGenerator.cpp
Go to the documentation of this file.
1#include "VolumeGenerator.h"
2
5
6namespace dyno
7{
9
10 template<typename TDataType>
12 : Volume<TDataType>()
13 {
14 this->varSpacing()->setRange(0.001, 1.0f);
15
16 auto fsm = std::make_shared<FastSweepingMethodGPU<TDataType>>();
17 this->inTriangleSet()->connect(fsm->inTriangleSet());
18 fsm->outLevelSet()->connect(this->outLevelSet());
19
20 this->resetPipeline()->pushModule(fsm);
21
22 this->varSpacing()->attach(std::make_shared<FCallBackFunc>(
23 [=]() {
24 fsm->varSpacing()->setValue(this->varSpacing()->getValue());
25 }));
26
27 this->varPadding()->attach(std::make_shared<FCallBackFunc>(
28 [=]() {
29 fsm->varPadding()->setValue(this->varPadding()->getValue());
30 }));
31 }
32
33 template<typename TDataType>
37
38 template<typename TDataType>
40 {
42
43 this->stateLevelSet()->setDataPtr(this->outLevelSet()->constDataPtr());
44 }
45
47}
#define DEFINE_CLASS(name)
Definition Object.h:140
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
virtual void resetStates()
Definition Node.cpp:214
std::shared_ptr< Pipeline > resetPipeline()
Definition Node.cpp:302
void resetStates() override
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25