INNER CODE UNIT · C++

meshData

mosra/magnum-integration · src/Magnum/DartIntegration/ConvertShapeNode.cpp:247

            Containers::Optional<Trade::MeshData> meshData = importer->mesh(meshMaterial.first());
            if(!meshData) {
                Error{} << "DartIntegration::convertShapeNode(): could not load mesh with index" << meshMaterial.first();
                return Containers::NullOpt;
            }

            if(convertTypes & ConvertShapeType::Material) {
                auto colorMode = meshShape->getColorMode();
                /* Only get materials from mesh if the appropriate color mode */
                if(importer->materialCount() && convertTypes & ConvertShapeType::Material) {
                    if(colorMode == dart::dynamics::MeshShape::ColorMode::MATERIAL_COLOR) {
                        /* Assuming AssimpImporter, which has no concept of
                           unassigned materials */
                        CORRADE_INTERNAL_ASSERT(meshMaterial.second() != -1);
                        Containers::Optional<Trade::MaterialData> material = importer->material(meshMaterial.second());
                        if(material) {
                            materials[i] = std::move(*material).as<Trade::PhongMaterialData>();
                        } else {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…