28 template<
typename TDataType>
32 typedef typename TDataType::Real
Real;
33 typedef typename TDataType::Coord
Coord;
GPU supported signed distance field.
static void reconstructSDF(DArray3D< Real > &distances, Coord origin, Real h, DistanceField3D< TDataType > &sdf)
static void countVerticeNumberForOctree(DArray< uint > &num, DArray< Coord > &vertices, DArray< Real > &sdfs, Real isoValue)
static void countVerticeNumberForOctreeClipper(DArray< uint > &num, DArray< Coord > &vertices, TPlane3D< Real > plane)
static void constructTrianglesForOctree(DArray< Coord > &triangleVertices, DArray< TopologyModule::Triangle > &triangles, DArray< uint > &num, DArray< Coord > &cellVertices, DArray< Real > &sdfs, Real isoValue)
static void countVerticeNumber(DArray< int > &num, DArray3D< Real > &distances, Real isoValue)
static void constructTrianglesForOctreeClipper(DArray< Real > &vertSDFs, DArray< Coord > &triangleVertices, DArray< TopologyModule::Triangle > &triangles, DArray< uint > &num, DArray< Coord > &cellVertices, DArray< Real > &sdfs, TPlane3D< Real > plane)
static void constructTrianglesForClipper(DArray< Real > &field, DArray< Coord > &vertices, DArray< TopologyModule::Triangle > &triangles, DArray< int > &vertNum, DistanceField3D< TDataType > &sdf, TPlane3D< Real > plane)
static void countVerticeNumberForClipper(DArray< int > &num, DistanceField3D< TDataType > &sdf, TPlane3D< Real > plane)
static void constructTriangles(DArray< Coord > &vertices, DArray< TopologyModule::Triangle > &triangles, DArray< int > &vertNum, DArray3D< Real > &distances, Coord origin, Real isoValue, Real h)
2D geometric primitives in three-dimensional space
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray
Array3D< T, DeviceType::GPU > DArray3D