QCustom3DItem Class
La clase QCustom3DItem añade un elemento personalizado a un gráfico. Más...
| Cabecera: | #include <QCustom3DItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| En QML: | Custom3DItem |
| Hereda de: | QObject |
| Heredado por: |
- Lista de todos los miembros, incluyendo los heredados
- QCustom3DItem es parte de Qt Graphs C++ Classes for 3D.
Propiedades
|
|
Funciones públicas
| QCustom3DItem(QObject *parent = nullptr) | |
| QCustom3DItem(const QString &meshFile, QVector3D position, QVector3D scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
| virtual | ~QCustom3DItem() override |
| bool | isPositionAbsolute() const |
| bool | isRotationAbsolute() const |
| bool | isScalingAbsolute() const |
| bool | isShadowCasting() const |
| bool | isVisible() const |
| QString | meshFile() const |
| QVector3D | position() const |
| QQuaternion | rotation() |
| QVector3D | scaling() const |
| void | setMeshFile(const QString &meshFile) |
| void | setPosition(QVector3D position) |
| void | setPositionAbsolute(bool positionAbsolute) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationAbsolute(bool rotationAbsolute) |
| void | setRotationAxisAndAngle(QVector3D axis, float angle) |
| void | setScaling(QVector3D scaling) |
| void | setScalingAbsolute(bool scalingAbsolute) |
| void | setShadowCasting(bool enabled) |
| void | setTextureFile(const QString &textureFile) |
| void | setTextureImage(const QImage &textureImage) |
| void | setVisible(bool visible) |
| QString | textureFile() const |
Señales
| void | meshFileChanged(const QString &meshFile) |
| void | positionAbsoluteChanged(bool positionAbsolute) |
| void | positionChanged(QVector3D position) |
| void | rotationAbsoluteChanged(bool newRotationAbsolute) |
| void | rotationChanged(const QQuaternion &rotation) |
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
| void | scalingChanged(QVector3D scaling) |
| void | shadowCastingChanged(bool shadowCasting) |
| void | textureFileChanged(const QString &textureFile) |
| void | visibleChanged(bool visible) |
Descripción detallada
Un elemento personalizado tiene una malla personalizada, posición, escalado, rotación y una textura opcional.
Véase también Q3DGraphsWidgetItem::addCustomItem().
Documentación de propiedades
meshFile : QString
Esta propiedad contiene el nombre del archivo de malla del elemento.
El elemento en el archivo debe estar en formato malla. Los otros tipos pueden ser convertidos por la herramienta de importación de activos Balsam. Se recomienda que los archivos de malla incluyan vértices, normales y UV.
Funciones de acceso:
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Señal de notificación:
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Esta propiedad contiene la posición del elemento como QVector3D.
Por defecto es QVector3D(0.0, 0.0, 0.0).
La posición del elemento se especifica en coordenadas de datos o en coordenadas absolutas, dependiendo de la propiedad positionAbsolute. Cuando se utilizan coordenadas absolutas, los valores entre -1.0...1.0 están dentro de los rangos de los ejes.
Nota: Los elementos posicionados fuera de cualquier rango de ejes no se renderizan si positionAbsolute es false, a menos que el elemento sea un QCustom3DVolume que sería parcialmente visible y scalingAbsolute sea también false. En ese caso, se representará la parte visible del volumen.
Funciones de acceso:
| QVector3D | position() const |
| void | setPosition(QVector3D position) |
Señal del notificador:
| void | positionChanged(QVector3D position) |
Véase también positionAbsolute.
positionAbsolute : bool
Esta propiedad indica si la posición del elemento debe ser manejada en coordenadas de datos o en coordenadas absolutas.
Por defecto es false. Los ítems con coordenadas absolutas siempre se renderizarán, mientras que los ítems con coordenadas de datos sólo se renderizarán si están dentro de los rangos de los ejes.
Funciones de acceso:
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Señal del notificador:
| void | positionAbsoluteChanged(bool positionAbsolute) |
Véase también position.
rotation : QQuaternion
Esta propiedad contiene la rotación del elemento como QQuaternion.
Por defecto es QQuaternion(0.0, 0.0, 0.0, 0.0).
Funciones de acceso:
| QQuaternion | rotation() |
| void | setRotation(const QQuaternion &rotation) |
Señal del notificador:
| void | rotationChanged(const QQuaternion &rotation) |
[since 6.11] rotationAbsolute : bool
Esta propiedad define si la rotación del elemento debe tratarse en coordenadas del eje de datos o en coordenadas absolutas.
Define si la rotación del ítem debe ser manejada en valores de datos o en valores absolutos. Por defecto es true. Los elementos con rotación absoluta rotarán con las coordenadas por defecto, independientemente del eje. Los elementos con rotación de datos rotarán según las coordenadas del eje.
Esta propiedad se introdujo en Qt 6.11.
Funciones de acceso:
| bool | isRotationAbsolute() const |
| void | setRotationAbsolute(bool rotationAbsolute) |
Señal de notificador:
| void | rotationAbsoluteChanged(bool newRotationAbsolute) |
Véase también rotation.
scaling : QVector3D
Esta propiedad contiene la escala del elemento como QVector3D.
Por defecto es QVector3D(0.1, 0.1, 0.1).
El escalado del elemento se realiza en valores de datos o en valores absolutos, dependiendo de la propiedad scalingAbsolute. El vector por defecto interpretado como valores absolutos establece el elemento al 10% de la altura del gráfico, siempre que la malla del elemento esté normalizada y las relaciones de aspecto del gráfico no se hayan modificado respecto a los valores por defecto.
Nota: En Qt 6.8 se asumía incorrectamente que los modelos se escalaban a un tamaño de 1 (-0.5...0.5) por defecto, cuando en realidad se escalan a un tamaño de 2 (-1...1). Debido a esto, todos los elementos personalizados a partir de Qt 6.9 tienen el doble de tamaño en comparación con Qt 6.8
Funciones de acceso:
| QVector3D | scaling() const |
| void | setScaling(QVector3D scaling) |
Señal de notificador:
| void | scalingChanged(QVector3D scaling) |
Véase también scalingAbsolute.
scalingAbsolute : bool
Esta propiedad indica si la escala de los elementos debe manejarse en valores de datos o en valores absolutos.
Por defecto es true.
Los elementos con escalado absoluto se mostrarán con el mismo tamaño, independientemente de los rangos de los ejes. Los elementos con escalado de datos cambiarán su tamaño aparente según los rangos de los ejes. Si positionAbsolute es true, esta propiedad se ignora y la escala se interpreta como un valor absoluto. Si el elemento tiene rotación, el escalado de datos se calcula sobre el elemento no rotado. Del mismo modo, para los elementos QCustom3DVolume, el recorte de rango se calcula sobre el elemento no rotado.
Nota: Sólo se admite el escalado absoluto para los elementos QCustom3DLabel o para los elementos personalizados utilizados en los gráficos polar.
Nota: La malla del elemento personalizado debe estar normalizada al rango [-1 ,1], o el escalado de datos no será preciso.
Funciones de acceso:
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Señal del notificador:
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
Véase también scaling y positionAbsolute.
shadowCasting : bool
Esta propiedad indica si está habilitada la proyección de sombras para el ítem.
Por defecto es true. Si false, el ítem no proyecta sombras independientemente de Q3DGraphsWidgetItem::ShadowQuality.
Funciones de acceso:
| bool | isShadowCasting() const |
| void | setShadowCasting(bool enabled) |
Notifier signal:
| void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
Esta propiedad contiene el nombre del archivo de textura del elemento.
Si tanto esta propiedad como la imagen de la textura están desactivadas, se utilizará una textura gris sólida.
Nota: Para ahorrar memoria, la dirección QImage cargada desde el archivo se borra después de crear una textura.
Funciones de acceso:
| QString | textureFile() const |
| void | setTextureFile(const QString &textureFile) |
Señal del notificador:
| void | textureFileChanged(const QString &textureFile) |
visible : bool
Esta propiedad contiene la visibilidad del elemento.
Por defecto es true.
Funciones de acceso:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Señal del notificador:
| void | visibleChanged(bool visible) |
Documentación de la función miembro
[explicit] QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Construye un elemento 3D personalizado con la dirección parent especificada.
[explicit] QCustom3DItem::QCustom3DItem(const QString &meshFile, QVector3D position, QVector3D scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Construye un elemento 3D personalizado con la imagen especificada meshFile, position, scaling, rotation, texture y parent opcional.
[override virtual noexcept] QCustom3DItem::~QCustom3DItem()
Elimina el elemento 3D personalizado.
[invokable] void QCustom3DItem::setRotationAxisAndAngle(QVector3D axis, float angle)
Una función de conveniencia para construir el cuaternión de rotación a partir de axis y angle.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
Véase también rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Establece el valor de textureImage como QImage para el elemento. La textura por defecto es gris sólido.
Nota: Para conservar memoria, el QImage dado se borra después de crear una textura.
© 2026 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.