QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCaster3D 씬에서 광선 캐스팅을 위한 추상 베이스 클래스입니다. 더 보기...
Header: | #include <QAbstractRayCaster> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
QML에서: | AbstractRayCaster |
상속합니다: | Qt3DCore::QComponent |
Inherited By: | |
Status: | Deprecated |
공개 유형
enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
enum | RunMode { Continuous, SingleShot } |
속성
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : const Qt3DRender::QAbstractRayCaster::Hits
- runMode : Qt3DRender::QAbstractRayCaster::RunMode
공용 기능
void | addLayer(Qt3DRender::QLayer *layer) |
Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
Qt3DRender::QAbstractRayCaster::Hits | hits() const |
QList<Qt3DRender::QLayer *> | layers() const |
void | removeLayer(Qt3DRender::QLayer *layer) |
Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
공용 슬롯
void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
신호
void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
상세 설명
Qt3DRender::QAbstractRayCaster 는 3D 씬에 광선을 투사하기 위한 추상 베이스 클래스입니다. Qt3DRender::QAbstractRayCaster 직접 인스턴스화할 수 없고 서브클래스를 통해 인스턴스화해야 합니다. QAbstractRayCaster는 실행 모드 및 레이어 처리와 같은 모든 레이 캐스터에 대한 공통 속성을 지정하고 실제 레이 캐스팅 세부 사항은 하위 클래스에 맡깁니다.
레이 캐스팅은 마우스 이벤트를 트리거할 필요가 없다는 점에서 피킹( Qt3DRender::QObjectPicker)과 다릅니다.
기본적으로 Qt3DRender::QAbstractRayCaster 의 인스턴스는 비활성화되어 있습니다. 활성화하면 지정된 광선이 매 프레임마다 교차하는 오브젝트에 대해 테스트됩니다. 오브젝트가 발견되지 않더라도 QAbstractRayCaster::hits 속성은 광선 투사 결과로 업데이트됩니다.
Qt3DRender::QPickingSettings 을 사용하여 테스트할 프리미티브와 결과 반환 방식 등 레이 캐스팅을 제어할 수 있습니다.
또한 Qt3DRender::QLayer 컴포넌트를 사용하여 엔티티 또는 엔티티 하위 그래프가 광선 투영에 반응하는 방식을 제어할 수 있습니다.
참고: QAbstractRayCaster에서 파생된 컴포넌트는 여러 엔티티와 공유해서는 안 됩니다.
Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings, Qt3DRender::QNoPicking 를참조하십시오 .
멤버 유형 문서
enum QAbstractRayCaster::FilterMode
레이캐스팅을 테스트할 엔티티를 선택하는 규칙을 지정합니다.
Constant | 값 | 설명 |
---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | 이 QAbstractRayCaster 에 추가된 하나 이상의 QLayer 개체를 참조하는 엔티티를 허용합니다. 기본값은 다음과 같습니다. |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | 여기에 추가된 모든 QLayer 개체를 참조하는 엔티티를 허용합니다. QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | 여기에 추가된 하나 이상의 QLayer 개체를 참조하는 엔터티를 삭제합니다. QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | 여기에 추가된 모든 QLayer 개체를 참조하는 엔터티를 삭제합니다. QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
이 열거형은 레이 캐스팅이 수행되는 빈도를 지정합니다.
Constant | 값 | 설명 |
---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | 컴포넌트가 활성화되어 있는 한 매 프레임마다 레이 캐스팅이 수행됩니다. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | 레이 캐스팅이 한 번 수행되면 컴포넌트는 자체적으로 비활성화됩니다. 기본값은 다음과 같습니다. |
프로퍼티 문서
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
레이 캐스팅 테스트에 선택할 엔티티를 지정하는 필터 모드를 유지합니다.
기본값은 AcceptMatchingLayers입니다.
함수에 액세스합니다:
Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
알림 신호:
void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only]
hits : const Qt3DRender::QAbstractRayCaster::Hits
마지막 광선 캐스팅 테스트의 결과를 Qt3DRender::QRayCasterHit 인스턴스의 벡터로 보유합니다.
연속된 테스트가 정확히 동일한 결과(또는 빈 결과)를 반환하더라도 모든 테스트에서 변경 알림이 전송된다는 점에 유의하세요.
액세스 기능:
Qt3DRender::QAbstractRayCaster::Hits | hits() const |
알림 신호:
void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
레이 캐스팅 테스트 수행 빈도를 제어하는 실행 모드를 유지합니다.
SingleShot (기본값)로 설정하면 컴포넌트가 활성화되면 레이 캐스팅 테스트가 한 번 수행되고 컴포넌트가 자동으로 비활성화됩니다.
지속으로 설정하면 컴포넌트가 활성화되어 있는 한 매 프레임마다 레이 캐스팅 테스트가 수행됩니다.
액세스 기능:
Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
알림 신호:
void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
멤버 기능 문서
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
현재 레이어 목록에 layer 추가
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
현재 레이어 목록을 반환합니다.
void QAbstractRayCaster::removeLayer(Qt3DRender::QLayer *layer)
현재 레이어 목록에서 layer 제거
© 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.