Custom3DVolume QML Type

그래프에 볼륨 렌더링된 개체를 추가합니다. 더 보기...

Import Statement: import QtGraphs
In C++: QCustom3DVolume
Inherits:

Custom3DItem

속성

신호

상세 설명

볼륨 렌더링 오브젝트는 3D 텍스처가 있는 상자입니다. 볼륨에는 볼륨의 각 주축을 따라 하나씩 세 개의 슬라이스 평면이 지원됩니다.

볼륨 오브젝트 렌더링은 특히 볼륨의 내용이 레이 트레이싱되기 때문에 볼륨이 대부분 투명할 때 성능 집약적입니다. 성능은 볼륨이 화면에서 차지하는 픽셀의 양에 따라 거의 선형적으로 확장되므로 볼륨을 더 작은 보기로 표시하거나 그래프의 줌 수준을 제한하는 것이 성능을 개선하는 쉬운 방법입니다. 마찬가지로 볼륨 텍스처 크기도 성능에 큰 영향을 미칩니다. 볼륨 콘텐츠의 완벽한 픽셀 렌더링보다 프레임 속도가 더 중요한 경우 useHighDefShader 속성을 false 으로 설정하여 고화질 셰이더를 끄는 것이 좋습니다.

참고: 볼륨 데이터를 채우는 작업은 일반적으로 순수 QML에서는 효율적이거나 실용적이지 않으므로 이와 직접 관련된 프로퍼티는 QML에서 완전히 지원되지 않습니다. Qt Quick UI에서 볼륨 개체를 사용하려면 하이브리드 QML/C++ 애플리케이션을 만드세요.

참고: 볼류메트릭 오브젝트는 3D 텍스처를 활용하는데, 이는 OpenGL ES2 환경에서는 지원되지 않습니다.

useHighDefShader참조하세요 .

프로퍼티 문서

alphaMultiplier : real

볼륨 텍스처의 모든 텍셀의 알파 값은 렌더링 시 이 값에 곱해집니다. 볼륨에 균일한 투명도를 도입하는 데 사용할 수 있습니다. preserveOpacitytrue 인 경우 최소한의 투명도가 있는 텍셀만 영향을 받으며 완전히 불투명한 텍셀은 영향을 받지 않습니다. 이 값은 음수가 아니어야 합니다. 기본값은 1.0 입니다.

preserveOpacity참조하세요 .


drawSliceFrames : bool

이 속성 값이 true 인 경우 슬라이스 인덱스 속성으로 표시된 슬라이스 프레임이 볼륨 주위에 그려집니다. false 인 경우 슬라이스 프레임이 그려지지 않습니다. 슬라이스 프레임 그리기는 슬라이스 그리기와는 별개이므로 전체 볼륨을 표시하고도 그 주위에 슬라이스 프레임을 그릴 수 있습니다. 기본값은 false 입니다.

sliceIndexX, sliceIndexY, sliceIndexZ, drawSlices참조하세요 .


drawSlices : bool

이 속성 값이 true 인 경우 전체 볼륨 대신 슬라이스 인덱스 속성으로 표시된 슬라이스가 그려집니다. false 인 경우 항상 전체 볼륨이 그려집니다. 기본값은 false 입니다.

참고: 슬라이스는 항상 항목 축을 따라 그려지므로 항목이 회전하면 슬라이스도 회전합니다.

sliceIndexX, sliceIndexY, sliceIndexZ참조하세요 .


preserveOpacity : bool

이 속성 값이 true 인 경우 alphaMultiplier 은 이미 일부 투명도가 있는 텍셀에만 적용됩니다. false 인 경우 승수는 모든 텍셀의 알파 값에 적용됩니다. 기본값은 true 입니다.

alphaMultiplier참조하세요 .


sliceFrameColor : color

슬라이스 프레임의 색상입니다. 투명한 슬라이스 프레임 색상은 지원되지 않습니다.

기본값은 검은색입니다.

drawSliceFrames도 참조하십시오 .


sliceFrameGaps : vector3d

각 치수에서 볼륨 자체와 프레임 사이에 남는 에어 갭의 크기입니다. 이 간격은 치수마다 다를 수 있습니다. 값은 동일한 치수의 볼륨 두께의 분수입니다. 값은 음수가 될 수 없습니다.

기본값은 vector3d(0.01, 0.01, 0.01) 입니다.

drawSliceFrames참조하십시오 .


sliceFrameThicknesses : vector3d

각 치수에 대한 슬라이스 프레임의 두께입니다. 값은 동일한 치수의 볼륨 두께의 분수입니다. 값은 음수일 수 없습니다.

기본값은 vector3d(0.01, 0.01, 0.01) 입니다.

drawSliceFrames참조하십시오 .


sliceFrameWidths : vector3d

슬라이스 프레임의 너비입니다. 너비는 치수마다 다를 수 있으므로 예를 들어 해당 치수의 값을 0으로 설정하여 볼륨의 특정 면에 프레임을 그리는 것을 생략할 수 있습니다. 값은 동일한 치수의 볼륨 두께의 분수입니다. 값은 음수가 될 수 없습니다.

기본값은 vector3d(0.01, 0.01, 0.01) 입니다.

drawSliceFrames참조하세요 .


sliceIndexX : int

