Blender
V3.3
|
#include <btMiniSDF.h>
Public Member Functions | |
btMiniSDF () | |
bool | load (const char *data, int size) |
bool | isValid () const |
unsigned int | multiToSingleIndex (btMultiIndex const &ijk) const |
btAlignedBox3d | subdomain (btMultiIndex const &ijk) const |
btMultiIndex | singleToMultiIndex (unsigned int l) const |
btAlignedBox3d | subdomain (unsigned int l) const |
btShapeMatrix | shape_function_ (btVector3 const &xi, btShapeGradients *gradient=0) const |
bool | interpolate (unsigned int field_id, double &dist, btVector3 const &x, btVector3 *gradient) const |
Public Attributes | |
btAlignedBox3d | m_domain |
unsigned int | m_resolution [3] |
btVector3 | m_cell_size |
btVector3 | m_inv_cell_size |
std::size_t | m_n_cells |
std::size_t | m_n_fields |
bool | m_isValid |
btAlignedObjectArray< btAlignedObjectArray< double > > | m_nodes |
btAlignedObjectArray< btAlignedObjectArray< btCell32 > > | m_cells |
btAlignedObjectArray< btAlignedObjectArray< unsigned int > > | m_cell_map |
Definition at line 90 of file btMiniSDF.h.
|
inline |
Definition at line 104 of file btMiniSDF.h.
bool btMiniSDF::interpolate | ( | unsigned int | field_id, |
double & | dist, | ||
btVector3 const & | x, | ||
btVector3 * | gradient | ||
) | const |
Definition at line 442 of file btMiniSDF.cpp.
References btAssert, btVector3, Freestyle::c, btAlignedBox3d::contains(), btMultiIndex::ijk, m_cell_map, btCell32::m_cells, m_cells, m_domain, m_inv_cell_size, m_isValid, btAlignedBox3d::m_max, btAlignedBox3d::m_min, m_nodes, m_resolution, btAlignedBox3d::max(), btAlignedBox3d::min(), multiToSingleIndex(), N, shape_function_(), subdomain(), UINT_MAX, v, and x.
Referenced by btSdfCollisionShape::queryPoint().
|
inline |
Definition at line 109 of file btMiniSDF.h.
References m_isValid.
Referenced by btSdfCollisionShape::getAabb().
bool btMiniSDF::load | ( | const char * | data, |
int | size | ||
) |
Definition at line 45 of file btMiniSDF.cpp.
References data, m_cell_map, m_cell_size, m_cells, btSdfDataStream::m_currentOffset, m_domain, m_inv_cell_size, m_isValid, btAlignedBox3d::m_max, btAlignedBox3d::m_min, m_n_cells, m_n_fields, m_nodes, m_resolution, btSdfDataStream::m_size, node, btSdfDataStream::read(), btAlignedObjectArray< T >::resize(), btAlignedObjectArray< T >::size(), and size().
Referenced by btSdfCollisionShape::initializeSDF().
unsigned int btMiniSDF::multiToSingleIndex | ( | btMultiIndex const & | ijk | ) | const |
Definition at line 155 of file btMiniSDF.cpp.
References btMultiIndex::ijk, and m_resolution.
Referenced by interpolate().
btShapeMatrix btMiniSDF::shape_function_ | ( | btVector3 const & | xi, |
btShapeGradients * | gradient = 0 |
||
) | const |
Definition at line 199 of file btMiniSDF.cpp.
References btShapeGradients::bottomRowsMul(), btAssert, m_isValid, btShapeGradients::topRowsDivide(), x, x2, y, and z.
Referenced by interpolate().
btMultiIndex btMiniSDF::singleToMultiIndex | ( | unsigned int | l | ) | const |
Definition at line 176 of file btMiniSDF.cpp.
References btAssert, btMultiIndex::ijk, l, m_isValid, and m_resolution.
Referenced by subdomain().
btAlignedBox3d btMiniSDF::subdomain | ( | btMultiIndex const & | ijk | ) | const |
Definition at line 161 of file btMiniSDF.cpp.
References btAssert, btVector3, double(), btMultiIndex::ijk, m_cell_size, m_domain, m_isValid, and btAlignedBox3d::min().
Referenced by interpolate(), and subdomain().
btAlignedBox3d btMiniSDF::subdomain | ( | unsigned int | l | ) | const |
Definition at line 192 of file btMiniSDF.cpp.
References btAssert, l, m_isValid, singleToMultiIndex(), and subdomain().
btAlignedObjectArray<btAlignedObjectArray<unsigned int> > btMiniSDF::m_cell_map |
Definition at line 102 of file btMiniSDF.h.
Referenced by interpolate(), and load().
btVector3 btMiniSDF::m_cell_size |
Definition at line 94 of file btMiniSDF.h.
Referenced by load(), and subdomain().
btAlignedObjectArray<btAlignedObjectArray<btCell32> > btMiniSDF::m_cells |
Definition at line 101 of file btMiniSDF.h.
Referenced by interpolate(), and load().
btAlignedBox3d btMiniSDF::m_domain |
Definition at line 92 of file btMiniSDF.h.
Referenced by btSdfCollisionShape::getAabb(), interpolate(), load(), and subdomain().
btVector3 btMiniSDF::m_inv_cell_size |
Definition at line 95 of file btMiniSDF.h.
Referenced by interpolate(), and load().
bool btMiniSDF::m_isValid |
Definition at line 98 of file btMiniSDF.h.
Referenced by interpolate(), isValid(), load(), shape_function_(), singleToMultiIndex(), and subdomain().
std::size_t btMiniSDF::m_n_cells |
Definition at line 96 of file btMiniSDF.h.
Referenced by load().
std::size_t btMiniSDF::m_n_fields |
Definition at line 97 of file btMiniSDF.h.
Referenced by load().
btAlignedObjectArray<btAlignedObjectArray<double> > btMiniSDF::m_nodes |
Definition at line 100 of file btMiniSDF.h.
Referenced by interpolate(), and load().
unsigned int btMiniSDF::m_resolution[3] |
Definition at line 93 of file btMiniSDF.h.
Referenced by interpolate(), load(), multiToSingleIndex(), and singleToMultiIndex().