QSurfaceDataProxy Class

QSurfaceDataProxy 클래스는 3D 서피스 그래프에 대한 데이터 프록시입니다. 더 보기...

Header: #include <QSurfaceDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
QML에서: SurfaceDataProxy
상속합니다: QAbstractDataProxy
Inherited By:

QHeightMapSurfaceDataProxyQItemModelSurfaceDataProxy

속성

공공 기능

QSurfaceDataProxy(QObject *parent = nullptr)
virtual ~QSurfaceDataProxy() override
qsizetype addRow(QSurfaceDataRow row)
qsizetype addRows(QSurfaceDataArray rows)
qsizetype columnCount() const
void insertRow(qsizetype rowIndex, QSurfaceDataRow row)
void insertRows(qsizetype rowIndex, QSurfaceDataArray rows)
const QSurfaceDataItem &itemAt(QPoint position) const
const QSurfaceDataItem &itemAt(qsizetype rowIndex, qsizetype columnIndex) const
void removeRows(qsizetype rowIndex, qsizetype removeCount)
void resetArray()
void resetArray(QSurfaceDataArray newArray)
qsizetype rowCount() const
QSurface3DSeries *series() const
void setItem(QPoint position, QSurfaceDataItem item)
void setItem(qsizetype rowIndex, qsizetype columnIndex, QSurfaceDataItem item)
void setRow(qsizetype rowIndex, QSurfaceDataRow row)
void setRows(qsizetype rowIndex, QSurfaceDataArray rows)

신호

void arrayReset()
void columnCountChanged(qsizetype count)
void itemChanged(qsizetype rowIndex, qsizetype columnIndex)
void rowCountChanged(qsizetype count)
void rowsAdded(qsizetype startIndex, qsizetype count)
void rowsChanged(qsizetype startIndex, qsizetype count)
void rowsInserted(qsizetype startIndex, qsizetype count)
void rowsRemoved(qsizetype startIndex, qsizetype count)
void seriesChanged(QSurface3DSeries *series)

상세 설명

서피스 데이터 프록시는 서피스 관련 데이터를 행 단위로 처리합니다. 이를 위해 두 개의 보조 유형 별칭을 제공합니다: QSurfaceDataArray 은 행을 제어하는 QList 이며, QSurfaceDataRowQSurfaceDataItem 객체를 포함하는 QList 입니다. 프록시에 데이터를 공급하는 방법에 대한 자세한 내용은 Q3DSurfaceWidgetItem 문서에서 샘플 코드를 참조하십시오. 데이터는 직렬로 저장되므로 데이터 집합에 이러한 함수를 사용하기 전에 프록시와 연결된 직렬을 만들어야 합니다.

모든 행에는 동일한 수의 항목이 있어야 합니다.

QSurfaceDataProxy는 직접 또는 QSurfaceDataArray 컨테이너에서 전달된 모든 QSurfaceDataRow 개체의 소유권을 갖습니다. 배열을 프록시에 추가한 후 서피스 데이터 행 포인터를 사용하여 데이터를 직접 수정하려면 그래프를 업데이트하기 위해 적절한 신호를 방출해야 합니다.

합리적인 서페이스를 만들려면 모든 행에서 연속되는 각 항목의 x 값이 행 전체에 걸쳐 오름차순이거나 내림차순이어야 합니다. 마찬가지로 모든 열에 있는 각 연속 항목의 z 값은 열 전체에 걸쳐 오름차순이거나 내림차순이어야 합니다.

참고: 현재는 행과 열이 직선인 서페이스만 완벽하게 지원됩니다. 전체 서페이스가 표시된 x축 또는 z축 범위 내에 완전히 맞지 않는 경우 정확히 동일한 z값을 갖지 않는 항목이 있는 행이나 정확히 동일한 x값을 갖지 않는 항목이 있는 열이 잘못 잘릴 수 있습니다.

