PeriDyno 1.0.0
Loading...
Searching...
No Matches
MarchingCubes.h
Go to the documentation of this file.
1
16#pragma once
17#include "Node.h"
18
19#include "Topology/LevelSet.h"
20#include "Topology/TriangleSet.h"
21
22namespace dyno
23{
24 template<typename TDataType>
25 class MarchingCubes : public Node
26 {
28 public:
29 typedef typename TDataType::Real Real;
30 typedef typename TDataType::Coord Coord;
31
33
34 ~MarchingCubes() override;
35
36 std::string getNodeType() override { return "Volume"; }
37
38 public:
39 DEF_VAR(Real, IsoValue, Real(0), "Iso value");
40
41 DEF_VAR(Real, GridSpacing, Real(0.05), "");
42
43 DEF_INSTANCE_IN(LevelSet<TDataType>, LevelSet, "A 3D signed distance field");
44
46
47 protected:
48 void resetStates() override;
49
50 void updateStates() override;
51
52 private:
54 };
55
57}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
void resetStates() override
std::string getNodeType() override
void updateStates() override
TDataType::Real Real
DEF_VAR(Real, GridSpacing, Real(0.05), "")
DEF_INSTANCE_IN(LevelSet< TDataType >, LevelSet, "A 3D signed distance field")
DEF_VAR(Real, IsoValue, Real(0), "Iso value")
DEF_INSTANCE_STATE(TriangleSet< TDataType >, TriangleSet, "An iso surface")
TDataType::Coord Coord
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25