QSurface3DSeries Class

QSurface3DSeries クラスは、3D サーフェスグラフのデータ系列を表します。詳細...

Header: #include <QSurface3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: Surface3DSeries
Inherits: QAbstract3DSeries

パブリックタイプ

enum DrawFlag { DrawWireframe, DrawSurface, DrawSurfaceAndWireframe }
flags DrawFlags

プロパティ

パブリック関数

QSurface3DSeries(QObject *parent = nullptr)
QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QSurface3DSeries() override
void clearArray()
void clearRow(qsizetype rowIndex)
QSurfaceDataArray dataArray() &&
const QSurfaceDataArray &dataArray() const &
QSurfaceDataProxy *dataProxy() const
QSurface3DSeries::DrawFlags drawMode() const
bool isFlatShadingSupported() const
QPoint selectedPoint() const
void setDataArray(const QSurfaceDataArray &newDataArray)
void setDataProxy(QSurfaceDataProxy *proxy)
void setDrawMode(QSurface3DSeries::DrawFlags mode)
void setSelectedPoint(QPoint position)
void setShading(const QSurface3DSeries::Shading shading)
void setTexture(const QImage &texture)
void setTextureFile(const QString &filename)
void setWireframeColor(QColor color)
QSurface3DSeries::Shading shading() const
QImage texture() const
QString textureFile() const
QColor wireframeColor() const

シグナル

void dataArrayChanged(const QSurfaceDataArray &array)
void dataProxyChanged(QSurfaceDataProxy *proxy)
void drawModeChanged(QSurface3DSeries::DrawFlags mode)
void flatShadingSupportedChanged(bool enabled)
void selectedPointChanged(QPoint position)
void shadingChanged(const QSurface3DSeries::Shading shading)
void textureChanged(const QImage &image)
void textureFileChanged(const QString &filename)
void wireframeColorChanged(QColor color)

静的パブリックメンバー

詳細説明

このクラスは、シリーズ固有のビジュアル要素と、(データプロキシを介した)シリーズデータを管理します。

プロキシとシリーズの関係については、いくつかの重要なポイントを強調することが重要です。このコンテキストでは、データは系列に格納され、ユーザは系列を通してデータセットにアクセスできる。この系列はプロキシオブジェクトによって制御または表現される。したがって、このプロキシを使って、データに対するさまざまな操作を管理し、実際のデータセットを更新することができる。ただし、データセットを編集するには、このプロキシに関連付けられた系列を作成する必要がある。

シリーズに明示的にデータプロキシが設定されていない場合、シリーズはデフォルトのプロキシを作成する。別のプロキシを設定すると、既存のプロキシとシリーズに追加されたすべてのデータが破壊される。

QAbstract3DSeries::mesh プロパティで設定されたオブジェクトメッシュは、サーフェスシリーズの選択ポインタ形状を定義します。

QSurface3DSeriesは、QAbstract3DSeries::setItemLabelFormat()で以下のフォーマットタグをサポートしています:

xTitlex 軸からのタイトル
yTitley 軸からのタイトル
zTitlez軸からのタイトル
xLabelx軸のフォーマットでフォーマットされた項目値。詳細については、QValue3DAxis::setLabelFormat()を参照。
yLabely 軸の書式を使用してフォーマットされた項目値。詳細については、QValue3DAxis::setLabelFormat()を参照。
zLabelz 軸のフォーマットでフォーマットされた項目値。詳細はQValue3DAxis::setLabelFormat() を参照。
シリーズ名系列の名前。

例えば:

proxy->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowLabel, @colLabel): %.1f"));

Qt Graphs Data Handling with 3Dも参照してください

メンバ型ドキュメント

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

サーフェスの描画モード。この列挙の値は OR 演算子と組み合わせることができます。

定数説明
QSurface3DSeries::DrawWireframe1グリッドのみが描画されます。
QSurface3DSeries::DrawSurface2サーフェスのみが描画される。
QSurface3DSeries::DrawSurfaceAndWireframeDrawWireframe | DrawSurfaceサーフェスとグリッドの両方が描画される。

DrawFlags型はQFlags<DrawFlag>のtypedefである。DrawFlagの値のORの組み合わせを格納する。

プロパティの説明

dataArray : QSurfaceDataArray

系列のデータ配列。

データ配列の参照を保持する。

dataArrayChanged シグナルは、データ配列が設定されたときに発せられる。ただし、newDataArray が前のものと同じである場合を除く。

注: dataArrayに関して何かを行う前に、関連するプロキシに対してシリーズを作成する必要があります。

アクセス関数:

const QSurfaceDataArray &dataArray() const &
QSurfaceDataArray dataArray() &&
void setDataArray(const QSurfaceDataArray &newDataArray)

通知シグナル:

void dataArrayChanged(const QSurfaceDataArray &array)

clearRow(qsizetype rowIndex) およびclearArray()も参照のこと

dataProxy : QSurfaceDataProxy*

このプロパティは、アクティブなデータプロキシを保持する。

