PeriDyno 1.0.0
Loading...
Searching...
No Matches
TetraMeshWriter.h
Go to the documentation of this file.
1/*
2This Module is designed to output surface mesh file of TetrahedronSet;
3the output file format: obj
4*/
5
6#pragma once
9
10#include "Topology/TetrahedronSet.h"
11
12#include <string>
13#include <memory>
14
15namespace dyno
16{
17
18 template <typename TDataType> class TriangleSet;
19 template <typename TDataType> class TetrahedronSet;
20
21 template<typename TDataType>
23 {
25
26 public:
27 typedef typename TDataType::Real Real;
28 typedef typename TDataType::Coord Coord;
32
35
36 void setNamePrefix(std::string prefix);
37 void setOutputPath(std::string path);
38
40 bool updatePtr();
41
43 void output()override;
44
45 protected:
46 //void updateImpl() override;
47
48 public:
49
50
51 protected:
53 int idle_frame_num = 0; //output one file of [num]+1 frames
55 std::string file_postfix = ".obj";
56
61 std::shared_ptr<TetrahedronSet<TDataType>> ptr_TetrahedronSet;
62 clock_t last, now;
63 };
64}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
std::shared_ptr< TetrahedronSet< TDataType > > ptr_TetrahedronSet
TopologyModule::Triangle Triangle
void setOutputPath(std::string path)
DArray< Coord > * ptr_vertices
DArray< Triangle > * ptr_triangles
DArray< Tri2Tet > * ptr_tri2tet
TopologyModule::Tri2Tet Tri2Tet
void setNamePrefix(std::string prefix)
DArray< Tetrahedron > * ptr_tets
TDataType::Coord Coord
void setTetrahedronSetPtr(std::shared_ptr< TetrahedronSet< TDataType > > ptr_tets)
TopologyModule::Tetrahedron Tetrahedron
VectorND< PointType, 2 > Tri2Tet
VectorND< PointType, 4 > Tetrahedron
Vector< PointType, 3 > Triangle
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Array< T, DeviceType::GPU > DArray
Definition Array.inl:89