84 unsigned long long int cells;
89 unsigned long long int fields;
94 unsigned long long int nodes0;
103 for (
unsigned int i = 0; i <
n_nodes0; i++)
109 for (
int j = 0;
j < nodes.
size();
j++)
111 double& node = nodes[
j];
180 unsigned int k = l /
n01;
181 unsigned int temp = l %
n01;
436 dN.bottomRowsMul(32u - 8u, 9.0 / 64.0);
484 for (
unsigned int j = 0
u;
j < 32u; ++
j)
486 unsigned int v =
cell.m_cells[
j];
505 for (
unsigned int j = 0
u;
j < 32u; ++
j)
507 unsigned int v =
cell.m_cells[
j];
515 (*gradient)[0] += c *
dN(
j, 0);
516 (*gradient)[1] += c *
dN(
j, 1);
517 (*gradient)[2] += c *
dN(
j, 2);
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const T & btMax(const T &a, const T &b)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
int size() const
return the number of elements in the array
void resize(int newsize, const T &fillData=T())
btVector3 can be used to represent 3D points and vectors.
const btVector3 & min() const
bool contains(const btVector3 &x) const
btVector3 m_inv_cell_size
btShapeMatrix shape_function_(btVector3 const &xi, btShapeGradients *gradient=0) const
bool load(const char *data, int size)
unsigned int multiToSingleIndex(btMultiIndex const &ijk) const
bool interpolate(unsigned int field_id, double &dist, btVector3 const &x, btVector3 *gradient) const
btMultiIndex singleToMultiIndex(unsigned int l) const
btAlignedBox3d subdomain(btMultiIndex const &ijk) const
unsigned int m_resolution[3]
btAlignedObjectArray< btAlignedObjectArray< btCell32 > > m_cells
btAlignedObjectArray< btAlignedObjectArray< double > > m_nodes
btAlignedObjectArray< btAlignedObjectArray< unsigned int > > m_cell_map
btSdfDataStream(const char *data, int size)
void topRowsDivide(int row, double denom)