Code: Select all
m_nodes.reserve(m_nodes.size()*2+1);
Code: Select all
m_nodes.reserve(m_nodes.size()+1);
Code: Select all
void btSoftBody::appendNode( const btVector3& x,btScalar m)
{
if(m_nodes.capacity()==m_nodes.size())
{
pointersToIndices();
m_nodes.reserve(m_nodes.size()*2+1);
indicesToPointers();
}
const btScalar margin=getCollisionShape()->getMargin();
m_nodes.push_back(Node());
Node& n=m_nodes[m_nodes.size()-1];
ZeroInitialize(n);
n.m_x = x;
n.m_q = n.m_x;
n.m_im = m>0?1/m:0;
n.m_material = m_materials[0];
n.m_leaf = m_ndbvt.insert(btDbvtVolume::FromCR(n.m_x,margin),&n);
}