PeriDyno 1.0.0
Loading...
Searching...
No Matches
TriangularSystem.cpp
Go to the documentation of this file.
1#include "TriangularSystem.h"
2#include "Topology/PointSet.h"
4#include "Topology/TetrahedronSet.h"
6
9
10namespace dyno
11{
12 template<typename TDataType>
14 : Node()
15 {
16 //Create a node for surface mesh rendering
17 auto triSet = std::make_shared<TriangleSet<TDataType>>();
18 this->stateTriangleSet()->setDataPtr(triSet);
19 }
20
21 template<typename TDataType>
25
26 template<typename TDataType>
28 {
29 this->stateTriangleSet()->getDataPtr()->loadObjFile(filename);
30 }
31
32 template<typename TDataType>
34 {
35 auto triSet = this->stateTriangleSet()->getDataPtr();
36 triSet->translate(t);
37
38 return true;
39 }
40
41 template<typename TDataType>
43 {
44 auto triSet = this->stateTriangleSet()->getDataPtr();
45 triSet->scale(s);
46
47 return true;
48 }
49
50 template<typename TDataType>
52 {
53 auto triSet = this->stateTriangleSet()->getDataPtr();
54 if (triSet == nullptr) return;
55
56 auto& pts = triSet->getPoints();
57
58 if (pts.size() > 0)
59 {
60 this->statePosition()->resize(pts.size());
61 this->stateVelocity()->resize(pts.size());
62
63 this->statePosition()->getData().assign(pts);
64 this->stateVelocity()->getDataPtr()->reset();
65 }
66
68 }
69
70 template<typename TDataType>
72 {
73 auto triSet = this->stateTriangleSet()->getDataPtr();
74
75 triSet->getPoints().assign(this->statePosition()->getData());
76 }
77
79}
#define DEFINE_CLASS(name)
Definition Object.h:140
virtual void resetStates()
Definition Node.cpp:214
void postUpdateStates() override
virtual bool translate(Coord t)
void loadSurface(std::string filename)
virtual bool scale(Real s)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25