16#ifndef BT_BACKWARD_EULER_OBJECTIVE_H
17#define BT_BACKWARD_EULER_OBJECTIVE_H
111 psb->
m_nodes[j].index = node_id;
117 psb->
m_faces[j].m_index = face_id;
139 for (
int i = 0; i < vec.
size(); ++i)
141 extended_vec[i] = vec[i];
143 int offset = vec.
size();
144 for (
int i = 0; i <
m_projection.m_lagrangeMultipliers.size(); ++i)
146 extended_vec[offset + i].setZero();
153 for (
int i = 0; i < residual.
size(); ++i)
155 extended_residual[i] = residual[i];
157 int offset = residual.
size();
158 for (
int i = 0; i <
m_projection.m_lagrangeMultipliers.size(); ++i)
161 extended_residual[offset + i].setZero();
185 for (
int i = 0; i <
m_lf.size(); ++i)
188 m_lf[i]->addScaledDampingForceDifferential(-
m_dt, dv, f);
191 for (; counter < f.
size(); ++counter)
193 f[counter] = rhs[counter] - f[counter];
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())
The btSoftBody is an class to simulate cloth and volumetric soft bodies.
btVector3 can be used to represent 3D points and vectors.