Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSSGSceneDesc Namespace Reference

Classes

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

Typedefs

template<typename T >
using rm_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>
 
template<typename T >
using as_scene_type_t = typename T::type
 
template<typename T >
using as_node_type_t = typename TypeMap<T>::type
 
template<typename T >
using listParam_t = typename ListParam<rm_cvref_t<T>>::type
 
template<typename NodeT >
using if_node = typename std::enable_if_t<is_node_v<NodeT>, bool>
 
template<typename Setter , typename Value >
using 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 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 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 destructValue (QVariant &value)
 
Q_QUICK3DASSETUTILS_EXPORT void destructNode (QSSGSceneDesc::Node &node)
 
Q_QUICK3DASSETUTILS_EXPORT QMetaType listViewMetaType ()
 
Q_QUICK3DASSETUTILS_EXPORT void addNode (Node &parent, Node &node)
 
Q_QUICK3DASSETUTILS_EXPORT void addNode (Scene &scene, Node &node)
 
template<typename Setter , typename T , if_compatible_t< Setter, T > = false>
static void 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 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 setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, QList< T > value)
 
Q_QUICK3DASSETUTILS_EXPORT QSSGSceneDesc::PropertysetProperty (QSSGSceneDesc::Node &node, const char *name, QVariant &&value)
 
template<typename Setter >
static void 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 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 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 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 setProperty (QSSGSceneDesc::Node &node, const char *name, Setter setter, const QVarLengthArray< NodeT *, Prealloc > &list)
 

Variables

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

Typedef Documentation

◆ as_node_type_t

template<typename T >
using QSSGSceneDesc::as_node_type_t = typename TypeMap<T>::type

Definition at line 191 of file qssgscenedesc_p.h.

◆ as_scene_type_t

template<typename T >
using QSSGSceneDesc::as_scene_type_t = typename T::type

Definition at line 189 of file qssgscenedesc_p.h.

◆ if_compatible_node_list_t

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>

Definition at line 577 of file qssgscenedesc_p.h.

◆ if_compatible_proxy_t

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>

Definition at line 579 of file qssgscenedesc_p.h.

◆ if_compatible_t

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>

Definition at line 575 of file qssgscenedesc_p.h.

◆ if_node

template<typename NodeT >
using QSSGSceneDesc::if_node = typename std::enable_if_t<is_node_v<NodeT>, bool>

Definition at line 573 of file qssgscenedesc_p.h.

◆ listParam_t

template<typename T >
using QSSGSceneDesc::listParam_t = typename ListParam<rm_cvref_t<T>>::type

Definition at line 406 of file qssgscenedesc_p.h.

◆ rm_cvref_t

template<typename T >
using QSSGSceneDesc::rm_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>

Definition at line 66 of file qssgscenedesc_p.h.

Function Documentation

◆ addNode() [1/2]

void QSSGSceneDesc::addNode ( QSSGSceneDesc::Node & parent,
QSSGSceneDesc::Node & node )

Definition at line 17 of file qssgscenedesc.cpp.

References QSSGSceneDesc::Node::children, getNextNodeId(), QSSGSceneDesc::Node::id, QSSGRenderGraphObject::isResource(), QSSGSceneDesc::Node::nodeType, QVarLengthArray< T, Prealloc >::push_back(), QList< T >::push_back(), Q_ASSERT, QSSGSceneDesc::Scene::resources, QSSGSceneDesc::Node::runtimeType, and QSSGSceneDesc::Node::scene.

Referenced by addNode(), QSSGQmlUtilities::addResource(), createSceneNode(), importImp(), processNode(), setMaterialProperties(), and setModelProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNode() [2/2]

void QSSGSceneDesc::addNode ( QSSGSceneDesc::Scene & scene,
QSSGSceneDesc::Node & node )

Definition at line 29 of file qssgscenedesc.cpp.

References addNode(), QSSGSceneDesc::Node::id, Q_ASSERT, scene, and QSSGSceneDesc::Node::scene.

+ Here is the call graph for this function:

◆ destructNode()

void QSSGSceneDesc::destructNode ( QSSGSceneDesc::Node & node)

Definition at line 97 of file qssgscenedesc.cpp.

References QSSGSceneDesc::Node::properties.

Referenced by QSSGSceneDesc::Node::~Node().

+ Here is the caller graph for this function:

◆ destructValue()

void QSSGSceneDesc::destructValue ( QVariant & value)

Definition at line 77 of file qssgscenedesc.cpp.

References QMetaType::IsPointer, and qWarning.

Referenced by QSSGSceneDesc::Property::~Property().

+ Here is the caller graph for this function:

◆ listViewMetaType()

QMetaType QSSGSceneDesc::listViewMetaType ( )

Definition at line 72 of file qssgscenedesc.cpp.

◆ setProperty() [1/9]

◆ setProperty() [2/9]

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 )
static

Definition at line 684 of file qssgscenedesc_p.h.

References QSSGSceneDesc::Property::call, QList< T >::constData(), QList< T >::count(), QVariant::fromValue(), QList< T >::isEmpty(), list, QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, QSSGSceneDesc::Node::scene, and QSSGSceneDesc::Property::value.

+ Here is the call graph for this function:

◆ setProperty() [3/9]

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 )
static

Definition at line 596 of file qssgscenedesc_p.h.

References QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, and QSSGSceneDesc::Node::scene.

+ Here is the call graph for this function:

◆ setProperty() [4/9]

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 )
static

Definition at line 608 of file qssgscenedesc_p.h.

References QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, and QSSGSceneDesc::Node::scene.

+ Here is the call graph for this function:

◆ setProperty() [5/9]

template<typename Setter >
static void QSSGSceneDesc::setProperty ( QSSGSceneDesc::Node & node,
const char * name,
Setter setter,
QVariant && value )
static

◆ setProperty() [6/9]

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 )
static

Definition at line 585 of file qssgscenedesc_p.h.

References QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, and QSSGSceneDesc::Node::scene.

Referenced by createSceneNode(), importImp(), processNode(), setLightProperties(), setMaterialProperties(), setModelProperties(), setNodeProperties(), QSSGQmlUtilities::setProperty(), and setTextureProperties().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setProperty() [7/9]

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 )
static

Definition at line 646 of file qssgscenedesc_p.h.

References QSSGSceneDesc::Property::call, QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, QSSGSceneDesc::Node::scene, QSSGSceneDesc::Property::type, and QSSGSceneDesc::Property::value.

+ Here is the call graph for this function:

◆ setProperty() [8/9]

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 )
static

Definition at line 671 of file qssgscenedesc_p.h.

References QSSGSceneDesc::Property::call, QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, QSSGSceneDesc::Node::scene, and QSSGSceneDesc::Property::value.

+ Here is the call graph for this function:

◆ setProperty() [9/9]

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 )
static

Definition at line 659 of file qssgscenedesc_p.h.

References QSSGSceneDesc::Property::call, QVariant::fromValue(), QSSGSceneDesc::Property::name, QSSGSceneDesc::Node::properties, Q_ASSERT, QSSGSceneDesc::Node::scene, QSSGSceneDesc::Property::value, and view.

+ Here is the call graph for this function:

Variable Documentation

◆ is_node_v

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

Definition at line 180 of file qssgscenedesc_p.h.