QCustom3DItem Class
The QCustom3DItem class adds a custom item to a graph. 更多...
头文件: | #include <QCustom3DItem> |
开始支持版本: | QtDataVisualization 1.1 |
Instantiated By: | Custom3DItem |
基类: | QObject |
派生类: |
属性
|
|
- 1 个属性继承自 QObject
公有函数
QCustom3DItem(QObject *parent = Q_NULLPTR) | |
QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = Q_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 |
- 32 个公有函数继承自 QObject
信号
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) |
- 2 个信号继承自 QObject
其他继承的成员
- 1 个公有槽函数继承自 QObject
- 1 个公有变量继承自 QObject
- 10 个静态公有成员继承自 QObject
- 9 个受保护的函数继承自 QObject
- 2 个受保护的变量继承自 QObject
详细描述
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) |
Notifier signal:
void | meshFileChanged(const QString &meshFile) |
position : QVector3D
This property holds the item position as a QVector3D.
Defaults to 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.
Note: 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) |
Notifier signal:
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.
Defaults to 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) |
Notifier signal:
void | positionAbsoluteChanged(bool positionAbsolute) |
参见 position.
rotation : QQuaternion
This property holds the item rotation as a QQuaternion.
Defaults to QQuaternion(0.0, 0.0, 0.0, 0.0)
.
访问函数:
QQuaternion | rotation() |
void | setRotation(const QQuaternion &rotation) |
Notifier signal:
void | rotationChanged(const QQuaternion &rotation) |
scaling : QVector3D
This property holds the item scaling as a QVector3D.
Defaults to 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) |
Notifier signal:
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.
Defaults to 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.
Note: Only absolute scaling is supported for QCustom3DLabel items or for custom items used in polar graphs.
Note: The custom item's mesh must be normalized to the range [-1 ,1]
, or the data scaling will not be accurate.
This property was introduced in QtDataVisualization 1.2.
访问函数:
bool | isScalingAbsolute() const |
void | setScalingAbsolute(bool scalingAbsolute) |
Notifier signal:
void | scalingAbsoluteChanged(bool scalingAbsolute) |
参见 scaling and positionAbsolute.
shadowCasting : bool
This property holds whether shadow casting for the item is enabled.
Defaults to true
. If false
, the item does not cast shadows regardless of QAbstract3DGraph::ShadowQuality.
访问函数:
bool | isShadowCasting() const |
void | setShadowCasting(bool enabled) |
Notifier signal:
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.
Note: To conserve memory, the QImage loaded from the file is cleared after a texture is created.
访问函数:
QString | textureFile() const |
void | setTextureFile(const QString &textureFile) |
Notifier signal:
void | textureFileChanged(const QString &textureFile) |
visible : bool
This property holds the visibility of the item.
Defaults to true
.
访问函数:
bool | isVisible() const |
void | setVisible(bool visible) |
Notifier signal:
void | visibleChanged(bool visible) |
成员函数
QCustom3DItem::QCustom3DItem(QObject *parent = Q_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 = Q_NULLPTR)
Constructs a custom 3D item with the specified meshFile, position, scaling, rotation, texture image, and optional parent.
[virtual]
QCustom3DItem::~QCustom3DItem()
Deletes the custom 3D item.
void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
A convenience function to construct the rotation quaternion from axis and angle.
参见 rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Sets the value of textureImage as a QImage for the item. The texture defaults to solid gray.
Note: To conserve memory, the given QImage is cleared after a texture is created.