シリーズは、それに設定されたプロキシの所有権を引き受け、新しいプロキシが追加されると、以前に設定されたプロキシを削除します。プロキシをNULLにしたり、他の系列に設定したりすることはできません。

アクセス関数:

QSurfaceDataProxy *dataProxy() const
void setDataProxy(QSurfaceDataProxy *proxy)

通知シグナル:

void dataProxyChanged(QSurfaceDataProxy *proxy)

drawMode : QSurface3DSeries::DrawFlags

描画モード。

設定可能な値はDrawFlag の値。 すべてのフラグをクリアすることはできない。

アクセス関数:

QSurface3DSeries::DrawFlags drawMode() const
void setDrawMode(QSurface3DSeries::DrawFlags mode)

アクセス関数:ノーティファイアシグナル:

void drawModeChanged(QSurface3DSeries::DrawFlags mode)

[read-only] flatShadingSupported : const bool

このプロパティは、サーフェスのフラットシェーディングが現在のシステムでサポートされているかどうかを保持します。

サーフェスのフラットシェーディングには、少なくとも GL_EXT_gpu_shader4 拡張を持つ GLSL バージョン 1.2 が必要です。true の場合、サーフェスのフラットシェーディングがサポートされます。

注意: この読み取り専用プロパティは、最初のレンダーパスの後に正しい値に設定されます。それまでは常にtrue です。

アクセス関数:

bool isFlatShadingSupported() const

通知シグナル:

void flatShadingSupportedChanged(bool enabled)

selectedPoint : QPoint

このプロパティは、シリーズで選択されているサーフェスグリッドポイントを保持します。

行と列で指定されたシリーズのデータ配列の位置position にサーフェスグリッドポイントを選択する。

一度に選択できる点は1点のみである。

この系列から選択を解除するには、invalidSelectionPosition() をposition とする。この系列がグラフに追加された場合、グラフはユーザーの操作に応じて、あるいは無効となった場合に選択を調整することができる。

選択されたポイントの行の前に系列から行を削除したり、系列に行を挿入したりすると、同じポイントが選択されたままになるように選択が調整される。

アクセス機能

QPoint selectedPoint() const
void setSelectedPoint(QPoint position)

通知シグナル:

void selectedPointChanged(QPoint position)

Q3DGraphsWidgetItem::clearSelection()も参照

shading : QSurface3DSeries::Shading

このプロパティは、サーフェスフラットシェーディングが有効かどうかを保持します。

デフォルトではQSurface3DSeries::Shading::Flat に設定されています。

無効の場合、サーフェスの法線は補間され、エッジが丸く見えます。可視の場合、法線は三角形上で同じに保たれ、三角形の色はベタになります。これにより、モデルからデータがより読みやすくなります。

注意: フラットシェーディングサーフェスには、少なくともGLSLバージョン1.2とGL_EXT_gpu_shader4エクステンションが必要です。flatShadingSupported プロパティの値は、実行時にフラットシェーディングがサポートされているかどうかを示します。

アクセス関数

QSurface3DSeries::Shading shading() const
void setShading(const QSurface3DSeries::Shading shading)

Notifierシグナル:

void shadingChanged(const QSurface3DSeries::Shading shading)

texture : QImage

このプロパティは、サーフェスのテクスチャをQImage として保持します。

空のQImage を設定すると、テクスチャはクリアされます。

アクセス関数:

QImage texture() const
void setTexture(const QImage &texture)

ノーティファイアシグナル:

void textureChanged(const QImage &image)

textureFile : QString

このプロパティはサーフェスのテクスチャをファイルとして保持します。

空のファイル名を設定すると、テクスチャはクリアされます。

アクセス関数

QString textureFile() const
void setTextureFile(const QString &filename)

通知シグナル

void textureFileChanged(const QString &filename)

wireframeColor : QColor

このプロパティは、サーフェスのワイヤーフレームの色を保持します。

アクセス関数

QColor wireframeColor() const
void setWireframeColor(QColor color)

ノーティファイアシグナル

void wireframeColorChanged(QColor color)

メンバ関数ドキュメント

[explicit] QSurface3DSeries::QSurface3DSeries(QObject *parent = nullptr)

サーフェス 3D シリーズを親parent で構築します。

[explicit] QSurface3DSeries::QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)

データプロキシdataProxy と親parent でサーフェス 3D シリーズを構築します。

[override virtual noexcept] QSurface3DSeries::~QSurface3DSeries()

サーフェス 3D シリーズを削除します。

void QSurface3DSeries::clearArray()

既存の配列をクリアします。

void QSurface3DSeries::clearRow(qsizetype rowIndex)

指定されたrowIndex に従って、配列の既存の行をクリアします。

[static] QPoint QSurface3DSeries::invalidSelectionPosition()

無効な選択位置を示すQPoint を返す。これをselectedPoint プロパティに設定すると、このシリーズからの選択が解除されます。

Q3DGraphsWidgetItem::clearSelection()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。