참고: 행 또는 열이 2개 미만인 서페이스는 유효한 서페이스로 간주되지 않으며 렌더링되지 않습니다.

참고: 일부 환경에서는 그래픽 드라이버에서 지원하는 그리기당 버텍스 수를 초과하므로 보이는 버텍스 수가 많은 서페이스가 렌더링되지 않을 수 있습니다. 이는 주로 32비트 및 OpenGL ES2 플랫폼에서 발생하는 문제입니다.

Qt Graphs 3D를 사용한 데이터 처리도참조하세요 .

속성 문서

[read-only] columnCount : const qsizetype

이 속성은 데이터 배열의 열 수를 보유합니다.

액세스 함수:

qsizetype columnCount() const

알림 신호:

void columnCountChanged(qsizetype count)

[read-only] rowCount : const qsizetype

이 속성은 데이터 배열의 행 수를 보유합니다.

액세스 함수:

qsizetype rowCount() const

알림 신호:

void rowCountChanged(qsizetype count)

[read-only] series : QSurface3DSeries* const

이 프로퍼티에는 프록시가 연결된 시리즈가 저장됩니다.

함수에 액세스합니다:

QSurface3DSeries *series() const

알림 신호:

void seriesChanged(QSurface3DSeries *series)

멤버 함수 문서

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

주어진 parent 로 QSurfaceDataProxy 를 구축합니다.

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

서피스 데이터 프록시를 삭제합니다.

qsizetype QSurfaceDataProxy::addRow(QSurfaceDataRow row)

배열 끝에 새 행 row 을 추가합니다. 새 행은 초기 배열의 행과 동일한 수의 열을 가져야 합니다.

추가된 행의 인덱스를 반환합니다.

qsizetype QSurfaceDataProxy::addRows(QSurfaceDataArray rows)

배열 끝에 rows 을 새로 추가합니다. 새 행은 초기 배열의 행과 동일한 수의 열을 가져야 합니다.

처음 추가된 행의 인덱스를 반환합니다.

[signal] void QSurfaceDataProxy::arrayReset()

이 신호는 데이터 배열이 리셋될 때 발생합니다. resetArray ()를 호출하지 않고 전체 배열의 내용이 변경된 경우 그래프를 업데이트하려면 이 신호가 발생해야 합니다.

void QSurfaceDataProxy::insertRow(qsizetype rowIndex, QSurfaceDataRow row)

rowIndex 에 새 행 row 을 삽입합니다. rowIndex 이 배열 크기와 같으면 배열의 끝에 행이 추가됩니다. 새 행은 초기 배열의 행과 동일한 수의 열을 가져야 합니다.

void QSurfaceDataProxy::insertRows(qsizetype rowIndex, QSurfaceDataArray rows)

rowIndex 에 새 rows 을 삽입합니다. rowIndex 이 배열 크기와 같으면 배열 끝에 행이 추가됩니다. 새 rows 에는 초기 배열의 행과 동일한 수의 열이 있어야 합니다.

const QSurfaceDataItem &QSurfaceDataProxy::itemAt(QPoint position) const

position 위치에 있는 항목에 대한 포인터를 반환합니다. position 의 x 값은 행을 나타내고 y 값은 열을 나타냅니다. 이 항목은 데이터를 수정하는 다음 호출까지만 유효합니다.

const QSurfaceDataItem &QSurfaceDataProxy::itemAt(qsizetype rowIndex, qsizetype columnIndex) const

rowIndexcolumnIndex 에 지정된 위치에 있는 항목에 대한 포인터를 반환합니다. 데이터를 수정하는 다음 호출까지만 유효하도록 보장됩니다.

[signal] void QSurfaceDataProxy::itemChanged(qsizetype rowIndex, qsizetype columnIndex)

이 신호는 rowIndexcolumnIndex 에서 지정한 위치의 항목이 변경될 때 발생합니다. setItem ()를 호출하지 않고 배열에서 항목이 변경된 경우 그래프를 업데이트하려면 이 신호를 발생시켜야 합니다.