표시할 세로 슬라이스를 나타내는 텍스처 데이터의 X-차원 인덱스입니다. 치수를 음수로 설정하면 해당 치수에 대한 슬라이스 또는 슬라이스 프레임이 그려지지 않습니다. 모든 치수가 음수이면 슬라이스나 슬라이스 프레임이 그려지지 않고 볼륨이 정상적으로 그려집니다. 기본값은 -1 입니다.

QCustom3DVolume::textureData, drawSlices, drawSliceFrames참조하십시오 .


sliceIndexY : int

표시할 가로 슬라이스를 나타내는 텍스처 데이터의 Y 치수 인덱스입니다. 치수를 음수로 설정하면 해당 치수에 대한 슬라이스 또는 슬라이스 프레임이 그려지지 않습니다. 모든 치수가 음수이면 슬라이스나 슬라이스 프레임이 그려지지 않고 볼륨이 정상적으로 그려집니다. 기본값은 -1 입니다.

QCustom3DVolume::textureData, drawSlices, drawSliceFrames참조하세요 .


sliceIndexZ : int

표시할 수직 슬라이스를 나타내는 텍스처 데이터의 z-차원 인덱스입니다. 치수를 음수로 설정하면 해당 치수에 대한 슬라이스 또는 슬라이스 프레임이 그려지지 않습니다. 모든 치수가 음수이면 슬라이스나 슬라이스 프레임이 그려지지 않고 볼륨이 정상적으로 그려집니다. 기본값은 -1 입니다.

QCustom3DVolume::textureData, drawSlices, drawSliceFrames참조하십시오 .


textureDepth : int

볼륨 콘텐츠를 픽셀 단위로 정의하는 3D 텍스처의 깊이입니다. 기본값은 0 입니다.

참고: 텍스처 데이터의 크기를 적절히 조정할 수 없으므로 QML에서 이 프로퍼티를 변경하는 것은 지원되지 않습니다.


textureHeight : int

볼륨 콘텐츠를 픽셀 단위로 정의하는 3D 텍스처의 높이입니다. 기본값은 0 입니다.

참고: 텍스처 데이터의 크기를 적절히 조정할 수 없으므로 QML에서 이 프로퍼티를 변경하는 것은 지원되지 않습니다.


textureWidth : int

볼륨 콘텐츠를 픽셀 단위로 정의하는 3D 텍스처의 너비입니다. 기본값은 0 입니다.

참고: 텍스처 데이터의 크기를 적절히 조정할 수 없으므로 QML에서 이 프로퍼티를 변경하는 것은 지원되지 않습니다.


useHighDefShader : bool

이 속성 값이 true 인 경우 고해상도 셰이더가 볼륨을 렌더링하는 데 사용됩니다. false 인 경우 저해상도 셰이더가 사용됩니다.

고화질 셰이더는 볼륨이 렌더링될 때 볼륨 텍스처의 보이는 모든 텍셀이 샘플링되도록 보장합니다. 저해상도 셰이더는 볼륨 콘텐츠의 대략적인 근사치만 렌더링하지만 훨씬 더 높은 프레임 속도로 렌더링합니다. 저해상도 셰이더는 볼륨 텍스처의 모든 텍셀이 샘플링되는 것을 보장하지 않으므로 볼륨에 뚜렷한 얇은 피처가 포함된 경우 깜박임이 발생할 수 있습니다.

참고: 이 값은 볼륨 슬라이스를 렌더링할 때 디테일 레벨에 영향을 주지 않습니다.

기본값은 true 입니다.


신호 문서

alphaMultiplierChanged(float mult)

이 신호는 alphaMultipliermult 로 변경될 때 발생합니다.

참고: 해당 핸들러는 onAlphaMultiplierChanged 입니다.


drawSliceFramesChanged(bool enabled)

drawSliceFramesenabled 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onDrawSliceFramesChanged 입니다.


drawSlicesChanged(bool enabled)

drawSlicesenabled 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onDrawSlicesChanged 입니다.


preserveOpacityChanged(bool enabled)

preserveOpacityenabled 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onPreserveOpacityChanged 입니다.


sliceFrameColorChanged(color color)

sliceFrameColorcolor 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceFrameColorChanged 입니다.


sliceFrameGapsChanged(vector3d values)

sliceFrameGapsvalues 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceFrameGapsChanged 입니다.


sliceFrameThicknessesChanged(vector3d values)

sliceFrameThicknessesvalues 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceFrameThicknessesChanged 입니다.


sliceFrameWidthsChanged(vector3d values)

sliceFrameWidthsvalues 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceFrameWidthsChanged 입니다.


sliceIndexXChanged(int value)

sliceIndexXvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceIndexXChanged 입니다.


sliceIndexYChanged(int value)

sliceIndexYvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceIndexYChanged 입니다.


sliceIndexZChanged(int value)

sliceIndexZvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onSliceIndexZChanged 입니다.


textureDepthChanged(int value)

textureDepthvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onTextureDepthChanged 입니다.


textureHeightChanged(int value)

textureHeightvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onTextureHeightChanged 입니다.


textureWidthChanged(int value)

textureWidthvalue 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onTextureWidthChanged 입니다.


useHighDefShaderChanged(bool enabled)

useHighDefShaderenabled 으로 변경될 때 이 신호가 전송됩니다.

참고: 해당 핸들러는 onUseHighDefShaderChanged 입니다.


© 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.