5#include "Topology/PointSet.h"
6#include "Topology/TetrahedronSet.h"
15 template<
typename TDataType>
19 auto topo = std::make_shared<TetrahedronSet<TDataType>>();
20 this->stateTetrahedronSet()->setDataPtr(topo);
23 template<
typename TDataType>
28 template<
typename TDataType>
37 tetSet->setPoints(meshLoader.
m_points);
38 tetSet->setTetrahedrons(meshLoader.
m_tets);
42 template<
typename TDataType>
52 tetSet->setPoints(meshLoader.
m_points);
53 tetSet->setTetrahedrons(meshLoader.
m_tets);
57 template<
typename TDataType>
61 if (tetSet ==
nullptr)
return;
63 if (!this->statePosition()->isEmpty())
65 int num = this->statePosition()->size();
66 auto& pts = tetSet->getPoints();
67 if (num != pts.size())
73 pts.assign(this->statePosition()->getData(), this->statePosition()->getData().size());
78 template<
typename TDataType>
81 auto tetSet = this->stateTetrahedronSet()->getDataPtr();
82 if (tetSet ==
nullptr)
return;
84 auto& pts = tetSet->getPoints();
88 this->statePosition()->resize(pts.size());
89 this->stateVelocity()->resize(pts.size());
90 this->stateForce()->resize(pts.size());
92 this->statePosition()->getData().assign(pts);
93 this->stateVelocity()->getDataPtr()->reset();
99 template<
typename TDataType>
102 auto ptSet = this->stateTetrahedronSet()->getDataPtr();
109 template<
typename TDataType>
112 auto ptSet = this->stateTetrahedronSet()->getDataPtr();
119 template<
typename TDataType>
122 auto ptSet = this->stateTetrahedronSet()->getDataPtr();
#define DEFINE_CLASS(name)
#define IMPLEMENT_TCLASS(name, T1)
std::vector< TopologyModule::Tetrahedron > m_tets
void loadFile(std::string filename)
std::vector< Vec3f > m_points
virtual void resetStates()
void loadTetFile(std::string filename)
std::vector< TopologyModule::Tetrahedron > m_tets
void loadNodeFile(std::string filename)
std::vector< Vec3f > m_points
virtual bool scale(Real s)
virtual bool rotate(Quat< Real > q)
void resetStates() override
void loadVertexFromFile(std::string filename)
void updateTopology() override
void loadVertexFromGmshFile(std::string filename)
~TetrahedralSystem() override
virtual bool translate(Coord t)
This is an implementation of AdditiveCCD based on peridyno.