24#include "Topology/EdgeSet.h"
28 template<
typename Real>
55 template<
typename Real,
typename Coord, DeviceType deviceType,
typename IndexType>
58 template<
typename Real,
typename Coord, DeviceType deviceType,
typename IndexType>
83 template<
typename Real,
typename Coord, DeviceType deviceType,
typename IndexType>
Implementation of quaternion.
This class is designed to be elegant, so it can be directly passed to GPU as parameters.
Be aware do not use this structure on GPU if the data size is large.
This is an implementation of AdditiveCCD based on peridyno.
DYN_FUNC bool calculateSignedDistance2TriangleSet(ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Triangle, deviceType > &indices, List< IndexType > &list, Real dHat=0)
Calculate the signed distance from a point to a triangular mesh.
DYN_FUNC bool calculateDistance2TriangleSet(ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Triangle, deviceType > &indices, List< IndexType > &list, Real dHat=0)
Calculate the distance from a point to a triangular mesh.
DYN_FUNC bool calculateSignedDistance2TriangleSetFromNormal(ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Edge, deviceType > &edges, Array< TopologyModule::Triangle, deviceType > &triangles, Array< TopologyModule::Tri2Edg, deviceType > &t2e, Array< Coord, deviceType > &edgeNormal, Array< Coord, deviceType > &vertexNormal, List< IndexType > &list, Real dHat=0)
Vector< Real, 2 > Coord2D
Vector< Real, 3 > Coord3D