diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-05-12 10:12:12 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2018-05-14 11:13:35 +0000 |
commit | b5146f527801d1a25c87ed57e12fbf7c4beb33a7 (patch) | |
tree | db629c76a30b5a296d8029ec7d462959a1365cf4 | |
parent | 9061daf6c21a79fcdcbd240ffe299b1ce0598308 (diff) |
doc: remove runtime pages and API ref
Task-number: QT3DS-1003
Change-Id: I0bd0431598528a4cbc6ad585b83fd44f7a2881c6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
28 files changed, 2 insertions, 4169 deletions
diff --git a/doc/qt3dstudio-project.qdocconf b/doc/qt3dstudio-project.qdocconf index 189cf4ff..5225ee8d 100644 --- a/doc/qt3dstudio-project.qdocconf +++ b/doc/qt3dstudio-project.qdocconf @@ -11,7 +11,7 @@ headerdirs = ../src/Viewer # TODO: Move images to doc/images imagedirs = ./src/images -depends = qtcore qtgui qtwidgets qtqml qtquick qtmultimedia qtdoc +depends = qtcore qtgui qtwidgets qtqml qtquick qtmultimedia qtdoc qt3dstudioruntime2 qhp.projects = Qt3DStudio @@ -40,7 +40,6 @@ qhp.Qt3DStudio.subprojects.classes.indexTitle = Qt 3D Studio C++ Classes qhp.Qt3DStudio.subprojects.classes.selectors = class fake:headerfile qhp.Qt3DStudio.subprojects.classes.sortPages = true - # Add an .html file with sidebar content, used in the online style HTML.stylesheets += style/qt5-sidebar.html diff --git a/doc/src/00-concepts.qdoc b/doc/src/00-concepts.qdoc index 6c6aaa4f..fdaca62b 100644 --- a/doc/src/00-concepts.qdoc +++ b/doc/src/00-concepts.qdoc @@ -37,9 +37,7 @@ \li \l {Getting started} \li \l {Studio Index}{Studio} \li \l {Viewer Index}{Viewer} - \li \l {QML API}{QML API Reference} - \li \l {C++ API}{C++ API Reference} - \li \l {Runtime} + \li \l {Qt 3D Studio Runtime Index}{Runtime} \li \l {File Formats} \omit TODO: Needs to be checked. Maybe a rewrite, or just remove it all. diff --git a/doc/src/05-runtime/0-frame-update-cycle.qdoc b/doc/src/05-runtime/0-frame-update-cycle.qdoc deleted file mode 100644 index b5b52364..00000000 --- a/doc/src/05-runtime/0-frame-update-cycle.qdoc +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -\title Runtime: Frame Update Cycle -\page runtime-frame-update-cycle.html -\ingroup qt3dstudio-runtime - -Qt 3D Studio presents a -simple, elegant interface for creating interactive 3D content. Concepts -like Slides, Components, Actions, Events, Behaviors, Eye-Toggles, and -the Animation Timeline are highly intuitive and represent a very -accessible interface for controlling what is a necessarily complex -real-time runtime system for managing interactive 3D content. - -The Qt 3D Studio Runtime operates with a deterministic set of -rules that bring the content created with Qt 3D Studio to life. -This document outlines what happens in a -\b{single frame} in terms of the runtime to make this happen. - -The calculations and order of operations involved in each frame are -fairly complex; in order to explain things more clearly it is helpful to -think of each frame being made up of several logical stages. Here is the -full overview of the different conceptual stages. - -\section1 Input - -A frame is kicked off by calling \c{CRuntime::UpdatePresentations}; -this immediately results in a call to -\c{CInputEngine::GetInputFrame}. A subclass of -\c{CInputEngine} will take this opportunity to poll the state of -the various input devices and fire events indicating user interaction. -The base class version of \c{CInputEngine} implements -\c{HandleInputEvent} which can be used to do this simply. - -\section1 Stage 0: Time Distribution - -This stage is opaque and will be relatively invisible to you. Before any -real calculations for this frame can begin, various time related -activities need to be complete. For instance, each presentation itself -can be playing or paused. This stage manages this and other time related -things. - -\section1 Stage 1: Process Events - -The next result of calling \c{CRuntime::UpdatePresentations} is the -processing of events. - -The Runtime maintains a first-in/first-out queue of events that are -waiting to be processed. When event processing starts this queue will -contain events that were fired during the input stage as described above -as well as any events that were fired on the previous frame after event -processing was completed. - -The critical rule of event processing is that all events will be -processed before this stage ends and the next stage begins. This -includes events that are fired during event processing. This contract -allows the Runtime to support chained events, meaning that any event -fired as a result of processing another event will be handled in the -same frame. This contract helps to ensure consistent presentation state. - -It is interesting to note that because slide changes can only be -affected as a result of processing events; all slide changes will take -place during this stage. - -\section1 Stage 2: Active Scan - -Once all the events for this frame have been processed, and the event -queue is empty, a full scan of the graph of elements is performed to -find out which elements will be active this frame. The processing of -events will result in slide changes and changes to properties which will -affect the appearance of the presentation. During this stage, a -definitive list of which elements are active is created and this list -will be used by subsequent stages to efficiently do their jobs. - -It is interesting to note that because this `active list' is created -here, and is used by all further stages, changes to the active state of -any elements made after this stage will not take effect until the next -frame (when the list is calculated again). By clearly drawing this line -at this stage we can avoid many of the \"doing various things before (or -after) you exist\" paradoxes inherent in a complex frame rhythm. - -\section1 Stage 3: Animation - -After the list of active elements for this frame has been decided, the -Runtime calculates new values for any animated properties on active -elements, and applies the new values. - -\target script-callbacks -\section1 Stage 4: Script Callbacks - -The final act of \c{CRuntime::UpdatePresentations} is to call the -special active dependent script callbacks. By comparing this frame's -active list with the active list from the previous frame the Runtime can -determine which elements are becoming active or inactive. The Runtime -uses this information to initiate the following script callbacks: - -\section2 \c{onDeactivate} - -First, any behaviors which were active last frame that are not active -this frame will have their \c{onDeactivate} handler called. If -multiple behaviors match this the callbacks for parent elements will -occur before their children/descendants. - -\section2 \c{onInitialize} - -On the very first frame a behavior is active it will have its -\c{onInitialize} handler called. If multiple behaviors match this -the callbacks for parent elements will occur before their -children/descendants. Note that each behavior will only have its -\c{onInitialize} handler called once, even if it is deactivated and -later reactivated. - -\section2 \c{onActivate} - -Next, any behaviors which were not active last frame that are active -this frame will have their \c{onActivate} handlers called. If -multiple behaviors match this the callbacks for parent elements will -occur before their children/descendants. - -\section2 \c{onUpdate} - -Finally, any behaviors that are active this frame will have their -\c{onUpdate} handler called. If multiple behaviors match this the -callbacks for parent elements will occur before their -children/descendants. - -\section1 Stage 5: Scene Graph Update - -The next call you will make is \c{CRuntime::UpdateScenes}. All the -activity before this has performed the calculations in the Runtime to -ensure the presentation is in a newly updated state for this frame. -Calling \c{UpdateScenes} will first result in any changed -attributes being communicated through the scene graph to your -application through calls to \c{CRenderEngine::SetAttributes}. -Then, a recursive update is done on the assets in the scene graph to -calculate updated global matrices and hierarchical opacity values. - -\section1 Stage 6: Render - -Finally you will call \c{CRuntime::Render}. This stage consumes all -the calculated values produced by the previous stages and translates -them into calls on your engine specific subclass of -\c{CRenderEngine}. This includes calls like \c{SetTransform} -which will communicate the updated global matrices to you and -\c{DrawItem} which will indicate that you need to draw a specific -item in the scene. -*/ diff --git a/doc/src/05-runtime/0b-inputplugins.qdoc b/doc/src/05-runtime/0b-inputplugins.qdoc deleted file mode 100644 index 6f1f4f27..00000000 --- a/doc/src/05-runtime/0b-inputplugins.qdoc +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -\title Runtime: Input Plugins -\page runtime-0b-inputplugins.html -\ingroup qt3dstudio-runtime - -\section1 Overview - -TODO - -\section1 Lua Bindings - -TODO - -\section1 Sample Plugin - -TODO - -*/ diff --git a/doc/src/05-runtime/1-event-processing.qdoc b/doc/src/05-runtime/1-event-processing.qdoc deleted file mode 100644 index 73f613e1..00000000 --- a/doc/src/05-runtime/1-event-processing.qdoc +++ /dev/null @@ -1,177 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -\title Runtime: Event Processing -\page runtime-event-processing.html -\ingroup qt3dstudio-runtime - -\target presentation-events -\section1 Presentation Events - -In the Runtime, processing presentation events is a single stage of the -overall \l{runtime-frame-update-cycle.html}{Frame Update} cycle -governing the operation of the runtime. Processing events is a -sophisticated process with many associated activities and contracts. -This page describes how event processing works, what sorts of things can -happen as a result of events being processed, and how your application -(C++) can interact with the runtime in terms of events. - -\section2 How Stuff Works - -The stages of the update cycle are clearly defined entities, with nice -start and end conditions, that occur one right after another and in a -well-specified order to accomplish the calculations and activities -required for a given frame. The event processing stage is arguably the -most important stage, so we'll explore some of the details of its -operation here. - -There exists a list of events that is treated as a first-in/first-out -queue. The act of 'firing an event' is literally adding the event being - 'fired' to the end of this queue. This operation is the same regardless -of when the event is fired. - -On each frame the processing of events is started implicitly by the call -to \c{CRuntime::UpdatePresentations}. On most frames, when event -processing begins, the event list (queue) is empty. There are two cases -in which there will be events in the queue. - -\list 1 -\li - An input event was fired by the Input Engine in response to user - action (e.g. Pressing buttons on the controller) -\li - An event was fired after event processing was complete for last frame - (e.g. An event was fired from QML) -\endlist - -Event processing happens in the same way regardless of how the events -got on the list; Each event in the list is looked at in turn and anyone -interested in that event is notified. It's important to note that all of -the events in the queue are processed in turn (including events fired as -a result of other events being processed) on and on until there are no -events left to process. Only when the event list is completely empty -does the event processing stage end for this frame. - -There are several possible outcomes of processing an event, we'll -explore them next. - -\section2 Event Processing Results - -\section3 Changing Slides - -All slide changes are effected as the result of processing events. This -can be a critical point to understand when trying to deduce the effects -of complex interactions between actions, slides and script. For example, -you set up a visual state saying that when the state machine enters a -particular state tell a component to go to the next slide. For the -runtime, a piece of logic gets created representing this action. When -the onSelect event is fired and later processed, the interested logic -will be notified and the slide change will occur. - -\note Behavior event registrations (created with \l {Behavior}{QML Behavior} -registerForEvent) work similarly to the logic described above. If a -behavior registers explicitly for a certain event and in the handler calls -goToSlide, essentially the same things happen. - -\section3 Changing Properties - -Attributes can have their values changed in response to events, -affecting the visual appearance of the presentation. Set Property -actions created in Studio will be executed when their specified event is -processed, resulting in properties being changed. Also, changing slides -will result in changed properties if a master object inside of Studio -has one or more of its properties unlinked from the master slide and -that property is changed per-slide. - -\section3 Executing Behavior Callbacks - -Processing an event can result in arbitrary QML Behavior callback code -being executed. An event registration can be created by using the registerForEvent -function to listen for a specific event on a specific element. The -registration also has a callback function associated with it and when -that specific event targeting that element is processed, the behavior -callback function will be executed. - -Of course, behavior can inspect and change properties on various elements, -affect slide changes, fire more events, etc. - -\section3 Firing More Events (Cascading) - -There are two ways a presentation may fire an event in response to -another event. The first way is through behaviors as described above, and -the second way is through the action palette. - -Behaviors in Studio can have arbitrary Custom Events associated with -them by adding these custom events in the header section of the -behavior's .qml file. When a behavior with one or more Custom Events is -the target of an action in the action palette Studio will offer the Fire -Event action. By using this action, arbitrary cascading events can be -set up to fire by pointing and clicking. - -\note These cascading events will all be processed -in the same frame. The event processor doesn't stop processing events -until there are none left to process. - -\section2 How Your Application (C++) Interacts with Event Processing - -There are two basic use cases for your application interacting with -event processing: - -\list 1 -\li - Firing arbitrary events into the Runtime system. -\li - Responding (with C++ callbacks) to events being processed. -\endlist - -\section3 Firing Your Own Arbitrary Events into a Presentation - -You can fire arbitrary events into a presentation using -\c{CPresentation::FireEvent}. If some part of your application -needs to notify a running presentation of something in an event driven -manner, this is the way to go. This is useful in a lot of circumstances -such as \e {"A cut-scene video is done playing"} and \e {"Someone from the -user's online friend list has logged on!"}. - -The arguments to \c{CPresentation::FireEvent} allow you to -parameterize the events you fire into the system. The lifespan of the -memory associated with these parameters is completely managed by the -Runtime itself allowing you to 'fire and forget'. - -\section3 Responding to Events Being Processed - -The method \c{CPresentation::RegisterEventCallback} allows you to -register a C++ callback for when a specific event is processed on a -certain element. The TEventCallback typedef is the signature your -callback function should implement. Also note the last parameter to -\c{CPresentation::RegisterEventCallback} which allows you to store -a \c{void*} context data for use in your callback. - -*/ diff --git a/doc/src/05-runtime/2-renderplugins.qdoc b/doc/src/05-runtime/2-renderplugins.qdoc deleted file mode 100644 index cf3e034d..00000000 --- a/doc/src/05-runtime/2-renderplugins.qdoc +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -\title Runtime: Render Plugins -\page runtime-renderplugins.html -\ingroup qt3dstudio-runtime - -\section1 Overview - -TODO: - -\section1 Lua Bindings - -TODO: - -\section1 Sample Code - -TODO: - -*/ diff --git a/doc/src/05-runtime/runtime-index.qdoc b/doc/src/05-runtime/runtime-index.qdoc deleted file mode 100644 index 91387890..00000000 --- a/doc/src/05-runtime/runtime-index.qdoc +++ /dev/null @@ -1,49 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -\title Runtime -\group qt3dstudio-runtime -\noautolist - -\section1 Contents - -//! [toc] -\list -\li \l {Runtime: Frame Update Cycle} -\li \l {Runtime: Event Processing} -//! ---- following pages lack content -\omit -\li \l {Runtime: Input Plugins} -\li \l {Runtime: Render Plugins} -\endomit -\endlist -//! [toc] - -*/ diff --git a/doc/src/06-qml-reference/03-attribute-names.html b/doc/src/06-qml-reference/03-attribute-names.html deleted file mode 100644 index 1ce6e978..00000000 --- a/doc/src/06-qml-reference/03-attribute-names.html +++ /dev/null @@ -1,1249 +0,0 @@ -\raw HTML -<table id='scripting-attributes'> -<tbody></tbody> -<tr><th colspan="4">Scenes</td></tr> -<tr> -<td class='formal'>Name</td> -<td class='scripting'>name</td> -<td class='type'>string</td> -<td class='note'> -always <code>"Scene"</code> -</td> -</tr> -<tr> -<td class='formal'></td> -<td class='scripting'>path</td> -<td class='type'>string</td> -<td class='note'> -always <code>"Scene"</code> -</td> -</tr> -<tr> -<td class='formal'>Enable Background Color</td> -<td class='scripting'>bgcolorenable</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Background Color R</td> -<td class='scripting'>backgroundcolor.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Background Color G</td> -<td class='scripting'>backgroundcolor.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Background Color B</td> -<td class='scripting'>backgroundcolor.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Elements other than Scenes</td></tr> -<tr> -<td class='formal'>Element Name</td> -<td class='scripting'>name</td> -<td class='type'>string</td> -<td class='note'> -always available -</td> -</tr> -<tr> -<td class='formal'></td> -<td class='scripting'>path</td> -<td class='type'>string</td> -<td class='note'> -full path to the element -</td> -</tr> -<tr> -<td class='formal'>(Eyeball)</td> -<td class='scripting'>eyeball</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Timebar Start</td> -<td class='scripting'>starttime</td> -<td class='type'>number</td> -<td class='note'> -in integer milliseconds; always available -</td> -</tr> -<tr> -<td class='formal'>Timebar End</td> -<td class='scripting'>endtime</td> -<td class='type'>number</td> -<td class='note'> -in integer milliseconds; always available -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Layers</td></tr> -<tr> -<td class='formal'>Disable Depth Test</td> -<td class='scripting'>disabledepthtest</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Progressive AA</td> -<td class='scripting'>progressiveaa</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'None'</code>, <code>'2x'</code>, <code>'4x'</code>, <code>'8x'</code> -</td> -</tr> -<tr> -<td class='formal'>Multisample AA</td> -<td class='scripting'>multisampleaa</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'None'</code>, <code>'2x'</code>, <code>'4x'</code> -</td> -</tr> -<tr> -<td class='formal'>Temporal AA</td> -<td class='scripting'>temporalaa</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Layer Background</td> -<td class='scripting'>background</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Transparent'</code>, <code>'Unspecified'</code>, <code>'SolidColor'</code> -</td> -</tr> -<tr> -<td class='formal'>Background Color R</td> -<td class='scripting'>backgroundcolor.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Background Color G</td> -<td class='scripting'>backgroundcolor.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Background Color B</td> -<td class='scripting'>backgroundcolor.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Horizontal Fields</td> -<td class='scripting'>horzfields</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Left/Width'</code>, <code>'Left/Right'</code>, <code>'Width/Right'</code> -</td> -</tr> -<tr> -<td class='formal'>Left</td> -<td class='scripting'>left</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Left Units</td> -<td class='scripting'>leftunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Width</td> -<td class='scripting'>width</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Width Units</td> -<td class='scripting'>widthunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Right</td> -<td class='scripting'>right</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Right Units</td> -<td class='scripting'>rightunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Vertical Fields</td> -<td class='scripting'>vertfields</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Top/Height'</code>, <code>'Top/Bottom'</code>, <code>'Height/Bottom'</code> -</td> -</tr> -<tr> -<td class='formal'>Top</td> -<td class='scripting'>top</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Top Units</td> -<td class='scripting'>topunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Height</td> -<td class='scripting'>height</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Height Units</td> -<td class='scripting'>heightunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Bottom</td> -<td class='scripting'>bottom</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Bottom Units</td> -<td class='scripting'>bottomunits</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'pixels'</code>, <code>'percent'</code> -</td> -</tr> -<tr> -<td class='formal'>Ambient Occlusion</td> -<td class='scripting'>aostrength</td> -<td class='type'>number</td> -<td class='note'> -values between 0 and 100 -</td> -</tr> -<tr> -<td class='formal'>AO Distance</td> -<td class='scripting'>aodistance</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>AO Softness</td> -<td class='scripting'>aosoftness</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>AO Threshold</td> -<td class='scripting'>aobias</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>AO Sampling Rate</td> -<td class='scripting'>aosamplerate</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>AO Dithering</td> -<td class='scripting'>aodither</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Strength</td> -<td class='scripting'>shadowstrength</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Distance</td> -<td class='scripting'>shadowdist</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Softness</td> -<td class='scripting'>shadowsoftness</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Threshold</td> -<td class='scripting'>shadowbias</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Light Probe</td> -<td class='scripting'>lightprobe</td> -<td class='type'>image element</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>IBL Horizon Cutoff</td> -<td class='scripting'>probehorizon</td> -<td class='type'>number</td> -<td class='note'> -values from -1 (no horizon) to -0.001 (hard edge) -</td> -</tr> -<tr> -<td class='formal'>Sub-Presentation</td> -<td class='scripting'>sourcepath</td> -<td class='type'>string</td> -<td class='note'> -id of the sub-presentation to display -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Nodes</td></tr> -<tr> -<td class='formal'>Position X</td> -<td class='scripting'>position.x</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Position Y</td> -<td class='scripting'>position.y</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Position Z</td> -<td class='scripting'>position.z</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Rotation X</td> -<td class='scripting'>rotation.x</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Rotation Y</td> -<td class='scripting'>rotation.y</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Rotation Z</td> -<td class='scripting'>rotation.z</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Scale X</td> -<td class='scripting'>scale.x</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Scale Y</td> -<td class='scripting'>scale.y</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Scale Z</td> -<td class='scripting'>scale.z</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Pivot X</td> -<td class='scripting'>pivot.x</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Pivot Y</td> -<td class='scripting'>pivot.y</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Pivot Z</td> -<td class='scripting'>pivot.z</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Opacity</td> -<td class='scripting'>opacity</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'></td> -<td class='scripting'>orientation</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Left Handed'</code>, <code>'Right Handed'</code> -</td> -</tr> -<tr> -<td class='formal'></td> -<td class='scripting'>rotationorder</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'XYZ'</code>, <code>'YZX'</code>, <code>'ZXY'</code>, <code>'XZY'</code>, <code>'YXZ'</code>, <code>'ZYX'</code>, <code>'XYZr'</code>, <code>'YZXr'</code>, <code>'ZXYr'</code>, <code>'XZYr'</code>, <code>'YXZr'</code>, <code>'ZYXr'</code> -</td> -</tr> -<tr> -<td class='formal'></td> -<td class='scripting'>ignoresparent</td> -<td class='type'>boolean</td> -<td class='note'> -prevents parent transformation from being applied -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Aliases</td></tr> -<tr> -<td class='formal'>Reference</td> -<td class='scripting'>referencednode</td> -<td class='type'>string</td> -<td class='note'> -relative or absolute element path -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Cameras</td></tr> -<tr> -<td class='formal'>Orthographic</td> -<td class='scripting'>orthographic</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Field of View</td> -<td class='scripting'>fov</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Clipping Start</td> -<td class='scripting'>clipnear</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Clipping End</td> -<td class='scripting'>clipfar</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Runtime Scale Mode</td> -<td class='scripting'>scalemode</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Fit'</code>, <code>'Same Size'</code> -</td> -</tr> -<tr> -<td class='formal'>Runtime Scale Anchor</td> -<td class='scripting'>scaleanchor</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Center'</code>, <code>'NW'</code>, <code>'N'</code>, <code>'NE'</code>, <code>'E'</code>, <code>'SE'</code>, <code>'S'</code>, <code>'SW'</code>, <code>'W'</code> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Lights</td></tr> -<tr> -<td class='formal'>Scope</td> -<td class='scripting'>scope</td> -<td class='type'>string</td> -<td class='note'> -full path to the element -</td> -</tr> -<tr> -<td class='formal'>Light Type</td> -<td class='scripting'>lighttype</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Directional'</code>, <code>'Point'</code>, <code>'Area'</code> -</td> -</tr> -<tr> -<td class='formal'>Light Color R</td> -<td class='scripting'>lightdiffuse.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Light Color G</td> -<td class='scripting'>lightdiffuse.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Light Color B</td> -<td class='scripting'>lightdiffuse.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Color R</td> -<td class='scripting'>lightspecular.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Color G</td> -<td class='scripting'>lightspecular.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Color B</td> -<td class='scripting'>lightspecular.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Ambient Color R</td> -<td class='scripting'>lightambient.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Ambient Color G</td> -<td class='scripting'>lightambient.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Ambient Color B</td> -<td class='scripting'>lightambient.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Brightness</td> -<td class='scripting'>brightness</td> -<td class='type'>number</td> -<td class='note'> -only applies to point lights -</td> -</tr> -<tr> -<td class='formal'>Linear Fade</td> -<td class='scripting'>linearfade</td> -<td class='type'>number</td> -<td class='note'> -only applies to point lights -</td> -</tr> -<tr> -<td class='formal'>Exponential Fade</td> -<td class='scripting'>expfade</td> -<td class='type'>number</td> -<td class='note'> -only applies to point lights -</td> -</tr> -<tr> -<td class='formal'>Cast Shadows?</td> -<td class='scripting'>castshadow</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Darkness</td> -<td class='scripting'>shdwfactor</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Softness</td> -<td class='scripting'>shdwfilter</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Resolution</td> -<td class='scripting'>shdwmapres</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'256'</code>, <code>'512'</code>, <code>'1024'</code>, <code>'2048'</code> -</td> -</tr> -<tr> -<td class='formal'>Shadow Depth Bias</td> -<td class='scripting'>shdwbias</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Shadow Far Clip</td> -<td class='scripting'>shdwmapfar</td> -<td class='type'>number</td> -<td class='note'> -</td> -<tr> -<td class='formal'>Shadow Field of View</td> -<td class='scripting'>shdwmapfov</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Groups</td></tr> -<tr> -<td class='formal'>Import</td> -<td class='scripting'>sourcepath</td> -<td class='type'>string</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Text</td></tr> -<tr> -<td class='formal'>Text String</td> -<td class='scripting'>textstring</td> -<td class='type'>string</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Text Color R</td> -<td class='scripting'>textcolor.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Text Color G</td> -<td class='scripting'>textcolor.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Text Color B</td> -<td class='scripting'>textcolor.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Font</td> -<td class='scripting'>font</td> -<td class='type'>string</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Font Size</td> -<td class='scripting'>size</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Horizontal Alignment</td> -<td class='scripting'>horzalign</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Left'</code>, <code>'Center'</code>, <code>'Right'</code> -</td> -</tr> -<tr> -<td class='formal'>Vertical Alignment</td> -<td class='scripting'>vertalign</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Top'</code>, <code>'Middle'</code>, <code>'Bottom'</code> -</td> -</tr> -<tr> -<td class='formal'>Leading</td> -<td class='scripting'>leading</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tracking</td> -<td class='scripting'>tracking</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Models</td></tr> -<tr> -<td class='formal'>Mesh</td> -<td class='scripting'>sourcepath</td> -<td class='type'>string</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tessellation Mode</td> -<td class='scripting'>tessellation</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'None'</code>, <code>'Linear'</code>, <code>'Phong'</code>, <code>'NPatch'</code> -</td> -</tr> -<tr> -<td class='formal'>Edge Tessellation Value</td> -<td class='scripting'>edgetess</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Inner Tessellation Value</td> -<td class='scripting'>innertess</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Standard Materials</td></tr> -<tr> -<td class='formal'>Lighting</td> -<td class='scripting'>shaderlighting</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Vertex'</code>, <code>'Pixel'</code>, <code>'None'</code> -</td> -</tr> -<tr> -<td class='formal'>Blending Mode</td> -<td class='scripting'>blendmode</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Normal'</code>, <code>'Screen'</code>, <code>'Multiply'</code> -</td> -</tr> -<tr> -<td class='formal'>Diffuse Color R</td> -<td class='scripting'>diffuse.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Diffuse Color G</td> -<td class='scripting'>diffuse.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Diffuse Color B</td> -<td class='scripting'>diffuse.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Diffuse Map</td> -<td class='scripting'>diffusemap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Diffuse Map 2</td> -<td class='scripting'>diffusemap2</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Diffuse Map 3</td> -<td class='scripting'>diffusemap3</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Specular Reflection</td> -<td class='scripting'>specularreflection</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Specular Tint R</td> -<td class='scripting'>speculartint.r</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Tint G</td> -<td class='scripting'>speculartint.g</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Tint B</td> -<td class='scripting'>speculartint.b</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Amount</td> -<td class='scripting'>specularamount</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Map</td> -<td class='scripting'>specularmap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Specular Model</td> -<td class='scripting'>specularmodel</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Default'</code>, <code>'KGGX'</code>, <code>'KWard'</code> -</td> -</tr> -<tr> -<td class='formal'>Fresnel Power</td> -<td class='scripting'>fresnelPower</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Index of Refraction</td> -<td class='scripting'>ior</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Specular Roughness</td> -<td class='scripting'>specularroughness</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Bump Map</td> -<td class='scripting'>bumpmap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Normal Map</td> -<td class='scripting'>normalmap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Bump Amount</td> -<td class='scripting'>bumpamount</td> -<td class='type'>number</td> -<td class='note'> -affects both bump and normal maps -</td> -</tr> -<tr> -<td class='formal'>Displacement Map</td> -<td class='scripting'>displacementmap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Displacement Amount</td> -<td class='scripting'>displaceamount</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Opacity</td> -<td class='scripting'>opacity</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Opacity Map</td> -<td class='scripting'>opacitymap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tr> -<td class='formal'>Emissive Power</td> -<td class='scripting'>emissivepower</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Emissive Map</td> -<td class='scripting'>emissivemap</td> -<td class='type'>image element</td> -<td class='note'> -to change the image set the <code>sourcepath</code> attribute on the image element -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Material References</td></tr> -<tr> -<td class='formal'>Referenced Material</td> -<td class='scripting'>referencedmaterial</td> -<td class='type'>string</td> -<td class='note'> -relative or absolute element path -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Images</td></tr> -<tr> -<td class='formal'>U Repeat</td> -<td class='scripting'>scaleu</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>V Repeat</td> -<td class='scripting'>scalev</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Texture Mapping</td> -<td class='scripting'>mappingmode</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'UV Mapping'</code>, <code>'Environmental Mapping'</code> -</td> -</tr> -<tr> -<td class='formal'>U Tiling</td> -<td class='scripting'>tilingmodehorz</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Tiled'</code>, <code>'Mirrored'</code>, <code>'No Tiling'</code> -</td> -</tr> -<tr> -<td class='formal'>V Tiling</td> -<td class='scripting'>tilingmodevert</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Tiled'</code>, <code>'Mirrored'</code>, <code>'No Tiling'</code> -</td> -</tr> -<tr> -<td class='formal'>UV Rotation</td> -<td class='scripting'>rotationuv</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>U Position</td> -<td class='scripting'>positionu</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>V Position</td> -<td class='scripting'>positionv</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>U Pivot</td> -<td class='scripting'>pivotu</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>V Pivot</td> -<td class='scripting'>pivotv</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Sub-Presentation</td> -<td class='scripting'>subpresentation</td> -<td class='type'>string</td> -<td class='note'> -id of the sub-presentation to display -</td> -</tr> -<tr> -<td class='formal'>Source Path</td> -<td class='scripting'>sourcepath</td> -<td class='type'>string</td> -<td class='note'> -path to the image -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Paths</td></tr> -<tr> -<td class='formal'>Path</td> -<td class='scripting'>sourcepath</td> -<td class='type'>pathbuffer</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Stroke Width</td> -<td class='scripting'>width</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Path Type</td> -<td class='scripting'>pathtype</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Painted'</code>, <code>'Geometry'</code> -</td> -</tr> -<tr> -<td class='formal'>Paint Style</td> -<td class='scripting'>paintstyle</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'Filled and Stroked'</code>, <code>'Filled'</code>, <code>'Stroked'</code> -</td> -</tr> -<tr> -<td class='formal'>GPU Usage</td> -<td class='scripting'>linearerror</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Edge Detail</td> -<td class='scripting'>edgetessamount</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Width Detail</td> -<td class='scripting'>innertessamount</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Begin Cap Style</td> -<td class='scripting'>begincap</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'None'</code>, <code>'Taper'</code> -</td> -</tr> -<tr> -<td class='formal'>Taper Length (Begin Cap)</td> -<td class='scripting'>begincapoffset</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tip Opacity (Begin Cap)</td> -<td class='scripting'>begincapopacity</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tip Width (Begin Cap)</td> -<td class='scripting'>begincapwidth</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>End Cap Style</td> -<td class='scripting'>endcap</td> -<td class='type'>string</td> -<td class='note'> -values: <code>'None'</code>, <code>'Taper'</code> -</td> -</tr> -<tr> -<td class='formal'>Taper Length (End Cap)</td> -<td class='scripting'>endcapoffset</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tip Opacity (End Cap)</td> -<td class='scripting'>endcapopacity</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Tip Width (End Cap)</td> -<td class='scripting'>endcapwidth</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Path SubPaths</td></tr> -<tr> -<td class='formal'>Closed Path?</td> -<td class='scripting'>closed</td> -<td class='type'>boolean</td> -<td class='note'> -</td> -</tr> -<tbody></tbody> -<tr><th colspan="4">Path Anchor Points</td></tr> -<tr> -<td class='formal'>Position</td> -<td class='scripting'>position</td> -<td class='type'>float2</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Handle Angle</td> -<td class='scripting'>incomingangle</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Incoming Distance</td> -<td class='scripting'>incomingdistance</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -<tr> -<td class='formal'>Outgoing Distance</td> -<td class='scripting'>outgoingdistance</td> -<td class='type'>number</td> -<td class='note'> -</td> -</tr> -</table> -\endraw diff --git a/doc/src/06-qml-reference/03-attribute-names.qdoc b/doc/src/06-qml-reference/03-attribute-names.qdoc deleted file mode 100644 index 35ed1477..00000000 --- a/doc/src/06-qml-reference/03-attribute-names.qdoc +++ /dev/null @@ -1,39 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// This is a wrapper for getting script-generated -// content in 3_Attribute\ Names.html into qdoc. - -/*! - \page qml-reference-attribute-names.html - \title QML Reference: Attribute Names - \ingroup qt3dstudio-qml-api - \keyword Attributes - - \include 03-attribute-names.html -*/ diff --git a/doc/src/06-qml-reference/4-preserving-attributes.qdoc b/doc/src/06-qml-reference/4-preserving-attributes.qdoc deleted file mode 100644 index 22158e58..00000000 --- a/doc/src/06-qml-reference/4-preserving-attributes.qdoc +++ /dev/null @@ -1,178 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - -TODO: Needs to be rewritten or removed. - -\title QML: Preserving Attributes -\page qml-reference-preserving-attributes.html -\ingroup qt3dstudio-qml-api - -Everyone wants presentations to take -up as little memory at runtime as possible. The benefits of memory -efficiency are numerous, especially on embedded hardware where cache -coherency is king. In order to minimize the amount of memory used by a -given presentation the Qt 3D Studio Runtime employs several -sophisticated and aggressive optimizations. - -One such optimization is the static analysis of a presentation performed -by the runtime at startup. The runtime looks at each attribute on each -element in the presentation and uses a simple heuristic to decide if a -given attribute is `going to change at runtime'. The idea is that if an -attribute is not going to change at runtime there is no point in storing -it at all, anywhere. It will be set in the static scene and never need -to be updated. - -The heuristic that is used to make this determination is twofold. An -attribute will be preserved (not optimized away) if it is either (1) -animated, or (2) an attribute on a master element that is unlinked and -changed per-slide. - -A problem occurs when an attribute is optimized away and later a script -tries to access or modify that attribute at runtime. When this happens -this error message will be logged: -\c{setAttribute: Attribute "someAttribute" not found.} The solution -to this problem is to \"reference\" these attributes with the behavior -that needs to change them to ensure they are not optimized away. - -Note that not every attribute needs to be referenced for scripting. -Custom attributes on behaviors are never optimized away (otherwise, why -did you add them?) and some other attributes are also never optimized -away, such as \c{name} for all elements, or attributes specified to -Text objects (because the runtime bitmap font engine needs access to the -values to accurately render the text). - -\section1 References - -To make the references modular, and to ensure they require no knowledge -or intervention from an artist wanting to use a behavior, the references -are stored as part of the behavior. These are placed inside a -\c{<Reference>} element in the \e{Artist Interface} -preamble at the top of a behavior. For example: - -\badcode ---[[ - <Property ... /> - <Property ... /> - <Handler ... /> - <Event ... /> - <Event ... /> - <Event ... /> - - <Reference> - parent.opacity - parent.children.position - </Reference> ---]] - --- The rest of the behavior code -function self:onInitialize() - ... -end -\endcode - -Add reference strings to indicate which attributes this behavior needs -at runtime to guarantee its proper execution. Each attribute reference -string is made up of two parts: - -\list -\li - the element or elements to preserve the attributes on, -\li - followed by the attribute(s) to preserve. -\endlist -The first part can start with a path, either relative or absolute. -\c{Scene.Layer.Cube} specifies a path to a certain cube absolutely, -while \c{parent.Cube} specifies a path to a sibling Cube (relative -to the behavior). Alternatively, the first part can start with a square -bracketed name, like \c{{[}targetObject{]}} where the name in -square brackets is the name of a Object Reference type custom property -on this behavior. Using the square bracket syntax is equivalent to -typing an absolute path to an object, except the object can be chosen by -the artist in the inspector palette. - -The first part can optionally end with one of the two keywords, -\c{.children} or \c{.descendants}. Specifying these will cause -the specified attribute(s) to be preserved on either all of the children -of the element pointed to by the specified path, or recursively preserve -that attribute on all descendants. See the examples below for more -details. - -The second part of the attribute reference string is the name of a -attribute. The \e{\l{QML Reference: Attribute Names}{Attribute Names}} -page of this manual outlines the names of the different -attributes. You can also use the suffixe \c{.all} to preserve all -attributes on a certain object, though this is typically not recommended -as it undermines the operation of the optimizer. - -The second part of the attribute reference string can also use a square -bracket syntax to reference a String type custom property on this -behavior to specify (by name, as a string) which attribute to preserve. -For example, if you had a String type custom property called -\c{targetProp}, you could have an attribute reference string like -\c{Scene.Layer.Cube.{[}targetProp{]}} which would preserve whatever -property that was specified (by name) as the value of targetProp set in -the inspector palette. - -Explaining that all in words is a bit cumbersome, the following examples -show many different attribute reference strings. - -\section2 Reference Examples - -\badcode -# Preserve opacity on a certain cube - -Scene.Layer.Cube.opacity - -# Preserve opacity on the element the behavior is attached to - -parent.opacity - -# Preserve position on all the children of a certain group - -Scene.Layer.Group.children.position - -# Same as above, but specify the group with an object reference custom property - -[targetGroup].children.position - -# Keep opacity on siblings and their descendants - -parent.descendants.opacity - -# Preserves the property typed in by the artist in the Inspector palette - -parent.[targetProp] - -# Circumvent the optimizer (don't do this :) - -Scene.descendants.all -\endcode - -*/ diff --git a/doc/src/06-qml-reference/Behavior.qdoc b/doc/src/06-qml-reference/Behavior.qdoc deleted file mode 100644 index d24202b0..00000000 --- a/doc/src/06-qml-reference/Behavior.qdoc +++ /dev/null @@ -1,215 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype Behavior - \brief Technology Preview Behavior Integration - - This is a technology preview (API may change in upcoming version) of how - Qt 3D Studio could support writing custom behavior scripts using QML and - JavaScript. It enables interacting with the runtime using the Behavior - QML class exposed to each behavior script. - - In QML behavior script, the integration to Qt 3D Studio is established by using - the metadata tag system similar to the \l {file-formats-effects.html}{effect} - and \l {file-formats-material.html}{material} files. - - \badcode -[[ -<Property name="somePropertyName" ... /> - -<Handler name="someHandlerName" ... /> - -<Event name="onSomeEvent" ... /> -... -]] - \endcode - - Secondly, the QML behavior script needs access to the QML module. - \badcode -import QtStudio3D.Behavior 1.1 - \endcode - - Finally, the Behavior type needs to be implemented in the qml script. - \badcode -Behavior { - id: mybehavior - - function onInitialize() { - ... - } - - function onActivate() { - ... - } - - function onUpdate() { - ... - } - - function onDeactivate() { - ... - } - - function someHandlerName() { - ... - fireEvent("onSomeEvent") - } -} - \endcode -*/ - -/*! - \qmlmethod float Behavior::getDeltaTime() - - Returns the delta time between this and previous frame in milliseconds. -*/ - -/*! - \qmlmethod float Behavior::getAttribute(string attribute) - - Returns the value of the given \a attribute. -*/ - -/*! - \qmlmethod void Behavior::setAttribute(string attribute, var value) - - Sets the \a value of the given \a attribute. -*/ - -/*! - \qmlmethod void Behavior::setAttribute(string handle, string attribute, var value) - - Sets the \a value of the given \a attribute for a given \a handle. -*/ - -/*! - \qmlmethod void Behavior::fireEvent(string event) - - Fires the given \a event. -*/ - -/*! - \qmlmethod void Behavior::registerForEvent(string event, QJSValue function) - - Registers the script for an \a event with the handler \a function. -*/ - -/*! - \qmlmethod void Behavior::registerForEvent(string handle, string event, QJSValue function) - - Registers the script for an \a event with the handler \a function for a given \a handle. -*/ - -/*! - \qmlmethod void Behavior::unregisterForEvent(string event) - - Unregisters the script from an \a event. -*/ - -/*! - \qmlmethod void Behavior::unregisterForEvent(string handle, string event) - - Unregisters the script from an \a event for a given \a handle. -*/ - -/*! - \qmlmethod vector2d Behavior::getMousePosition() - - Returns the current position of the mouse in presentation coordinates. -*/ - -/*! - \qmlmethod matrix4 Behavior::calculateGlobalTransform(string handle) - - Returns the current global transformation of the element specified by the - \a handle or parent element if the handle is empty string. -*/ - -/*! - \qmlmethod vector3d Behavior::lookAt(vector3d target) - - Returns the rotation angles of the look at \a target. -*/ - -/*! - \qmlmethod string Behavior::getParent(string handle) - - Returns the parent of the given \a handle or parent element if the handle is - empty string. -*/ - -/*! - \qmlmethod vector3d Behavior::matrixToEuler(matrix4 matrix) - - Returns the euler angles extracted from the \a matrix rotations. -*/ - -/*! - \qmlmethod void Behavior::setDataInputValue(string name, variant value) - - Sets the \a value of the data input identified with the \a name. - */ - -/*! - \qmlsignal void Behavior::onInitialize() - - This signal is emitted when the script becomes active the first time. - If multiple behaviors match this, the signal for parent elements will - occur before their children/descendants. \note Each behavior will - only have its \c{onInitialize} signaled once, even if it is deactivated and - later reactivated. - */ - -/*! - \qmlsignal void Behavior::onActivate() - - This signal is emitted when the script becomes active. - Any behaviors which were not active last frame that are active - this frame will have their \c{onActivate} signaled. If - multiple behaviors match this, the signal for parent elements will - occur before their descendants. - */ - -/*! - \qmlsignal void Behavior::onDeactivate() - - This signal is emitted when the script becomes inactive. - Any behaviors which were active last frame that are not active - this frame will have their \c{onDeactivate} signaled. If - multiple behaviors match this, the signal for parent elements will - occur before their descendants. - */ - -/*! - \qmlsignal void Behavior::onUpdate() - - This signal is emitted on each frame when the script is active. - Any behaviors that are active this frame will have their - \c{onUpdate} signaled. If multiple behaviors match this, the signal - for parent elements will occur before their descendants. - */ diff --git a/doc/src/06-qml-reference/DataInput.qdoc b/doc/src/06-qml-reference/DataInput.qdoc deleted file mode 100644 index ed1e0759..00000000 --- a/doc/src/06-qml-reference/DataInput.qdoc +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype DataInput - \inqmlmodule QtStudio3D - \brief Control type for data inputs in a Qt 3D Studio presentation. - \since QtStudio3D 1.1 - - This type is a convenience type for controlling a data input in a presentation. - - \sa Studio3D, {Qml Presentation} -*/ - -/*! - \qmlproperty string DataInput::name - - Specifies the name of the controlled data input element in the presentation. - This property must be set as part of DataInput declaration. -*/ - -/*! - \qmlproperty variant DataInput::value - - Specifies the value of the controlled data input element in the presentation. - The changes to the value property are queued and handled asynchronously before the - next frame is displayed. - - The value of this property only accounts for changes done via the same DataInput instance. - If the value of the same data input in the presentation is changed elsewhere, - for example via presentation scripting, those changes are not reflected in - the value of this property. Due to this uncertainty, this property treats all value sets as - changes even if the newly set value is the same value as the previous value. -*/ diff --git a/doc/src/06-qml-reference/Element.qdoc b/doc/src/06-qml-reference/Element.qdoc deleted file mode 100644 index 0be7f35f..00000000 --- a/doc/src/06-qml-reference/Element.qdoc +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype Element - \inqmlmodule QtStudio3D - \brief Control type for elements in a Qt 3D Studio presentation. - - This type is a convenience type for managing a presentation element. - - All methods provided by this type are queued and handled asynchronously before the next - frame is displayed. - - \sa Studio3D, {Qml Presentation}, SceneElement -*/ - -/*! - \qmlproperty string Element::elementPath - - Holds the element path of the presentation element. - This property must be set as part of Element declaration. - You can specify an element of a sub-presentation by adding "SubPresentationId:" - in front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \qmlmethod void Element::setAttribute(string attributeName, variant value) - - Sets the \a value of an attribute on an element specified by this instance. - The \a attributeName is the \l{QML Reference: Attribute Names}{scripting name} of the attribute. - - The attribute must be preserved for scripting to be set by this function, or else it will fail. - An attribute is preserved if it is either \e{animated}, or - \e{an attribute on a master element that is unlinked and changed per-slide}. -*/ - -/*! - \qmlmethod void Element::fireEvent(string eventName) - - Dispatches an event with \a eventName on the element specified by this instance. - Appropriate actions created in Qt 3D Studio or callbacks registered using the registerForEvent() - method in attached scripts will be executed in response to the event. -*/ - -/*! - \qmlsignal Element::elementPathChanged(string elementPath) - - This signal is emitted when the element path property changes. - The new value is provided in the \a elementPath parameter. - - The corresponding handler is \c onElementPathChanged. -*/ diff --git a/doc/src/06-qml-reference/Presentation.qdoc b/doc/src/06-qml-reference/Presentation.qdoc deleted file mode 100644 index 1addf969..00000000 --- a/doc/src/06-qml-reference/Presentation.qdoc +++ /dev/null @@ -1,204 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype Presentation - \inqmlmodule QtStudio3D - - \keyword Qml Presentation - - \brief Control type for Qt 3D Studio presentations. - - This type provides properties and methods for controlling a presentation. - - All methods provided by this type are queued and handled asynchronously before the next - frame is displayed. - - \sa Studio3D -*/ - -/*! - \qmlproperty url Presentation::source - - Holds the presentation source (\c{*.uia} or \c{*.uip}) file location. - May be either a file URL or a qrc URL. -*/ - -/*! - \qmlproperty SubPresentationSettings Presentation::subPresentationSettings - - Holds the settings for the subpresentations in the Qt 3D Studio presentation. - - This property is read-only. -*/ - -/*! - \qmlmethod void Presentation::goToSlide(string elementPath, string name) - - Requests a time context (a Scene or a Component element) to change to a specific slide - by \a name. If the context is already on that slide playback will start over. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \qmlmethod void Presentation::goToSlide(string elementPath, int index) - - Requests a time context (a Scene or a Component element) to change to a specific slide by - index \a index. If the context is already on that slide playback will start over. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \qmlmethod void Presentation::goToSlide(string elementPath, bool next, bool wrap) - - Requests a time context (a Scene or a Component element) to change to the next or the - previous slide, depending on the value of \a next. If the context is already at the - last or first slide, \a wrap defines if change occurs to the opposite end. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \qmlmethod void Presentation::goToTime(string elementPath, real time) - - Sets a time context (a Scene or a Component element) to a specific playback \a time in seconds. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. - - The behavior when specifying a time before 0 or after the end time for the current slide depends - on the play mode of the slide: - \list - \li \c{Stop at End} - values outside the valid time range instead clamp to the boundaries. - For example, going to time -5 is the same as going to time 0. - \li \c{Looping} - values outside the valid time range mod into the valid range. For example, - going to time -4 on a 10 second slide is the same as going to time 6. - \li \c{Ping Pong} - values outside the valid time range ‘bounce’ off the ends. For example, - going to time -4 is the same as going to time 4 (assuming the time context is at least 4 seconds - long), while going to time 12 on a 10 second slide is the same as going to time 8. - \li \c{Ping} - values less than 0 are treated as time 0, while values greater than the endtime - bounce off the end (eventually hitting 0.) - \endlist -*/ - -/*! - \qmlmethod void Presentation::setAttribute(string elementPath, string attributeName, - variant value) - - Sets the \a value of an attribute on an element found at \a elementPath. The \a attributeName is - the \l{QML Reference: Attribute Names}{scripting name} of the attribute. - - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene.Mesh.Material"}. - - The attribute must be preserved for scripting to be set by this function, or else it will fail. - An attribute is preserved if it is either \e{animated}, or - \e{an attribute on a master element that is unlinked and changed per-slide}. -*/ - -/*! - \qmlmethod void Presentation::setPresentationActive(string id, bool active) - - Stops or starts updates to a sub-presentation based on the \a active flag. The presentation is - referenced to by the \a id, which is the name of the presentation without the \c{.uip}. - - Making a presentation inactive prevents any elements, behaviors, and animations within it from - updating. It also prevents any events within that presentation from being processed. It does - not, however, prevent the presentation from rendering. An inactive presentation will continue - to render using its last-updated information. - - Explicitly inactivating presentations can provide a significant performance increase, depending - on the number and size of the presentations that are inactive. Inactive presentations are not - ‘paused’. When the presentation is re-activated, animations will resume at the time they should - be had they been running, not where they were when the presentation was made inactive. -*/ - -/*! - \qmlmethod void Presentation::fireEvent(string elementPath, string eventName) - - Dispatches an event with \a eventName on a specific element found in \a elementPath. Appropriate - Appropriate actions created in Qt 3D Studio or callbacks registered using the registerForEvent() - method in attached scripts will be executed in response to the event. - - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene.Mesh"}. -*/ - -/*! - \qmlmethod void Presentation::setGlobalAnimationTime(int64 milliseconds) - - Sets the global animation time to \a milliseconds. Setting the global animation time to a - non-zero value will disable the automatic animation timer. Setting the value to zero - resumes automatic animation timer. -*/ - -/*! - \qmlmethod void Presentation::setDataInputValue(string name, variant value) - \since QtStudio3D 1.1 - - Sets the \a value of a data input element \a name in the presentation. -*/ - -/*! - \qmlsignal Presentation::slideEntered(string elementPath, int index, string name) - - This signal is emitted when a slide is entered in the presentation. - The \a elementPath specifies the time context (a Scene or a Component element) owning the - entered slide. - The \a index and \a name contain the index and the name of the entered slide. -*/ - -/*! - \qmlsignal Presentation::slideExited(string elementPath, int index, string name) - - This signal is emitted when a slide is exited in the presentation. - The \a elementPath specifies the time context (a Scene or a Component element) owning the - exited slide. - The \a index and \a name contain the index and the name of the exited slide. -*/ - -/*! - \qmlsignal Presentation::sourceChanged(url source) - - This signal is emitted when the source property has changed. - The new value is provided in the \a source parameter. - - The corresponding handler is \c onSourceChanged. -*/ diff --git a/doc/src/06-qml-reference/Qt3DS_QML_Texture_Streaming.qdoc b/doc/src/06-qml-reference/Qt3DS_QML_Texture_Streaming.qdoc deleted file mode 100644 index e58ad402..00000000 --- a/doc/src/06-qml-reference/Qt3DS_QML_Texture_Streaming.qdoc +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype SubPresentationSettings - \inqmlmodule QtStudio3D 1.0 - \brief Settings for sub-presentations. - - This type enables specifying settings for the sub-presentations - from Qt Quick application. - - \note Currently only 'presentation-qml' settings can be set. - - \section2 Usage - - \qml - Studio3D { - id: studio3D - Presentation { - source: "file:///presentation.uia" - SubPresentationSettings { - qmlStreams: [ - QmlStream { - presentationId: "sub-presentation-id" - Item { - width: 1024 - height: 1024 - } - } - ] - } - } - } - \endqml - */ - -/*! - \qmlproperty list<QmlStream> SubPresentationSettings::qmlStreams - - Holds the list of settings for \c presentation-qml sub-presentations. - */ - -/*! - \qmltype QmlStream - \inqmlmodule QtStudio3D - \brief QML stream. - - This type allows attaching QML sub-presentation with a quick item. The item is rendered to a - texture and used as a part of a Qt 3D Studio presentation. - - The sub-presentation element must be specified in the \e assets element of the presentation - .uia file: - - \badcode - <assets ...> - <presentation-qml id="presentation-id" args="preview-presentation.qml" /> - </assets> - \endcode - - The \c presentation-id attribute must contain a unique ID of the sub-presentation. - The \c args attribute may contain an optional preview version of the item, which is only - used in the Viewer application. - */ - -/*! - \qmlproperty string QmlStream::presentationId - - Holds the string ID of the sub-presentation the item is attached to. The id must be one of - the \c presentation-qml IDs specified in the .uia file. - */ - -/*! - \qmlproperty Item QmlStream::item - - Holds the item attached to the sub-presentation. The item size is used as the the size of the - texture the item is rendered to. Default values \c{(256, 256)} are used if the item doesn't - specify a size. - */ diff --git a/doc/src/06-qml-reference/SceneElement.qdoc b/doc/src/06-qml-reference/SceneElement.qdoc deleted file mode 100644 index 2bb05e74..00000000 --- a/doc/src/06-qml-reference/SceneElement.qdoc +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype SceneElement - \inqmlmodule QtStudio3D - \inherits Element - \brief Control type for scene and component elements in a Qt 3D Studio presentation. - - This type is a convenience type for managing the slides of a single - time context (a Scene or a Component element) of a presentation. - - All methods provided by this type are queued and handled asynchronously before the next - frame is displayed. - - \sa Studio3D, {Qml Presentation} -*/ - -/*! - \qmlproperty int SceneElement::currentSlideIndex - - Holds the index of the currently active slide of the tracked time context. - - Changing the current slide via this property is asynchronous. The property - value will not actually change until the next frame has been processed, and - even then only if the new slide was valid. - - \note If this property is set to something else than the default slide for the scene at the - initial declaration of SceneElement, you will still get an extra changed signal for the - default slide before the slide changes to the desired one. This happens in order to ensure - we end up with the index of the slide that is actually shown even if the slide specified in the - initial declaration is invalid. -*/ - -/*! - \qmlproperty int SceneElement::previousSlideIndex - - Holds the index of the previously active slide of the tracked time context. - - This property is read-only. -*/ - -/*! - \qmlproperty string SceneElement::currentSlideName - - Holds the name of the currently active slide of the tracked time context. - - Changing the current slide via this property is asynchronous. The property - value will not actually change until the next frame has been processed, and - even then only if the new slide was valid. - - \note If this property is set to something else than the default slide for the scene at the - initial declaration of SceneElement, you will still get an extra changed signal for the - default slide before the slide changes to the desired one. This happens in order to ensure - we end up with the name of the slide that is actually shown even if the slide specified in the - initial declaration is invalid. -*/ - -/*! - \qmlproperty string SceneElement::previousSlideName - - Holds the name of the previously active slide of the tracked time context. - - This property is read-only. -*/ - -/*! - \qmlsignal SceneElement::currentSlideIndexChanged(int currentSlideIndex) - - This signal is emitted when the current slide changes. - The new value is provided in the \a currentSlideIndex parameter. - - This signal is always emitted with currentSlideNameChanged. - - The corresponding handler is \c onCurrentSlideIndexChanged. -*/ - -/*! - \qmlsignal SceneElement::previousSlideIndexChanged(int previousSlideIndex) - - This signal is emitted when the previous slide changes. - The new value is provided in the \a previousSlideIndex parameter. - - This signal is always emitted with previousSlideNameChanged. - - The corresponding handler is \c onPreviousSlideIndexChanged. -*/ - -/*! - \qmlsignal SceneElement::currentSlideNameChanged(string currentSlideName) - - This signal is emitted when the current slide changes. - The new value is provided in the \a currentSlideName parameter. - - This signal is always emitted with currentSlideIndexChanged. - - The corresponding handler is \c onCurrentSlideNameChanged. -*/ - -/*! - \qmlsignal SceneElement::previousSlideNameChanged(string previousSlideName) - - This signal is emitted when the previous slide changes. - The new value is provided in the \a previousSlideName parameter. - - This signal is always emitted with previousSlideIndexChanged. - - The corresponding handler is \c onPreviousSlideNameChanged. -*/ - -/*! - \qmlmethod void SceneElement::goToSlide(bool next, bool wrap) - - Requests a time context (a Scene or a Component element) to change to the next or the - previous slide, depending on the value of \a next. If the context is already at the - last or first slide, \a wrap defines if change occurs to the opposite end. -*/ - -/*! - \qmlmethod void SceneElement::goToTime(string elementPath, real time) - - Sets a time context (a Scene or a Component element) to a specific playback \a time in seconds. - - For behavior details, see Presentation::goToTime() documentation. -*/ diff --git a/doc/src/06-qml-reference/Studio3D.qdoc b/doc/src/06-qml-reference/Studio3D.qdoc deleted file mode 100644 index 07fbbd67..00000000 --- a/doc/src/06-qml-reference/Studio3D.qdoc +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype Studio3D - \inqmlmodule QtStudio3D - \brief Qt 3D Studio presentation viewer. - - This type enables developers to embed Qt 3D Studio presentations in Qt Quick. - - \section2 Example usage - - \qml - Studio3D { - id: studio3D - Presentation { - source: "qrc:///presentation.uia" - SceneElement { - id: scene - elementPath: "Scene" - currentSlideIndex: 2 - } - Element { - id: textLabel - elementPath: "Scene.Layer.myLabel" - } - } - ViewerSettings { - showRenderStats: true - } - onRunningChanged: { - console.log("Presentation ready!"); - } - } - \endqml -*/ - -/*! - \qmlproperty bool Studio3D::running - - The value of this property is \c true when the viewer has been initialized and the presentation - is running. - - This property is read-only. -*/ - -/*! - \qmlproperty Presentation Studio3D::presentation - - Accessor for the presentation. - - This property is read-only. -*/ - -/*! - \qmlproperty ViewerSettings Studio3D::viewerSettings - - Accessor for the viewer settings. - - This property is read-only. -*/ - -/*! - \qmlsignal Studio3D::frameUpdate() - - This signal is emitted each time a frame has been updated regardless of visibility. - This allows a hidden Studio3D element to still process information every frame, even though - the renderer is not rendering. - - The corresponding handler is \c onFrameUpdate. - - To prevent expensive handlers from being processed when hidden, add an early return to - the top like: - - \qml - onFrameUpdate: { - if (!visible) return; - ... - } - \endqml -*/ - -/*! - \qmlsignal Studio3D::presentationReady() - \since QtStudio3D 1.1 - - This signal is emitted when the viewer has been initialized and the presentation is ready to - be shown. The difference to \c running property is that the viewer has to be visible for - \c running to get \c{true}. This signal is useful for displaying splash screen while viewer - is getting initialized. -*/ diff --git a/doc/src/06-qml-reference/ViewerSettings.qdoc b/doc/src/06-qml-reference/ViewerSettings.qdoc deleted file mode 100644 index ae8811fa..00000000 --- a/doc/src/06-qml-reference/ViewerSettings.qdoc +++ /dev/null @@ -1,129 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \qmltype ViewerSettings - \inqmlmodule QtStudio3D - \brief Qt 3D Studio presentation viewer settings. - - This type provides properties to define presentation independent viewer settings. - - \sa Studio3D -*/ - -/*! - \qmlproperty color ViewerSettings::matteColor - - Specifies the color of the viewer area not occupied by the presentation. - Default value is black. -*/ - -/*! - \qmlproperty bool ViewerSettings::showRenderStats - - If this property is set to \c{true}, render statistics are displayed on the upper part - of the viewer. - Default value is \c{false}. -*/ - -/*! - \qmlproperty enumeration ViewerSettings::shadeMode - - The shading mode used for the viewed presentation. - The default value is \c{ShadeModeShaded}. - - \value ViewerSettings.ShadeModeShaded The objects in the presentation are shaded normally. - \value ViewerSettings.ShadeModeShadedWireframe The objects in the presentation are shaded - with a super-imposed wireframe on top of the normal shading. Only objects that specify - a tesselation mode will display this wireframe. - - \sa Q3DSViewerSettings::ShadeMode -*/ - -/*! - \qmlproperty enumeration ViewerSettings::scaleMode - - The scaling mode used for the viewer presentation. - - \value ViewerSettings::ScaleModeFit Scales the presentation to fit the viewer. - \value ViewerSettings::ScaleModeFill Scales the presentation to fill the viewer. - \value ViewerSettings::ScaleModeCenter Centers the presentation into the viewer without - scaling it. - The default value is \c{ScaleModeCenter}. - - \sa Q3DSViewerSettings::ScaleMode -*/ - -/*! - \qmlsignal ViewerSettings::matteColorChanged(color color) - - This signal is emitted when the matteColor property has changed. - The new value is provided in the \a color parameter. - - The corresponding handler is \c onMatteColorChanged. -*/ - -/*! - \qmlsignal ViewerSettings::showRenderStatsChanged(bool show) - - This signal is emitted when the showRenderStats property has changed. - The new value is provided in the \a show parameter. - - The corresponding handler is \c onShowRenderStatsChanged. -*/ - -/*! - \qmlsignal ViewerSettings::shadeModeChanged(enumeration mode) - - This signal is emitted when the shadeMode property has changed. - The new value is provided in the \a mode parameter. - - The corresponding handler is \c onShadeModeChanged. -*/ - -/*! - \qmlsignal ViewerSettings::scaleModeChanged(enumeration mode) - - This signal is emitted when the scaleMode property has changed. - The new value is provided in the \a mode parameter. - - The corresponding handler is \c onScaleModeChanged. -*/ - -/*! - \qmlmethod void ViewerSettings::save(string group, string organization, string application) - - Persistently saves the viewer \l{QSettings}{settings} using \a group, \a organization and - \a application. -*/ - -/*! - \qmlmethod void ViewerSettings::load(string group, string organization, string application) - - Loads previously saved viewer \l{QSettings}{settings} using \a group, \a organization and - \a application. -*/ diff --git a/doc/src/06-qml-reference/qml-index.qdoc b/doc/src/06-qml-reference/qml-index.qdoc deleted file mode 100644 index e8b690ff..00000000 --- a/doc/src/06-qml-reference/qml-index.qdoc +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! -\qmlmodule QtStudio3D 1.0 -\title Qt 3D Studio QML Types -\keyword QML API -\ingroup qmlmodules -\noautolist - -Qt 3D Studio provides a number of QML types to view and control the -presentation. These types can be imported into your application using the -following import statement in your .qml file: - -\badcode -import QtStudio3D 1.0 -\endcode - -\section1 QML Types - -\generatelist {qmltypesbymodule QtStudio3D} - -\section1 QML Behavior Script - -\l Behavior - -\section1 Additional Information - -//! [toc] -\list -\omit -TODO: Needs to be rewritten or removed. -\li \l {QML: Preserving Attributes}{Preserving Attributes} -\endomit -\li \l {QML Reference: Attribute Names}{Attribute Names} -\endlist -//! [toc] -*/ diff --git a/doc/src/12-cpp-reference/Q3DSDataInput.qdoc b/doc/src/12-cpp-reference/Q3DSDataInput.qdoc deleted file mode 100644 index 568de8f1..00000000 --- a/doc/src/12-cpp-reference/Q3DSDataInput.qdoc +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSDataInput - \inheaderfile q3dsdatainput.h - \inmodule QtStudio3D - \since QtStudio3D 1.1 - \brief Control class for data inputs in a Qt 3D Studio presentation. - - This class is a convenience class for controlling a data input in a presentation. - - \sa Q3DSPresentation -*/ - -/*! - \fn Q3DSDataInput::Q3DSDataInput(const QString &name, QObject *parent = nullptr) - - Constructs a Q3DSDataInput instance and initializes the \a name. - An optional \a parent object can be specified. -*/ - -/*! - \fn Q3DSDataInput::Q3DSDataInput(Q3DSPresentation *presentation, const QString &name, - QObject *parent = nullptr) - - Constructs a Q3DSDataInput instance and initializes the \a name. - The constructed instance is automatically \l{Q3DSPresentation::registerDataInput}{registered} - for the \a presentation. - An optional \a parent object can be specified. -*/ - -/*! - \fn Q3DSDataInput::Q3DSDataInput(Q3DSDataInputPrivate *d, Q3DSPresentation *presentation, - const QString &name, QObject *parent = nullptr) - \internal -*/ - -/*! - \property Q3DSDataInput::name - - Specifies the name of the controlled data input element in the presentation. - This property must be set before the data input is registered to a presentation. - - \sa Q3DSPresentation::registerDataInput() -*/ - -/*! - \property Q3DSDataInput::value - - Specifies the value of the controlled data input element in the presentation. - - The value of this property only accounts for changes done via the same Q3DSDataInput instance. - If the value of the same data input in the presentation is changed elsewhere, - for example via presentation scripting, those changes are not reflected in - the value of this property. Due to this uncertainty, this property treats all value sets as - changes even if the newly set value is the same value as the previous value. -*/ diff --git a/doc/src/12-cpp-reference/Q3DSElement.qdoc b/doc/src/12-cpp-reference/Q3DSElement.qdoc deleted file mode 100644 index e4f2f0df..00000000 --- a/doc/src/12-cpp-reference/Q3DSElement.qdoc +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSElement - \inheaderfile q3dselement.h - \inmodule QtStudio3D - \brief Control class for elements in a Qt 3D Studio presentation. - - This class is a convenience class for managing a presentation element. - - \sa Q3DSPresentation, Q3DSWidget, Q3DSSurfaceViewer, Q3DSSceneElement -*/ - -/*! - \fn Q3DSElement::Q3DSElement(const QString &elementPath, QObject *parent = nullptr) - - Constructs a Q3DSElement instance and initializes the \a elementPath. - An optional \a parent object can be specified. -*/ - -/*! - \fn Q3DSElement::Q3DSElement(Q3DSPresentation *presentation, const QString &elementPath, - QObject *parent = nullptr) - - Constructs a Q3DSElement instance and initializes the \a elementPath. - The constructed instance is automatically \l{Q3DSPresentation::registerElement}{registered} - for the \a presentation. - An optional \a parent object can be specified. -*/ - -/*! - \fn Q3DSElement::Q3DSElement(Q3DSElementPrivate *d, Q3DSPresentation *presentation, - const QString &elementPath, QObject *parent = nullptr) - \internal -*/ - -/*! - \property Q3DSElement::elementPath - - Holds the element path of the presentation element. - This property must be set before the element is registered to a presentation. - You can specify an element of a sub-presentation by adding "SubPresentationId:" - in front of the element path, for example \c{"SubPresentationOne:Scene"}. - - \sa Q3DSPresentation::registerElement() -*/ - -/*! - \fn void Q3DSElement::setAttribute(const QString &attributeName, const QVariant &value) - - Sets the \a value of an attribute on the element specified by this instance. - The \a attributeName is the \l{QML Reference: Attribute Names}{scripting name} of the attribute. - - The attribute must be preserved for scripting to be set by this function, or else it will fail. - An attribute is preserved if it is either \e{animated}, or - \e{an attribute on a master element that is unlinked and changed per-slide}. -*/ - -/*! - \fn void Q3DSElement::fireEvent(const QString &eventName) - - Dispatches an event with \a eventName on the element specified by this instance. - Appropriate actions created in Qt 3D Studio or callbacks registered using the registerForEvent() - method in attached scripts will be executed in response to the event. -*/ - diff --git a/doc/src/12-cpp-reference/Q3DSPresentation.qdoc b/doc/src/12-cpp-reference/Q3DSPresentation.qdoc deleted file mode 100644 index 12b45acd..00000000 --- a/doc/src/12-cpp-reference/Q3DSPresentation.qdoc +++ /dev/null @@ -1,284 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSPresentation - \inheaderfile q3dspresentation.h - \inmodule QtStudio3D - \brief Control class for Qt 3D Studio presentations. - - This class provides properties and methods for controlling a presentation. - - All methods provided by this class are queued and handled asynchronously before the next - frame is displayed. - - You should never construct this class yourself. You can ask for an instance - from \l{Q3DSSurfaceViewer::presentation}{Q3DSSurfaceViewer} - or \l{Q3DSWidget::presentation}{Q3DSWidget}. -*/ - -/*! - \fn Q3DSPresentation::Q3DSPresentation(QObject *parent = nullptr) - \internal -*/ - -/*! - \fn Q3DSPresentation::~Q3DSPresentation() - \internal -*/ - -/*! - \property Q3DSPresentation::source - - Holds the presentation source (\c{*.uia} or \c{*.uip}) file location. - May be either a file URL or a qrc URL. -*/ - -/*! - \fn void Q3DSPresentation::registerElement(Q3DSElement *element) - - Registers an \a element for the presentation. The registered \a element can be used to manage - the corresponding element in the presentation. -*/ - -/*! - \fn void Q3DSPresentation::unregisterElement(Q3DSElement *element) - - Unregisters an \a element from the presentation. -*/ - -/*! - \fn Q3DSElement *Q3DSPresentation::registeredElement(const QString &elementPath) const - - Returns a pointer to a registered element with \a elementPath. If no element with given path - is registered, a null pointer is returned. -*/ - -/*! - \fn void Q3DSPresentation::registerDataInput(Q3DSDataInput *dataInput) - - \since QtStudio3D 1.1 - Registers a \a dataInput for the presentation. The registered \a dataInput can be used to manage - the corresponding data input in the presentation. -*/ - -/*! - \fn void Q3DSPresentation::unregisterDataInput(Q3DSDataInput *dataInput) - \since QtStudio3D 1.1 - - Unregisters a \a dataInput from the presentation. -*/ - -/*! - \fn Q3DSElement *Q3DSPresentation::registeredDataInput(const QString &name) const - \since QtStudio3D 1.1 - - Returns a pointer to a registered data input with \a name. If no data input with given name - is registered, a null pointer is returned. -*/ - -/*! - \fn void Q3DSPresentation::goToSlide(const QString &elementPath, unsigned int index) - - Requests a time context (a Scene or a Component element) to change to a specific slide by - \a index. If the context is already on that slide playback will start over. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \fn void Q3DSPresentation::goToSlide(const QString &elementPath, const QString &name) - - Requests a time context (a Scene or a Component element) to change to a specific slide - by \a name. If the context is already on that slide playback will start over. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \fn void Q3DSPresentation::goToSlide(const QString &elementPath, bool next, bool wrap) - - Requests a time context (a Scene or a Component element) to change to the next or the - previous slide, depending on the value of \a next. If the context is already at the - last or first slide, \a wrap defines if change occurs to the opposite end. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. -*/ - -/*! - \fn void Q3DSPresentation::goToTime(const QString &elementPath, float time) - - Sets a time context (a Scene or a Component element) to a specific playback \a time in seconds. - - If \a elementPath points to a time context, that element is controlled. For - all other element types the time context owning that element is controlled instead. - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene"}. - - The behavior when specifying a time before 0 or after the end time for the current slide depends - on the play mode of the slide: - \list - \li \c{Stop at End} - values outside the valid time range instead clamp to the boundaries. - For example, going to time -5 is the same as going to time 0. - \li \c{Looping} - values outside the valid time range mod into the valid range. For example, - going to time -4 on a 10 second slide is the same as going to time 6. - \li \c{Ping Pong} - values outside the valid time range ‘bounce’ off the ends. For example, - going to time -4 is the same as going to time 4 (assuming the time context is at least 4 seconds - long), while going to time 12 on a 10 second slide is the same as going to time 8. - \li \c{Ping} - values less than 0 are treated as time 0, while values greater than the endtime - bounce off the end (eventually hitting 0.) - \endlist -*/ - -/*! - \fn void Q3DSPresentation::setAttribute(const QString &elementPath, - const QString &attributeName, - const QVariant &value) - - Sets the \a value of an attribute on an element found at \a elementPath. The \a attributeName is - the \l{QML Reference: Attribute Names}{scripting name} of the attribute. - - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene.Mesh.Material"}. - - The attribute must be preserved for scripting to be set by this function, or else it will fail. - An attribute is preserved if it is either \e{animated}, or - \e{an attribute on a master element that is unlinked and changed per-slide}. -*/ - -/*! - \fn void Q3DSPresentation::setPresentationActive(const QString &id, bool active) - - Stops or starts updates to a sub-presentation based on the \a active flag. The presentation is - referenced to by the \a id, which is the name of the presentation without the \c{.uip}. - - Making a presentation inactive prevents any elements, behaviors, and animations within it from - updating. It also prevents any events within that presentation from being processed. It does - not, however, prevent the presentation from rendering. An inactive presentation will continue - to render using its last-updated information. - - Explicitly inactivating presentations can provide a significant performance increase, depending - on the number and size of the presentations that are inactive. Inactive presentations are not - ‘paused’. When the presentation is re-activated, animations will resume at the time they should - be had they been running, not where they were when the presentation was made inactive. -*/ - -/*! - \fn void Q3DSPresentation::fireEvent(const QString &elementPath, const QString &eventName) - - Dispatches an event with \a eventName on a specific element found in \a elementPath. - Appropriate actions created in Qt 3D Studio or callbacks registered using the registerForEvent() - method in attached scripts will be executed in response to the event. - - You can target the command to a specific sub-presentation by adding "SubPresentationId:" in - front of the element path, for example \c{"SubPresentationOne:Scene.Mesh"}. -*/ - -/*! - \fn void Q3DSPresentation::setGlobalAnimationTime(qint64 milliseconds) - - Sets the global animation time to \a milliseconds. Setting the global animation time to a - non-zero value will disable the automatic animation timer. Setting the value to zero - resumes automatic animation timer. -*/ - -/*! - \fn void Q3DSPresentation::setDataInputValue(const QString &name, const QVariant &value) - \since QtStudio3D 1.1 - - Sets the \a value of a data input element \a name in the presentation. -*/ - -/*! - \fn void Q3DSPresentation::slideEntered(const QString &elementPath, unsigned int index, const QString &name) - - This signal is emitted when a slide is entered in the presentation. - The \a elementPath specifies the time context (a Scene or a Component element) owning the - entered slide. - The \a index and \a name contain the index and the name of the entered slide. -*/ - -/*! - \fn void Q3DSPresentation::slideExited(const QString &elementPath, unsigned int index, const QString &name) - - This signal is emitted when a slide is exited in the presentation. - The \a elementPath specifies the time context (a Scene or a Component element) owning the - exited slide. - The \a index and \a name contain the index and the name of the exited slide. -*/ - -/*! - \fn void Q3DSPresentation::mousePressEvent(QMouseEvent *e) - - Passes a mouse press event \a e to the presentation. This will send \c onPressureDown event to - the element at the coordinates specified by the event. -*/ - -/*! - \fn void Q3DSPresentation::mouseReleaseEvent(QMouseEvent *e) - - Passes a mouse release event \a e to the presentation. This will send \c onPressureUp and - \c onTap events to the element at the coordinates specified by the event. -*/ - -/*! - \fn void Q3DSPresentation::mouseMoveEvent(QMouseEvent *e) - - Passes a mouse move event \a e to the presentation. - Currently it is not possible to react to this event in the presentation. -*/ - -/*! - \fn void Q3DSPresentation::wheelEvent(QWheelEvent *e) - - Passes a wheel event \a e to the presentation. - An attached script can register callbacks for \c onHorizontalScrollWheel and - \c onVerticalScrollWheel events to handle wheel events. -*/ - -/*! - \fn void Q3DSPresentation::keyPressEvent(QKeyEvent *e) - - Passes a key press event \a e to the presentation. - An attached script can register callback for \c onKeyDown event to handle key presses. -*/ - -/*! - \fn void Q3DSPresentation::keyReleaseEvent(QKeyEvent *e) - - Passes a key release event \a e to the presentation. - An attached script can register callback for \c onKeyUp event to handle key releases. -*/ diff --git a/doc/src/12-cpp-reference/Q3DSSceneElement.qdoc b/doc/src/12-cpp-reference/Q3DSSceneElement.qdoc deleted file mode 100644 index fdc489f0..00000000 --- a/doc/src/12-cpp-reference/Q3DSSceneElement.qdoc +++ /dev/null @@ -1,121 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSSceneElement - \inheaderfile q3dssceneelement.h - \inmodule QtStudio3D - \brief Control class for scene and component elements in a Qt 3D Studio presentation. - - This class is a convenience class for managing the slides of a single - time context (a Scene or a Component element) of a presentation. - - \sa Q3DSPresentation, Q3DSWidget, Q3DSSurfaceViewer -*/ - -/*! - \fn Q3DSSceneElement::Q3DSSceneElement(const QString &elementPath, - QObject *parent = nullptr) - - Constructs a Q3DSSceneElement instance and initializes the \a elementPath. - An optional \a parent object can be specified. -*/ - -/*! - \fn Q3DSSceneElement::Q3DSSceneElement(Q3DSPresentation *presentation, - const QString &elementPath, - QObject *parent = nullptr) - - Constructs a Q3DSSceneElement instance and initializes the \a elementPath. - The constructed instance is automatically \l{Q3DSPresentation::registerElement}{registered} - for the \a presentation. - An optional \a parent object can be specified. -*/ - -/*! - \property Q3DSSceneElement::currentSlideIndex - - Holds the index of the currently active slide of the tracked time context. - - Changing the current slide via this property is asynchronous. The property - value will not actually change until the next frame has been processed, and - even then only if the new slide was valid. - - \note If this property is set to something else than the default slide for the scene at the - initial declaration of SceneElement, you will still get an extra changed signal for the - default slide before the slide changes to the desired one. This happens in order to ensure - we end up with the index of the slide that is actually shown even if the slide specified in the - initial declaration is invalid. -*/ - -/*! - \property Q3DSSceneElement::previousSlideIndex - - Holds the index of the previously active slide of the tracked time context. - - This property is read-only. -*/ - -/*! - \property Q3DSSceneElement::currentSlideName - - Holds the name of the currently active slide of the tracked time context. - - Changing the current slide via this property is asynchronous. The property - value will not actually change until the next frame has been processed, and - even then only if the new slide was valid. - - \note If this property is set to something else than the default slide for the scene at the - initial declaration of SceneElement, you will still get an extra changed signal for the - default slide before the slide changes to the desired one. This happens in order to ensure - we end up with the name of the slide that is actually shown even if the slide specified in the - initial declaration is invalid. -*/ - -/*! - \property Q3DSSceneElement::previousSlideName - - Holds the name of the previously active slide of the tracked time context. - - This property is read-only. -*/ - -/*! - \fn void Q3DSSceneElement::goToSlide(bool next, bool wrap) - - Requests the time context specified by this scene to change to the next or the - previous slide, depending on the value of \a next. If the context is already at the - last or first slide, \a wrap defines if change occurs to the opposite end. -*/ - -/*! - \fn void Q3DSSceneElement::goToTime(float time) - - Sets the time context specified by this scene to a specific playback \a time in seconds. - - For behavior details, see Q3DSPresentation::goToTime() documentation. -*/ diff --git a/doc/src/12-cpp-reference/Q3DSSurfaceViewer.qdoc b/doc/src/12-cpp-reference/Q3DSSurfaceViewer.qdoc deleted file mode 100644 index 17e12c89..00000000 --- a/doc/src/12-cpp-reference/Q3DSSurfaceViewer.qdoc +++ /dev/null @@ -1,189 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSSurfaceViewer - \inheaderfile q3dssurfaceviewer.h - \inmodule QtStudio3D - \brief Displays a Qt 3D Studio presentation on a surface. - - Q3DSSurfaceViewer is used to specify a render surface for Qt 3D Studio presentation. - Supported surface types are QOffscreenSurface and QWindow. - - \section2 Example Usage - - \code - // Create a surface - QWindow window; - window.setSurfaceType(QSurface::OpenGLSurface); - window.create(); - - // Create an OpenGL context - QOpenGLContext context; - context.setFormat(window.format()); - context.create(); - - // Create the viewer - Q3DSSurfaceViewer viewer; - viewer.presentation()->setSource(QUrl(QStringLiteral("qrc:/my_presentation.uip"))); - viewer.setUpdateInterval(0); - viewer.settings()->setScaleMode(Q3DSViewerSettings::ScaleModeFill); - viewer.settings()->setShowRenderStats(true); - - // Register a scene object for slide management (optional) - Q3DSSceneElement scene(viewer.presentation(), QStringLiteral("Scene")); - - // Register an element object for attribute setting (optional) - Q3DSElement element(viewer.presentation(), QStringLiteral("Scene.Layer.myLabel")); - - viewer.initialize(&window, &context); - \endcode - - \sa Q3DSWidget -*/ - -/*! - \property Q3DSSurfaceViewer::size - - Holds the desired size of the presentation. - - The default value is (-1, -1). - - \sa autoSize -*/ - -/*! - \property Q3DSSurfaceViewer::autoSize - - Specifies whether the viewer should change the size of the presentation automatically - to match the surface size when surface size changes. - The \l{Q3DSSurfaceViewer::size}{size} property is updated automatically whenever the viewer - is \l{Q3DSSurfaceViewer::update()}{updated} if this property value is \c{true}. - - \note For QOffscreenSurface, the surface size is typically 1x1, so generally you will want - to set autoSize to \c false when using offscreen surfaces. - - The default value is \c{true}. -*/ - -/*! - \property Q3DSSurfaceViewer::updateInterval - - Holds the viewer update interval in milliseconds. If the value is negative, the viewer doesn't - update the presentation automatically. - - The default value is -1. - - \sa update() -*/ - -/*! - \property Q3DSSurfaceViewer::running - - The value of this property is \c true when the viewer has been initialized and the presentation - is running. - - This property is read-only. -*/ - -/*! - \fn bool Q3DSSurfaceViewer::initialize(QSurface *surface, QOpenGLContext *context, GLuint fboId) - - Initializes Q3DSSurfaceViewer to render the presentation to the given \a surface using - the \a context and optional framebuffer id (\a fboId). If \a fboId is omitted, it defaults - to zero. - - The source property of the attached presentation must be set before the viewer can be - initialized. - - Returns whether the initialization succeeded. - - \sa running, Q3DSPresentation::source, presentation() -*/ - -/*! - \fn QImage Q3DSSurfaceViewer::grab(const QRect &rect) - - Grabs the data rendered to the framebuffer into an image using the given \a rect. - The \a rect parameter is optional. If it is omitted, the whole framebuffer is captured. -*/ - -/*! - \fn int Q3DSSurfaceViewer::fboId() const - - Returns the framebuffer id given in initialization. - - \sa initialize() -*/ - -/*! - \fn QSurface *Q3DSSurfaceViewer::surface() const - - Returns the surface given in initialization. - - \sa initialize() -*/ - -/*! - \fn QOpenGLContext *Q3DSSurfaceViewer::context() const - - Returns the context given in initialization. - - \sa initialize() -*/ - -/*! - \fn Q3DSViewerSettings *Q3DSSurfaceViewer::settings() const - - Returns the settings object used by the Q3DSSurfaceViewer. -*/ - -/*! - \fn Q3DSPresentation *Q3DSSurfaceViewer::presentation() const - - Returns the presentation object used by the Q3DSSurfaceViewer. -*/ - -/*! - \fn Q3DSSurfaceViewer::update() - - Updates the surface viewer with a new frame. -*/ - -/*! - \fn Q3DSSurfaceViewer::shutdown() - - Deallocates all resources of the viewer. -*/ - -/*! - \fn Q3DSSurfaceViewer::reset() - - Deallocates and recreates all resources of the viewer and sets the presentation time - back to the beginning. -*/ - diff --git a/doc/src/12-cpp-reference/Q3DSViewerSettings.qdoc b/doc/src/12-cpp-reference/Q3DSViewerSettings.qdoc deleted file mode 100644 index 4ad1f001..00000000 --- a/doc/src/12-cpp-reference/Q3DSViewerSettings.qdoc +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSViewerSettings - \inheaderfile q3dsviewersettings.h - \inmodule QtStudio3D - \brief Qt 3D Studio presentation viewer settings. - - Q3DSViewerSettings provides properties to define presentation independent viewer settings. - - You should never construct this class yourself. You can ask for an instance - from \l{Q3DSSurfaceViewer::settings}{Q3DSSurfaceViewer} - or \l{Q3DSWidget::settings}{Q3DSWidget}. -*/ - -/*! - \fn Q3DSViewerSettings::Q3DSViewerSettings(QObject *parent = nullptr) - \internal -*/ - -/*! - \fn Q3DSViewerSettings::~Q3DSViewerSettings() - \internal -*/ - -/*! - \property Q3DSViewerSettings::matteColor - - Specifies the color of the viewer area not occupied by the presentation. - Default value is black. -*/ - -/*! - \property Q3DSViewerSettings::showRenderStats - - If this property is set to \c{true}, render statistics are displayed on the upper part - of the viewer. - Default value is \c{false}. -*/ - -/*! - \property Q3DSViewerSettings::shadeMode - - The shading mode used for the viewed presentation. - The default value is \c{ShadeModeShaded}. -*/ - -/*! - \property Q3DSViewerSettings::scaleMode - - The scaling mode used for the viewer presentation. - The default value is \c{ScaleModeCenter}. -*/ - -/*! - \enum Q3DSViewerSettings::ShadeMode - - This enumeration specifies the possible shading modes. - - \value ShadeModeShaded The objects in the presentation are shaded normally. - \value ShadeModeShadedWireframe The objects in the presentation are shaded - with a super-imposed wireframe on top of the normal shading. Only objects that specify - a tesselation mode will display this wireframe. -*/ - -/*! - \enum Q3DSViewerSettings::ScaleMode - - This enumeration specifies the possible scaling modes. - - \value ScaleModeFit Scales the presentation to fit the viewer. - \value ScaleModeFill Scales the presentation to fill the viewer. - \value ScaleModeCenter Centers the presentation into the viewer without scaling it. -*/ - -/*! - \fn void Q3DSViewerSettings::save(const QString &group, const QString &organization = QString(), - const QString &application = QString()) - - Persistently saves the viewer \l{QSettings}{settings} using \a group, \a organization and - \a application. -*/ - -/*! - \fn void Q3DSViewerSettings::load(const QString &group, const QString &organization = QString(), - const QString &application = QString()) - - Loads previously saved viewer \l{QSettings}{settings} using \a group, \a organization and - \a application. -*/ diff --git a/doc/src/12-cpp-reference/Q3DSWidget.qdoc b/doc/src/12-cpp-reference/Q3DSWidget.qdoc deleted file mode 100644 index 6a51d28c..00000000 --- a/doc/src/12-cpp-reference/Q3DSWidget.qdoc +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \class Q3DSWidget - \inheaderfile q3dswidget.h - \inmodule QtStudio3D - \brief Displays a Qt 3D Studio presentation on a widget. - - Q3DSWidget is used to specify a render widget for Qt 3D Studio presentation. - - \section2 Example Usage - - \code - Q3DSWidget viewer; - viewer.presentation()->setSource(QUrl(QStringLiteral("qrc:/my_presentation.uip"))); - viewer.setUpdateInterval(0); - viewer.settings()->setScaleMode(Q3DSViewerSettings::ScaleModeFill); - viewer.settings()->setShowRenderStats(true); - - // Register a scene element object for slide management (optional) - Q3DSSceneElement scene(viewer.presentation(), QStringLiteral("Scene")); - - // Register an element object for attribute setting (optional) - Q3DSElement element(viewer.presentation(), QStringLiteral("Scene.Layer.myLabel")); - - viewer.initialize(); - \endcode - - \sa Q3DSSurfaceViewer -*/ - -/*! - \property Q3DSWidget::updateInterval - - Holds the viewer update interval in milliseconds. If the value is negative, the viewer doesn't - update the presentation automatically. - - The default value is -1. - - \sa QWidget::update() -*/ - -/*! - \property Q3DSWidget::running - - The value of this property is \c true when the viewer has been initialized and the presentation - is running. - - This property is read-only. -*/ - -/*! - \fn bool Q3DSWidget::initialize() - - Initializes Q3DSWidget to render the presentation. - - The source property of the attached presentation must be set before the viewer can be - initialized. - - Returns whether the initialization succeeded. - - \sa running, Q3DSPresentation::source, presentation() -*/ - -/*! - \fn Q3DSViewerSettings *Q3DSWidget::settings() const - - Returns the settings object used by the Q3DSWidget. -*/ - -/*! - \fn Q3DSPresentation *Q3DSWidget::presentation() const - - Returns the presentation object used by the Q3DSWidget. -*/ - -/*! - \fn Q3DSWidget::shutdown() - - Deallocates all resources of the viewer. -*/ - -/*! - \fn Q3DSWidget::reset() - - Deallocates and recreates all resources of the viewer and sets the presentation time - back to the beginning. -*/ - -/*! - \fn Q3DSWidget::mousePressEvent(QMouseEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::mouseReleaseEvent(QMouseEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::mouseMoveEvent(QMouseEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::wheelEvent(QWheelEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::keyPressEvent(QKeyEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::keyReleaseEvent(QKeyEvent *event) - \reimp -*/ - -/*! - \fn Q3DSWidget::initializeGL() - \reimp -*/ - -/*! - \fn Q3DSWidget::resizeGL(int w, int h) - \reimp -*/ - -/*! - \fn Q3DSWidget::paintGL() - \reimp -*/ - diff --git a/doc/src/12-cpp-reference/cpp-index.qdoc b/doc/src/12-cpp-reference/cpp-index.qdoc deleted file mode 100644 index 8503f28b..00000000 --- a/doc/src/12-cpp-reference/cpp-index.qdoc +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \module QtStudio3D - \title Qt 3D Studio C++ Classes - \keyword C++ API - \ingroup modules - - \brief Qt 3D Studio provides a number of C++ classes to view and control the presentation. - - To include the definitions of the module's classes, use the following directive: - - \badcode - #include <QtStudio3D> - \endcode - - To link against the module, add this line to your \l qmake \c .pro file: - - \badcode - QT += studio3d - \endcode -*/ diff --git a/doc/src/contents.qdoc b/doc/src/contents.qdoc index f860c807..eb6da8be 100644 --- a/doc/src/contents.qdoc +++ b/doc/src/contents.qdoc @@ -40,12 +40,6 @@ This file is used for generating a TOC in a .qch file. \include studio-index.qdoc toc \li \l {Viewer Index}{Viewer} \include viewer-index.qdoc toc - \li \l {QML API}{QML API Reference} - \include qml-index.qdoc toc - \li \l {C++ API}{C++ API Reference} - \include cpp-index.qdoc toc - \li \l {Runtime} - \include runtime-index.qdoc toc \li \l {File Formats} \include formats-index.qdoc toc \omit |