我的目标是应用一个函数,该函数将两个参数传递给向量,其中我为向量中的每个元素提供第二个参数。具体来说,我正在使用std :: transform函数来将btVector3乘以我的类中的变换,如下所示:
btTransform COMTransform = objectToDraw->GetRigidBody()->getCenterOfMassTransform();
const btBox2dShape *plane = static_cast<const btBox2dShape*> (objectToDraw->GetShape());
btVector3 halfSize = plane->getHalfExtentsWithMargin();
std::vector<btVector3> vertices = {
btVector3(-halfSize.x(), halfSize.y(), halfSize.z()),
btVector3(halfSize.x(), halfSize.y(), halfSize.z()),
btVector3(-halfSize.x(), -halfSize.y(), halfSize.z()),
btVector3(halfSize.x(), -halfSize.y(), halfSize.z())
};
std::transform(vertices.begin(), vertices.end(), vertices.begin(), std::bind(TransformVertices, COMTransform, std::placeholders::_2));
我绑定的转换函数是:
static btVector3 TransformVertices( const btVector3 &vertex, const btTransform &transform) {
return transform * vertex;
}
即使我把const&amp;对于我的论点。
这样做的正确方法是什么?
感谢您的帮助。