Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qssgscenedesc_p.h File Reference

(c4beeea9b72574e8a6e3781731ddf6080df5849f)

#include <QtQuick3DAssetUtils/private/qtquick3dassetutilsglobal_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h>
#include <QtQuick3DRuntimeRender/private/qssgperframeallocator_p.h>
#include <QtQuick3DUtils/private/qssgmesh_p.h>
#include <QtCore/qlist.h>
#include <QtCore/qhash.h>
#include <QtCore/qvariant.h>
#include <QtCore/qflags.h>
#include <QtQml/qqmllist.h>
#include <QtQuick3D/private/qquick3dobject_p.h>
#include <QtQuick3D/private/qquick3dcustommaterial_p.h>
#include <QtQuick3D/private/qquick3ddefaultmaterial_p.h>
#include <QtQuick3D/private/qquick3dprincipledmaterial_p.h>
#include <QtQuick3D/private/qquick3dspecularglossymaterial_p.h>
#include <QtQuick3D/private/qquick3dmodel_p.h>
#include <QtQuick3D/private/qquick3dorthographiccamera_p.h>
#include <QtQuick3D/private/qquick3dperspectivecamera_p.h>
#include <QtQuick3D/private/qquick3dcustomcamera_p.h>
#include <QtQuick3D/private/qquick3ddirectionallight_p.h>
#include <QtQuick3D/private/qquick3dpointlight_p.h>
#include <QtQuick3D/private/qquick3dspotlight_p.h>
#include <QtQuick3D/private/qquick3dtexture_p.h>
#include <QtQuick3D/private/qquick3dcubemaptexture_p.h>
#include <QtQuick3D/private/qquick3dtexturedata_p.h>
#include <QtQuick3D/private/qquick3dskeleton_p.h>
#include <QtQuick3D/private/qquick3djoint_p.h>
#include <qmetatype.h>
#include <QtQuick3DUtils/private/qssginvasivelinkedlist_p.h>
#include <QtGui/qquaternion.h>
Include dependency graph for qssgscenedesc_p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QSSGSceneDesc::Scene
struct  QSSGSceneDesc::PropertyCall
struct  QSSGSceneDesc::Flag
struct  QSSGSceneDesc::Property
struct  QSSGSceneDesc::NodeList
struct  QSSGSceneDesc::Node
struct  QSSGSceneDesc::TypeMap< T >
struct  QSSGSceneDesc::Texture
struct  QSSGSceneDesc::TextureData
struct  QSSGSceneDesc::Material
struct  QSSGSceneDesc::Mesh
struct  QSSGSceneDesc::Model
struct  QSSGSceneDesc::Camera
struct  QSSGSceneDesc::Light
struct  QSSGSceneDesc::Skin
struct  QSSGSceneDesc::Skeleton
struct  QSSGSceneDesc::Joint
struct  QSSGSceneDesc::MorphTarget
struct  QSSGSceneDesc::ListView
struct  QSSGSceneDesc::Animation
struct  QSSGSceneDesc::Animation::KeyPosition
struct  QSSGSceneDesc::Animation::Channel
struct  QSSGSceneDesc::ListParam< typename >
struct  QSSGSceneDesc::ListParam< QList< T > >
struct  QSSGSceneDesc::FuncType< T >
struct  QSSGSceneDesc::FuncType< R(*)(A...)>
struct  QSSGSceneDesc::FuncType< R(C::*)(A...)>
struct  QSSGSceneDesc::FuncType< QQmlListProperty< T >(C::*)()>
struct  QSSGSceneDesc::PropertyProxySetter< Ret, Arg >
struct  QSSGSceneDesc::PropertySetter< Ret, Class, Arg >
struct  QSSGSceneDesc::PropertyListSetter< Ret, Class, Arg >
struct  QSSGSceneDesc::PropertyList< Class, T, List >

Namespaces

namespace  QSSGSceneDesc

Macros

#define QSSG_DECLARE_NODE(NODE)

Typedefs

template<typename T>
using QSSGSceneDesc::rm_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>
template<typename T>
using QSSGSceneDesc::as_scene_type_t = typename T::type
template<typename T>
using QSSGSceneDesc::as_node_type_t = typename TypeMap<T>::type
template<typename T>
using QSSGSceneDesc::listParam_t = typename ListParam<rm_cvref_t<T>>::type
template<typename NodeT>
using QSSGSceneDesc::if_node = typename std::enable_if_t<is_node_v<NodeT>, bool>
template<typename Setter, typename Value>
using QSSGSceneDesc::if_compatible_t = typename std::enable_if_t<std::is_same_v<typename FuncType<Setter>::Arg0Base, rm_cvref_t<Value>>, bool>
template<typename Setter, typename T>
using QSSGSceneDesc::if_compatible_node_list_t = typename std::enable_if_t<std::is_same_v<typename FuncType<Setter>::Ret, QQmlListProperty<as_scene_type_t<T>>>, bool>
template<typename Setter, typename Value>
using QSSGSceneDesc::if_compatible_proxy_t = typename std::enable_if_t<std::is_same_v<typename FuncType<Setter>::Arg2Base, rm_cvref_t<Value>>, bool>

Functions

Q_QUICK3DASSETUTILS_EXPORT void QSSGSceneDesc::destructValue (QVariant &value)
Q_QUICK3DASSETUTILS_EXPORT void QSSGSceneDesc::destructNode (QSSGSceneDesc::Node &node)
Q_QUICK3DASSETUTILS_EXPORT QMetaType QSSGSceneDesc::listViewMetaType ()
Q_QUICK3DASSETUTILS_EXPORT void QSSGSceneDesc::addNode (Node &parent, Node &node)
Q_QUICK3DASSETUTILS_EXPORT void QSSGSceneDesc::addNode (Scene &scene, Node &node)
template<typename Setter, typename T, if_compatible_t< Setter, T > = false>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, T &&value)
template<typename Setter, typename T, if_compatible_t< Setter, QFlags< T > > = false>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, QFlags< T > value)
template<typename Setter, typename T, if_compatible_t< Setter, QList< T > > = false>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, QList< T > value)
Q_QUICK3DASSETUTILS_EXPORT QSSGSceneDesc::PropertyQSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, QVariant &&value)
template<typename Setter>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, QVariant &&value)
template<typename Setter, typename Value, if_compatible_proxy_t< Setter, Value > = true>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, Value &&value, QSSGSceneDesc::Property::Type type=QSSGSceneDesc::Property::Type::Static)
template<typename Setter, typename ViewValue, if_compatible_t< Setter, typename ViewValue::type > = false>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, ViewValue view)
template<typename Setter, typename Value, if_compatible_t< Setter, as_scene_type_t< Value > * > = true>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, Value *value)
template<typename Setter, typename NodeT, qsizetype Prealloc, if_compatible_node_list_t< Setter, NodeT > = true>
static void QSSGSceneDesc::setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, const QVarLengthArray< NodeT *, Prealloc > &list)

Variables

template<typename T>
static constexpr bool QSSGSceneDesc::is_node_v = std::is_base_of_v<Node, T>

Macro Definition Documentation

◆ QSSG_DECLARE_NODE

#define QSSG_DECLARE_NODE ( NODE)
Value:
static_assert(is_node_v<NODE>, #NODE " - does not inherit from Node!"); \
template <> struct TypeMap<NODE::type> { using type = QSSGSceneDesc::NODE; };
GLenum type

Definition at line 185 of file qssgscenedesc_p.h.