6#include "Topology/TriangleSet.h"
10 template<
typename TDataType>
15 typedef typename TDataType::Real
Real;
16 typedef typename TDataType::Coord
Coord;
17 typedef typename ::dyno::Transform<Real, 3>
Transform;
22 if (this->outPolygon2Triangles()->isEmpty())
24 this->outPolygon2Triangles()->allocate();
29 std::string
caption()
override {
return "PolygonSetToTriangleSetModule"; }
44 auto& poly2tri = this->outPolygon2Triangles()->getData();
45 convert(this->inPolygonSet()->constDataPtr(), this->outTriangleSet()->getDataPtr(), poly2tri);
54 template<
typename TDataType>
59 typedef typename TDataType::Real
Real;
60 typedef typename TDataType::Coord
Coord;
64 std::string
caption()
override {
return "PolygonSetToTriangleSet"; }
77 if (this->statePolygon2Triangles()->isEmpty())
79 this->statePolygon2Triangles()->allocate();
81 auto& poly2triId = this->statePolygon2Triangles()->getData();
#define DECLARE_TCLASS(name, T1)
#define IMPLEMENT_TCLASS(name, T1)
a class to store polygon whose vertex number is greater or equal than 3
std::string caption() override
Return the caption.
DEF_INSTANCE_IN(PolygonSet< TDataType >, PolygonSet, "")
PolygonSetToTriangleSetModule()
void convert(std::shared_ptr< PolygonSet< TDataType > > polygonset, std::shared_ptr< TriangleSet< TDataType > > triset, DArrayList< uint > &poly2tri)
~PolygonSetToTriangleSetModule()
DEF_ARRAYLIST_OUT(uint, Polygon2Triangles, DeviceType::GPU, "")
::dyno::Transform< Real, 3 > Transform
DEF_INSTANCE_OUT(TriangleSet< TDataType >, TriangleSet, "")
DEF_INSTANCE_IN(PolygonSet< TDataType >, PolygonSet, "")
std::shared_ptr< PolygonSetToTriangleSetModule< DataType3f > > mPolygonSetToTriangleSetMoudle
void resetStates() override
PolygonSetToTriangleSetNode()
DEF_INSTANCE_STATE(TriangleSet< TDataType >, TriangleSet, "")
std::string caption() override
Return the caption.
void updateStates() override
DEF_ARRAYLIST_STATE(uint, Polygon2Triangles, DeviceType::GPU,"")
This is an implementation of AdditiveCCD based on peridyno.
ArrayList< ElementType, DeviceType::GPU > DArrayList