QCustom3DItem 類

The QCustom3DItem class adds a custom item to a graph. 更多...

頭: #include <QCustom3DItem>
Since: QtDataVisualization 1.1
實例化: Custom3DItem
繼承: QObject
繼承者: QCustom3DLabel and QCustom3DVolume

特性

公共函數

QCustom3DItem (QObject * parent = nullptr)
QCustom3DItem (const QString & meshFile , const QVector3D & position , const QVector3D & scaling , const QQuaternion & rotation , const QImage & texture , QObject * parent = nullptr)
virtual ~QCustom3DItem ()
bool isPositionAbsolute () 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 (const QVector3D & position )
void setPositionAbsolute (bool positionAbsolute )
void setRotation (const QQuaternion & rotation )
void setRotationAxisAndAngle (const QVector3D & axis , float angle )
void setScaling (const 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

信號

void meshFileChanged (const QString & meshFile )
void positionAbsoluteChanged (bool positionAbsolute )
void positionChanged (const QVector3D & position )
void rotationChanged (const QQuaternion & rotation )
void scalingAbsoluteChanged (bool scalingAbsolute )
void scalingChanged (const QVector3D & scaling )
void shadowCastingChanged (bool shadowCasting )
void textureFileChanged (const QString & textureFile )
void visibleChanged (bool visible )

靜態公共成員

const QMetaObject staticMetaObject

保護變量

QScopedPointer<QCustom3DItemPrivate> d_ptr

額外繼承成員

詳細描述

The QCustom3DItem class adds a custom item to a graph.

A custom item has a custom mesh, position, scaling, rotation, and an optional texture.

另請參閱 QAbstract3DGraph::addCustomItem ().

特性文檔編製

meshFile : QString

This property holds the item mesh file name.

The item in the file must be in Wavefront OBJ format and include vertices, normals, and UVs. It also needs to be in triangles.

訪問函數:

QString meshFile () const
void setMeshFile (const QString & meshFile )

通知程序信號:

void meshFileChanged (const QString & meshFile )

position : QVector3D

This property holds the item position as a QVector3D .

默認為 QVector3D(0.0, 0.0, 0.0) .

Item position is specified either in data coordinates or in absolute coordinates, depending on the positionAbsolute property. When using absolute coordinates, values between -1.0...1.0 are within axis ranges.

注意: Items positioned outside any axis range are not rendered if positionAbsolute is false , unless the item is a QCustom3DVolume that would be partially visible and scalingAbsolute is also false . In that case, the visible portion of the volume will be rendered.

訪問函數:

QVector3D position () const
void setPosition (const QVector3D & position )

通知程序信號:

void positionChanged (const QVector3D & position )

另請參閱 positionAbsolute .

positionAbsolute : bool

This property holds whether item position is to be handled in data coordinates or in absolute coordinates.

默認為 false . Items with absolute coordinates will always be rendered, whereas items with data coordinates are only rendered if they are within axis ranges.

訪問函數:

bool isPositionAbsolute () const
void setPositionAbsolute (bool positionAbsolute )

通知程序信號:

void positionAbsoluteChanged (bool positionAbsolute )

另請參閱 position .

rotation : QQuaternion

This property holds the item rotation as a QQuaternion .

默認為 QQuaternion(0.0, 0.0, 0.0, 0.0) .

訪問函數:

QQuaternion rotation ()
void setRotation (const QQuaternion & rotation )

通知程序信號:

void rotationChanged (const QQuaternion & rotation )

scaling : QVector3D

This property holds the item scaling as a QVector3D .

默認為 QVector3D(0.1, 0.1, 0.1) .

Item scaling is either in data values or in absolute values, depending on the scalingAbsolute property. The default vector interpreted as absolute values sets the item to 10% of the height of the graph, provided the item mesh is normalized and the graph aspect ratios have not been changed from the defaults.

訪問函數:

QVector3D scaling () const
void setScaling (const QVector3D & scaling )

通知程序信號:

void scalingChanged (const QVector3D & scaling )

另請參閱 scalingAbsolute .

scalingAbsolute : bool

This property holds whether item scaling is to be handled in data values or in absolute values.

默認為 true .

Items with absolute scaling will be rendered at the same size, regardless of axis ranges. Items with data scaling will change their apparent size according to the axis ranges. If positionAbsolute is true , this property is ignored and scaling is interpreted as an absolute value. If the item has rotation, the data scaling is calculated on the unrotated item. Similarly, for QCustom3DVolume items, the range clipping is calculated on the unrotated item.

注意: Only absolute scaling is supported for QCustom3DLabel items or for custom items used in polar 圖形。

注意: The custom item's mesh must be normalized to the range [-1 ,1] , or the data scaling will not be accurate.

該特性在 QtDataVisualization 1.2 引入。

訪問函數:

bool isScalingAbsolute () const
void setScalingAbsolute (bool scalingAbsolute )

通知程序信號:

void scalingAbsoluteChanged (bool scalingAbsolute )

另請參閱 scaling and positionAbsolute .

shadowCasting : bool

This property holds whether shadow casting for the item is enabled.

默認為 true 。若 false , the item does not cast shadows regardless of QAbstract3DGraph::ShadowQuality .

訪問函數:

bool isShadowCasting () const
void setShadowCasting (bool enabled )

通知程序信號:

void shadowCastingChanged (bool shadowCasting )

textureFile : QString

This property holds the texture file name for the item.

If both this property and the texture image are unset, a solid gray texture will be used.

注意: To conserve memory, the QImage loaded from the file is cleared after a texture is created.

訪問函數:

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

通知程序信號:

void textureFileChanged (const QString & textureFile )

visible : bool

This property holds the visibility of the item.

默認為 true .

訪問函數:

bool isVisible () const
void setVisible (bool visible )

通知程序信號:

void visibleChanged (bool visible )

成員函數文檔編製

QCustom3DItem:: QCustom3DItem ( QObject * parent = nullptr)

Constructs a custom 3D item with the specified parent .

QCustom3DItem:: QCustom3DItem (const QString & meshFile , const QVector3D & position , const QVector3D & scaling , const QQuaternion & rotation , const QImage & texture , QObject * parent = nullptr)

Constructs a custom 3D item with the specified meshFile , position , scaling , rotation , texture image, and optional parent .

[虛擬] QCustom3DItem:: ~QCustom3DItem ()

刪除自定義 3D 項。

void QCustom3DItem:: setRotationAxisAndAngle (const QVector3D & axis , float angle )

A convenience function to construct the rotation quaternion from axis and angle .

注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .

另請參閱 rotation .

void QCustom3DItem:: setTextureImage (const QImage & textureImage )

設置值為 textureImage 作為 QImage for the item. The texture defaults to solid gray.

注意: To conserve memory, the given QImage is cleared after a texture is created.