void QSurfaceDataProxy::removeRows(qsizetype rowIndex, qsizetype removeCount)

rowIndex 위치에서 시작하여 removeCount 에 지정된 행 수를 제거합니다. 배열의 끝을 지나 행을 제거하려고 시도하면 아무 효과가 없습니다.

void QSurfaceDataProxy::resetArray()

기존 배열을 지우고 arrayReset() 신호를 트리거합니다.

void QSurfaceDataProxy::resetArray(QSurfaceDataArray newArray)

* newArray 에서 배열을 설정합니다. 새 배열이 * 기존 배열과 같으면 이 함수는 arrayReset() 신호를 트리거하기만 하면 됩니다.

[signal] void QSurfaceDataProxy::rowsAdded(qsizetype startIndex, qsizetype count)

이 신호는 startIndex 위치에서 시작하여 count 에 지정된 행 수가 추가될 때 발생합니다. addRow () 또는 addRows()을 호출하지 않고 배열에 행을 추가하는 경우 그래프를 업데이트하려면 이 신호를 발생시켜야 합니다.

[signal] void QSurfaceDataProxy::rowsChanged(qsizetype startIndex, qsizetype count)

이 신호는 startIndex 위치에서 시작하여 count 에 지정된 행 수가 변경될 때 발생합니다. setRow () 또는 setRows()을 호출하지 않고 배열에서 행이 변경된 경우 그래프를 업데이트하려면 이 신호를 발생시켜야 합니다.

[signal] void QSurfaceDataProxy::rowsInserted(qsizetype startIndex, qsizetype count)

이 신호는 count 에 지정된 행 수가 startIndex 위치에 삽입될 때 발생합니다.

insertRow() 또는 insertRows()을 호출하지 않고 배열에 행을 삽입하는 경우 그래프를 업데이트하려면 이 신호를 발생시켜야 합니다.

[signal] void QSurfaceDataProxy::rowsRemoved(qsizetype startIndex, qsizetype count)

이 신호는 startIndex 위치에서 시작하여 count 에 지정된 행 수가 제거될 때 발생합니다.

배열의 끝에서 행이 제거된 경우 인덱스는 현재 배열 크기입니다. removeRows ()를 호출하지 않고 배열에서 행이 제거된 경우 그래프를 업데이트하려면 이 신호가 발생해야 합니다.

void QSurfaceDataProxy::setItem(QPoint position, QSurfaceDataItem item)

position 위치의 단일 항목을 item 항목으로 변경합니다. position 의 x 값은 행을 나타내고 y 값은 열을 나타냅니다.

void QSurfaceDataProxy::setItem(qsizetype rowIndex, qsizetype columnIndex, QSurfaceDataItem item)

rowIndexcolumnIndex 에서 지정한 위치의 단일 항목을 item 항목으로 변경합니다.

void QSurfaceDataProxy::setRow(qsizetype rowIndex, QSurfaceDataRow row)

rowIndex 위치의 행을 row 에서 지정한 새 행으로 대체하여 기존 행을 변경합니다. 새 행은 rowIndex 에 이미 저장된 기존 행과 동일할 수 있습니다. 새 행은 대체하는 행과 동일한 수의 열을 가져야 합니다.

void QSurfaceDataProxy::setRows(qsizetype rowIndex, QSurfaceDataArray rows)

rowIndex 위치에서 시작하는 행을 rows 에서 지정한 새 행으로 대체하여 기존 행을 변경합니다. rows 배열의 행은 rowIndex 에 이미 저장된 기존 행과 동일할 수 있습니다. 새 행은 대체하는 행과 동일한 수의 열을 가져야 합니다.

관련 비회원

[alias] QSurfaceDataArray

QSurfaceDataRow 객체에 대한 포인터 목록입니다.

[alias] QSurfaceDataRow

QSurfaceDataItem 개체 목록입니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.