28#define Inside( a, iso, h ) \ 
   29    ((a) < float(iso - 0.001953125 * h )) 
 
   31#define Outside( a, iso, h ) \ 
   32    ((a) > float( iso + 0.001953125 * h )) 
 
   34#define OnSurface( a, iso, h ) \ 
   35    ((a) <= float( iso + 0.001953125 * h ) && (a) >= float(iso - 0.001953125 * h )) 
 
   37    template<
typename TDataType>
 
   41        typedef typename TDataType::Real 
Real;
 
   42        typedef typename TDataType::Coord 
Coord;
 
 
GPU supported signed distance field.
 
static void countVerticeNumber(DArray< int > &num, DArray3D< Real > &distances, Real isoValue, Real h)
 
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 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