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);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…