C

Q3DSElement Class

Controls a scene object (node) in a Qt 3D Studio presentation. More...

Header: #include <Q3DSElement>
qmake: QT += 3dstudioruntime2
Since: Qt 3D Studio 2.0
Instantiated By: Element
Inherits: QObject
Inherited By:

Q3DSSceneElement

Properties

  • 1 property inherited from QObject

Public Functions

Q3DSElement(Q3DSPresentation *presentation, const QString &elementPath, QObject *parent = nullptr)
virtual ~Q3DSElement()
QString elementPath() const
  • 31 public functions inherited from QObject

Public Slots

void fireEvent(const QString &eventName)
QVariant getAttribute(const QString &attributeName) const
void setAttribute(const QString &attributeName, const QVariant &value)
void setElementPath(const QString &elementPath)
  • 1 public slot inherited from QObject

Signals

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Additional Inherited Members

  • 9 protected functions inherited from QObject

Detailed Description

Controls a scene object (node) in a Qt 3D Studio presentation.

This class is a convenience class for controlling the properties of a scene object (such as, model, material, camera, layer) in a Qt 3D Studio presentation.

Note: The functionality of Q3DSElement is equivalent to Q3DSPresentation::setAttribute(), Q3DSPresentation::getAttribute(), and Q3DSPresentation::fireEvent().

See also Q3DSPresentation, Q3DSWidget, Q3DSSurfaceViewer, and Q3DSSceneElement.

Property Documentation

elementPath : QString

Holds the element path of the presentation element.

An element path refers to an object in the scene either by name or id. The latter is rarely used in application code since the unique IDs are not exposed in the Qt 3D Studio application. To refer to an object by id, prepend # to the name. Applications will typically refer to objects by name.

Names are not necessarily unique, however. To access an object with a non-unique name, the path can be specified, for example, Scene.Layer.Camera. Here the right camera object gets chosen even if the scene contains other layers with the default camera names (for instance Scene.Layer2.Camera).

If the object is renamed to a unique name in the Qt 3D Studio application's Timeline view, the path can be omitted. For example, if the camera in question was renamed to MyCamera, applications can then simply pass MyCamera as the element path.

To reference an object stored in a property of another object, the dot syntax can be used. The most typical example of this is changing the source of a texture map by changing the sourcepath property on the object selected by SomeMaterial.diffusemap.

To access an object in a sub-presentation, prepend the name of the sub-presentation followed by a colon, for example, SubPresentationOne:Scene.Layer.Camera.

Access functions:

QString elementPath() const
void setElementPath(const QString &elementPath)

Notifier signal:

void elementPathChanged()

Member Function Documentation

Q3DSElement::Q3DSElement(Q3DSPresentation *presentation, const QString &elementPath, QObject *parent = nullptr)

Constructs a Q3DSElement instance controlling the scene object specified by elementPath. An optional parent object can be specified. The constructed instance is automatically associated with the specified presentation. An optional parent object can be specified.

[virtual] Q3DSElement::~Q3DSElement()

Destructor.

[slot] void Q3DSElement::fireEvent(const QString &eventName)

Dispatches an event with eventName on the scene object specified by elementPath.

Appropriate actions created in Qt 3D Studio or callbacks registered using the registerForEvent() method in attached (behavior) scripts will be executed in response to the event.

[slot] QVariant Q3DSElement::getAttribute(const QString &attributeName) const

Returns the current value of an attribute (property) of the scene object specified by elementPath.

The attributeName is the scripting name of the attribute.

[slot] void Q3DSElement::setAttribute(const QString &attributeName, const QVariant &value)

Sets the value of an attribute (property) of the scene object specified by elementPath.

The attributeName is the scripting name of the attribute.

Available under certain Qt licenses.
Find out more.