Пример #1
0
bool ProjectData::removeMesh(const std::string& name)
{
    bool mesh_found = false;
    std::vector<MeshLib::Mesh*>::iterator it = findMeshByName(name);
    while (it != _mesh_vec.end())
    {
        delete *it;
        *it = nullptr;
        it = findMeshByName(name);
        mesh_found = true;
    }

    _mesh_vec.erase(std::remove(_mesh_vec.begin(), _mesh_vec.end(), nullptr),
                    _mesh_vec.end());
    return mesh_found;
}
Пример #2
0
bool Project::removeMesh(const std::string &name)
{
    auto it = findMeshByName(name);
    if (it != _mesh_vec.end())
    {
        delete it->release();
        _mesh_vec.erase(it);
        return true;
    }
    return false;
}
Пример #3
0
bool ProjectData::meshExists(const std::string& name) const
{
    return findMeshByName(name) != _mesh_vec.end();
}
Пример #4
0
const MeshLib::Mesh* ProjectData::getMesh(const std::string& name) const
{
    std::vector<MeshLib::Mesh*>::const_iterator it = findMeshByName(name);
    return (it == _mesh_vec.end() ? nullptr : *it);
}
Пример #5
0
const MeshLib::Mesh* Project::getMesh(const std::string &name) const
{
    auto it = findMeshByName(name);
    return (it == _mesh_vec.end() ? nullptr : it->get());
}