Skip to content

File BandEdgeMaterial.hpp

File List > materials > BandEdgeMaterial.hpp

Go to the documentation of this file

//
// SPDX-FileCopyrightText: 2026 Michal Grabarczyk
// SPDX-License-Identifier: GPL-3.0-only WITH Universal-FOSS-exception-1.0
//
// This file is also available under a separate commercial license.
// See COMMERCIAL-LICENSING.md for contact information.
//
#pragma once

#include "QAccelPlot/materials/LineMaterial.hpp"

namespace QAccelPlot {

class BandEdgeMaterial : public LineMaterial {
public:
    enum class Edge { Lower, Upper };

    explicit BandEdgeMaterial(Edge edge);

    Edge edge() const;

    QSGMaterialType* type() const override;
    QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;

private:
    Edge edge_;
};

} // namespace QAccelPlot