INNER CODE UNIT · C++
pos
mosra/magnum-integration · src/Magnum/DartIntegration/ConvertShapeNode.cpp:366
const Eigen::Vector3d& pos = bn->getPointMass(i)->getLocalPosition();
positions[i] = Vector3{Vector3d{pos}};
}
/* Create indices */
Containers::Array<char> indexData{NoInit,
sizeof(UnsignedInt)*bn->getNumFaces()*3};
auto indices = Containers::arrayCast<UnsignedInt>(indexData);
for(UnsignedInt i = 0; i < bn->getNumFaces(); ++i) {
const Eigen::Vector3i& F = bn->getFace(i);
indices[i*3 + 0] = F[0];
indices[i*3 + 1] = F[1];
indices[i*3 + 2] = F[2];
}
/* Generate smooth normals */
MeshTools::generateSmoothNormalsInto(Containers::StridedArrayView1D<const UnsignedInt>{indices}, positions, normals);