mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-16 07:39:11 +02:00
Convert all "/**jsdoc" occurrences to "/*@jsdoc"
This commit is contained in:
parent
2130dea965
commit
4d11d1d515
220 changed files with 2319 additions and 2319 deletions
assignment-client/src
interface/src
AboutUtil.hApplication.cppAvatarBookmarks.cppAvatarBookmarks.hBookmarks.hFancyCamera.hLODManager.hLocationBookmarks.hRefreshRateManager.cppRefreshRateManager.hSpeechRecognizer.h
audio
avatar
commerce
raypick
CollisionPick.cppLaserPointerScriptingInterface.hParabolaPick.hPickScriptingInterface.cppPickScriptingInterface.hPointerScriptingInterface.cppPointerScriptingInterface.hRayPick.hRayPickScriptingInterface.hStylusPick.h
scripting
AccountServicesScriptingInterface.cppAccountServicesScriptingInterface.hAudio.hClipboardScriptingInterface.hControllerScriptingInterface.hDesktopScriptingInterface.cppDesktopScriptingInterface.hDialogsManagerScriptingInterface.hGooglePolyScriptingInterface.hHMDScriptingInterface.hKeyboardScriptingInterface.hMenuScriptingInterface.hPerformanceScriptingInterface.hPlatformInfoScriptingInterface.hRatesScriptingInterface.hRenderScriptingInterface.hSelectionScriptingInterface.cppSelectionScriptingInterface.hSettingsScriptingInterface.hTestScriptingInterface.hWalletScriptingInterface.hWindowScriptingInterface.cppWindowScriptingInterface.h
ui
libraries
animation/src
AnimInverseKinematics.hAnimOverlay.hAnimationCacheScriptingInterface.hAnimationObject.hIKTarget.hRig.cpp
audio-client/src
audio/src
AudioEffectOptions.cppAudioEffectOptions.hAudioInjectorOptions.cppSound.hSoundCacheScriptingInterface.h
avatars-renderer/src/avatars-renderer
avatars/src
controllers/src/controllers
display-plugins/src/display-plugins
entities/src
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include "Agent.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Agent</code> API enables an assignment client to emulate an avatar. Setting <code>isAvatar = true</code> connects
|
||||
* the assignment client to the avatar and audio mixers, and enables the {@link Avatar} API to be used.
|
||||
*
|
||||
|
@ -62,7 +62,7 @@ public:
|
|||
QUuid getSessionUUID() const { return _agent->getSessionUUID(); }
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether the script should emulate an avatar.
|
||||
* @function Agent.setIsAvatar
|
||||
* @param {boolean} isAvatar - <code>true</code> if the script emulates an avatar, otherwise <code>false</code>.
|
||||
|
@ -75,7 +75,7 @@ public slots:
|
|||
*/
|
||||
void setIsAvatar(bool isAvatar) const { _agent->setIsAvatar(isAvatar); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether the script is emulating an avatar.
|
||||
* @function Agent.isAvatar
|
||||
* @returns {boolean} <code>true</code> if the script is emulating an avatar, otherwise <code>false</code>.
|
||||
|
@ -87,7 +87,7 @@ public slots:
|
|||
*/
|
||||
bool isAvatar() const { return _agent->isAvatar(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Plays a sound from the position and with the orientation of the emulated avatar's head. No sound is played unless
|
||||
* <code>isAvatar == true</code>.
|
||||
* @function Agent.playAvatarSound
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include <ScriptEngine.h>
|
||||
#include <EntityItem.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Avatar</code> API is used to manipulate scriptable avatars on the domain. This API is a subset of the
|
||||
* {@link MyAvatar} API. To enable this API, set {@link Agent|Agent.isAvatar} to <code>true</code>.
|
||||
*
|
||||
|
@ -110,7 +110,7 @@ public:
|
|||
|
||||
ScriptableAvatar();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Starts playing an animation on the avatar.
|
||||
* @function Avatar.startAnimation
|
||||
* @param {string} url - The animation file's URL. Animation files need to be in glTF or FBX format but only need to
|
||||
|
@ -130,13 +130,13 @@ public:
|
|||
bool hold = false, float firstFrame = 0.0f, float lastFrame = FLT_MAX,
|
||||
const QStringList& maskedJoints = QStringList());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stops playing the current animation.
|
||||
* @function Avatar.stopAnimation
|
||||
*/
|
||||
Q_INVOKABLE void stopAnimation();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the details of the current avatar animation that is being or was recently played.
|
||||
* @function Avatar.getAnimationDetails
|
||||
* @returns {Avatar.AnimationDetails} The current or recent avatar animation.
|
||||
|
@ -146,30 +146,30 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE AnimationDetails getAnimationDetails();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
Q_INVOKABLE virtual QStringList getJointNames() const override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
/// Returns the index of the joint with the specified name, or -1 if not found/unknown.
|
||||
Q_INVOKABLE virtual int getJointIndex(const QString& name) const override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
Q_INVOKABLE virtual void setSkeletonModelURL(const QUrl& skeletonModelURL) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
int sendAvatarDataPacket(bool sendAll = false) override;
|
||||
|
||||
virtual QByteArray toByteArrayStateful(AvatarDataDetail dataDetail, bool dropFaceTracking = false) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets details of all avatar entities.
|
||||
* <p><strong>Warning:</strong> Potentially an expensive call. Do not use if possible.</p>
|
||||
* @function Avatar.getAvatarEntityData
|
||||
|
@ -184,7 +184,7 @@ public:
|
|||
|
||||
AvatarEntityMap getAvatarEntityDataInternal(bool allProperties) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets all avatar entities from an object.
|
||||
* <p><strong>Warning:</strong> Potentially an expensive call. Do not use if possible.</p>
|
||||
* @function Avatar.setAvatarEntityData
|
||||
|
@ -192,20 +192,20 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setAvatarEntityData(const AvatarEntityMap& avatarEntityData) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
Q_INVOKABLE void updateAvatarEntity(const QUuid& entityID, const QByteArray& entityData) override;
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.update
|
||||
* @param {number} deltaTime - Delta time.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
void update(float deltatime);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.setJointMappingsFromNetworkReply
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
class EntitySimulation;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>EntityViewer</code> API provides a headless viewer for assignment client scripts, so that they can "see" entities
|
||||
* in order for them to be available in the {@link Entities} API.
|
||||
*
|
||||
|
|
|
@ -27,7 +27,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Updates the entities currently in view.
|
||||
* @function EntityViewer.queryOctree
|
||||
*/
|
||||
|
@ -36,28 +36,28 @@ public slots:
|
|||
|
||||
// setters for camera attributes
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the position of the view frustum.
|
||||
* @function EntityViewer.setPosition
|
||||
* @param {Vec3} position - The position of the view frustum.
|
||||
*/
|
||||
void setPosition(const glm::vec3& position) { _hasViewFrustum = true; _viewFrustum.setPosition(position); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the orientation of the view frustum.
|
||||
* @function EntityViewer.setOrientation
|
||||
* @param {Quat} orientation - The orientation of the view frustum.
|
||||
*/
|
||||
void setOrientation(const glm::quat& orientation) { _hasViewFrustum = true; _viewFrustum.setOrientation(orientation); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the radius of the center "keyhole" in the view frustum.
|
||||
* @function EntityViewer.setCenterRadius
|
||||
* @param {number} radius - The radius of the center "keyhole" in the view frustum.
|
||||
*/
|
||||
void setCenterRadius(float radius) { _hasViewFrustum = true; _viewFrustum.setCenterRadius(radius); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the radius of the center "keyhole" in the view frustum.
|
||||
* @function EntityViewer.setKeyholeRadius
|
||||
* @param {number} radius - The radius of the center "keyhole" in the view frustum.
|
||||
|
@ -69,21 +69,21 @@ public slots:
|
|||
|
||||
// setters for LOD and PPS
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function EntityViewer.setVoxelSizeScale
|
||||
* @param {number} sizeScale - The voxel size scale.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
void setVoxelSizeScale(float sizeScale) { _octreeQuery.setOctreeSizeScale(sizeScale) ; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function EntityViewer.setBoundaryLevelAdjust
|
||||
* @param {number} boundaryLevelAdjust - The boundary level adjust factor.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
void setBoundaryLevelAdjust(int boundaryLevelAdjust) { _octreeQuery.setBoundaryLevelAdjust(boundaryLevelAdjust); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the maximum number of entity packets to receive from the domain server per second.
|
||||
* @function EntityViewer.setMaxPacketsPerSecond
|
||||
* @param {number} maxPacketsPerSecond - The maximum number of entity packets to receive per second.
|
||||
|
@ -92,14 +92,14 @@ public slots:
|
|||
|
||||
// getters for camera attributes
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the view frustum.
|
||||
* @function EntityViewer.getPosition
|
||||
* @returns {Vec3} The position of the view frustum.
|
||||
*/
|
||||
const glm::vec3& getPosition() const { return _viewFrustum.getPosition(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the orientation of the view frustum.
|
||||
* @function EntityViewer.getOrientation
|
||||
* @returns {Quat} The orientation of the view frustum.
|
||||
|
@ -109,21 +109,21 @@ public slots:
|
|||
|
||||
// getters for LOD and PPS
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function EntityViewer.getVoxelSizeScale
|
||||
* @returns {number} The voxel size scale.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
float getVoxelSizeScale() const { return _octreeQuery.getOctreeSizeScale(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function EntityViewer.getBoundaryLevelAdjust
|
||||
* @returns {number} The boundary level adjust factor.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
int getBoundaryLevelAdjust() const { return _octreeQuery.getBoundaryLevelAdjust(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the maximum number of entity packets to receive from the domain server per second.
|
||||
* @function EntityViewer.getMaxPacketsPerSecond
|
||||
* @returns {number} The maximum number of entity packets to receive per second.
|
||||
|
@ -131,7 +131,7 @@ public slots:
|
|||
int getMaxPacketsPerSecond() const { return _octreeQuery.getMaxQueryPacketsPerSecond(); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of nodes in the octree.
|
||||
* @function EntityViewer.getOctreeElementsCount
|
||||
* @returns {number} The number of nodes in the octree.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include <QObject>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>About</code> API provides information about the version of Interface that is currently running. It also has the
|
||||
* functionality to open a web page in an Interface browser window.
|
||||
*
|
||||
|
@ -41,7 +41,7 @@
|
|||
* print("Qt version: " + About.qtVersion);
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>HifiAbout</code> API provides information about the version of Interface that is currently running. It also
|
||||
* has the functionality to open a web page in an Interface browser window.
|
||||
*
|
||||
|
@ -82,7 +82,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Display a web page in an Interface browser window or the tablet.
|
||||
* @function About.openUrl
|
||||
* @param {string} url - The URL of the web page you want to view in Interface.
|
||||
|
|
|
@ -657,7 +657,7 @@ private:
|
|||
}
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The <code>Controller.Hardware.Application</code> object has properties representing Interface's state. The property
|
||||
* values are integer IDs, uniquely identifying each output. <em>Read-only.</em></p>
|
||||
* <p>These states can be mapped to actions or functions or <code>Controller.Standard</code> items in a {@link RouteObject}
|
||||
|
|
|
@ -180,7 +180,7 @@ void AvatarBookmarks::updateAvatarEntities(const QVariantList &avatarEntities) {
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Details of an avatar bookmark.
|
||||
* @typedef {object} AvatarBookmarks.BookmarkData
|
||||
* @property {number} version - The version of the bookmark data format.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include <DependencyManager.h>
|
||||
#include "Bookmarks.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AvatarBookmarks</code> API provides facilities for working with avatar bookmarks ("favorites" in the Avatar app).
|
||||
* An avatar bookmark associates a name with an avatar model, scale, and avatar entities (wearables).
|
||||
*
|
||||
|
@ -36,7 +36,7 @@ public:
|
|||
AvatarBookmarks();
|
||||
void setupMenus(Menu* menubar, MenuWrapper* menu) override {};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the details of an avatar bookmark.
|
||||
* @function AvatarBookmarks.getBookmark
|
||||
* @param {string} bookmarkName - The name of the avatar bookmark (case sensitive).
|
||||
|
@ -45,7 +45,7 @@ public:
|
|||
Q_INVOKABLE QVariantMap getBookmark(const QString& bookmarkName);
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a new (or updates an existing) avatar bookmark with your current avatar model, scale, and avatar entities.
|
||||
* @function AvatarBookmarks.addBookmark
|
||||
* @param {string} bookmarkName - The name of the avatar bookmark (case sensitive).
|
||||
|
@ -57,7 +57,7 @@ public slots:
|
|||
*/
|
||||
void addBookmark(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Updates an existing bookmark with your current avatar model, scale, and wearables. No action is taken if the bookmark
|
||||
* doesn't exist.
|
||||
* @function AvatarBookmarks.saveBookmark
|
||||
|
@ -65,7 +65,7 @@ public slots:
|
|||
*/
|
||||
void saveBookmark(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Loads an avatar bookmark, setting your avatar model, scale, and avatar entities (or attachments if an old bookmark) to
|
||||
* those in the bookmark.
|
||||
* @function AvatarBookmarks.loadBookmark
|
||||
|
@ -73,14 +73,14 @@ public slots:
|
|||
*/
|
||||
void loadBookmark(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Deletes an avatar bookmark.
|
||||
* @function AvatarBookmarks.removeBookmark
|
||||
* @param {string} bookmarkName - The name of the avatar bookmark to delete (case sensitive).
|
||||
*/
|
||||
void removeBookmark(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Updates the avatar entities and their properties. Current avatar entities not included in the list provided are deleted.
|
||||
* @function AvatarBookmarks.updateAvatarEntities
|
||||
* @param {MyAvatar.AvatarEntityData[]} avatarEntities - The avatar entity IDs and properties.
|
||||
|
@ -88,7 +88,7 @@ public slots:
|
|||
*/
|
||||
void updateAvatarEntities(const QVariantList& avatarEntities);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the details of all avatar bookmarks.
|
||||
* @function AvatarBookmarks.getBookmarks
|
||||
* @returns {Object<string,AvatarBookmarks.BookmarkData>} The current avatar bookmarks in an object where the keys are the
|
||||
|
@ -103,7 +103,7 @@ public slots:
|
|||
QVariantMap getBookmarks() { return _bookmarks; }
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an avatar bookmark is loaded, setting your avatar model, scale, and avatar entities (or attachments if an
|
||||
* old bookmark) to those in the bookmark.
|
||||
* @function AvatarBookmarks.bookmarkLoaded
|
||||
|
@ -112,7 +112,7 @@ signals:
|
|||
*/
|
||||
void bookmarkLoaded(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an avatar bookmark is deleted.
|
||||
* @function AvatarBookmarks.bookmarkDeleted
|
||||
* @param {string} bookmarkName - The name of the avatar bookmark deleted.
|
||||
|
@ -124,7 +124,7 @@ signals:
|
|||
*/
|
||||
void bookmarkDeleted(const QString& bookmarkName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a new avatar bookmark is added or an existing avatar bookmark is updated, using
|
||||
* {@link AvatarBookmarks.addBookmark|addBookmark}.
|
||||
* @function AvatarBookmarks.bookmarkAdded
|
||||
|
@ -139,7 +139,7 @@ protected:
|
|||
QVariantMap getAvatarDataToBookmark();
|
||||
|
||||
protected slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Performs no action.
|
||||
* @function AvatarBookmarks.deleteBookmark
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
|
|
|
@ -51,7 +51,7 @@ protected:
|
|||
bool _isMenuSorted;
|
||||
|
||||
protected slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to delete a bookmark. The user can select the bookmark to delete in the dialog that is opened.
|
||||
* @function LocationBookmarks.deleteBookmark
|
||||
*/
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
class FancyCamera : public Camera {
|
||||
Q_OBJECT
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Camera</code> API provides access to the "camera" that defines your view in desktop and HMD display modes.
|
||||
* The Vircadia camera has axes <code>x</code> = right, <code>y</code> = up, <code>-z</code> = forward.
|
||||
*
|
||||
|
@ -51,7 +51,7 @@ public:
|
|||
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the entity that the camera is set to follow (i.e., use the position and orientation from) when it's in
|
||||
* entity mode. You can also get the entity ID using the {@link Camera|Camera.cameraEntity} property.
|
||||
* @function Camera.getCameraEntity
|
||||
|
@ -60,7 +60,7 @@ public slots:
|
|||
*/
|
||||
QUuid getCameraEntity() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the entity that the camera should follow (i.e., use the position and orientation from) when it's in entity mode.
|
||||
* You can also set the entity using the {@link Camera|Camera.cameraEntity} property.
|
||||
* @function Camera.setCameraEntity
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <render/Args.h>
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The world detail quality rendered.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -68,7 +68,7 @@ const float LOD_OFFSET_FPS = 5.0f; // offset of FPS to add for computing the tar
|
|||
class AABox;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>LODManager</code> API manages the Level of Detail displayed in Interface. If the LOD is being automatically
|
||||
* adjusted, the LOD is decreased if the measured frame rate is lower than the target FPS, and increased if the measured frame
|
||||
* rate is greater than the target FPS.
|
||||
|
@ -165,14 +165,14 @@ class LODManager : public QObject, public Dependency {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether the LOD should be automatically adjusted.
|
||||
* @function LODManager.setAutomaticLODAdjust
|
||||
* @param {boolean} value - <code>true</code> to automatically adjust the LOD, <code>false</code> to manually adjust it.
|
||||
*/
|
||||
Q_INVOKABLE void setAutomaticLODAdjust(bool value);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether the LOD is being automatically adjusted.
|
||||
* @function LODManager.getAutomaticLODAdjust
|
||||
* @returns {boolean} <code>true</code> if the LOD is being automatically adjusted, <code>false</code> if it is being
|
||||
|
@ -180,14 +180,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool getAutomaticLODAdjust() const { return _automaticLODAdjust; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the target desktop LOD FPS.
|
||||
* @function LODManager.setDesktopLODTargetFPS
|
||||
* @param {number} value - The target desktop LOD FPS, in Hz.
|
||||
*/
|
||||
Q_INVOKABLE void setDesktopLODTargetFPS(float value);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the target desktop LOD FPS.
|
||||
* @function LODManager.getDesktopLODTargetFPS
|
||||
* @returns {number} The target desktop LOD FPS, in Hz.
|
||||
|
@ -195,7 +195,7 @@ public:
|
|||
|
||||
Q_INVOKABLE float getDesktopLODTargetFPS() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the target HMD LOD FPS.
|
||||
* @function LODManager.setHMDLODTargetFPS
|
||||
* @param {number} value - The target HMD LOD FPS, in Hz.
|
||||
|
@ -203,7 +203,7 @@ public:
|
|||
|
||||
Q_INVOKABLE void setHMDLODTargetFPS(float value);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the target HMD LOD FPS.
|
||||
* The target FPS in HMD mode. The LOD is adjusted to ...
|
||||
* @function LODManager.getHMDLODTargetFPS
|
||||
|
@ -214,7 +214,7 @@ public:
|
|||
|
||||
// User Tweakable LOD Items
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets a text description of the current level of detail rendered.
|
||||
* @function LODManager.getLODFeedbackText
|
||||
* @returns {string} A text description of the current level of detail rendered.
|
||||
|
@ -223,35 +223,35 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QString getLODFeedbackText();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function LODManager.setOctreeSizeScale
|
||||
* @param {number} sizeScale - The octree size scale.
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>lodAngleDeg</code> property instead.
|
||||
*/
|
||||
Q_INVOKABLE void setOctreeSizeScale(float sizeScale);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function LODManager.getOctreeSizeScale
|
||||
* @returns {number} The octree size scale.
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>lodAngleDeg</code> property instead.
|
||||
*/
|
||||
Q_INVOKABLE float getOctreeSizeScale() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function LODManager.setBoundaryLevelAdjust
|
||||
* @param {number} boundaryLevelAdjust - The boundary level adjust factor.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
Q_INVOKABLE void setBoundaryLevelAdjust(int boundaryLevelAdjust);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function LODManager.getBoundaryLevelAdjust
|
||||
* @returns {number} The boundary level adjust factor.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
Q_INVOKABLE int getBoundaryLevelAdjust() const { return _boundaryLevelAdjust; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The target LOD FPS per the current desktop or HMD display mode, capped by the target refresh rate.
|
||||
* @function LODManager.getLODTargetFPS
|
||||
* @returns {number} The target LOD FPS, in Hz.
|
||||
|
@ -309,7 +309,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <em>Not triggered.</em>
|
||||
* @function LODManager.LODIncreased
|
||||
* @returns {Signal}
|
||||
|
@ -317,7 +317,7 @@ signals:
|
|||
*/
|
||||
void LODIncreased();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <em>Not triggered.</em>
|
||||
* @function LODManager.LODDecreased
|
||||
* @returns {Signal}
|
||||
|
@ -325,14 +325,14 @@ signals:
|
|||
*/
|
||||
void LODDecreased();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when whether or not the LOD is being automatically adjusted changes.
|
||||
* @function LODManager.autoLODChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void autoLODChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the <code>lodQualityLevel</code> property value changes.
|
||||
* @function LODManager.lodQualityLevelChanged
|
||||
* @returns {Signal}
|
||||
|
@ -340,7 +340,7 @@ signals:
|
|||
*/
|
||||
void lodQualityLevelChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the world detail quality changes.
|
||||
* @function LODManager.worldDetailQualityChanged
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include "Bookmarks.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>LocationBookmarks</code> API provides facilities for working with location bookmarks. A location bookmark
|
||||
* associates a name with a metaverse address.
|
||||
*
|
||||
|
@ -37,7 +37,7 @@ public:
|
|||
void setupMenus(Menu* menubar, MenuWrapper* menu) override;
|
||||
static const QString HOME_BOOKMARK;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the metaverse address associated with a bookmark.
|
||||
* @function LocationBookmarks.getAddress
|
||||
* @param {string} bookmarkName - Name of the bookmark to get the metaverse address for (case sensitive).
|
||||
|
@ -49,21 +49,21 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to bookmark their current location. The user can specify the name of the bookmark in the dialog that is
|
||||
* opened.
|
||||
* @function LocationBookmarks.addBookmark
|
||||
*/
|
||||
void addBookmark();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the metaverse address associated with the "Home" bookmark.
|
||||
* @function LocationBookmarks.setHomeLocationToAddress
|
||||
* @param {string} address - The metaverse address to set the "Home" bookmark to.
|
||||
*/
|
||||
void setHomeLocationToAddress(const QVariant& address);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the metaverse address associated with the "Home" bookmark.
|
||||
* @function LocationBookmarks.getHomeLocationAddress
|
||||
* @returns {string} The metaverse address for the "Home" bookmark.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
static const int VR_TARGET_RATE = 90;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Refresh rate profile.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -36,7 +36,7 @@ static const int VR_TARGET_RATE = 90;
|
|||
static const std::array<std::string, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILE_TO_STRING =
|
||||
{ { "Eco", "Interactive", "Realtime" } };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Interface states that affect the refresh rate.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -56,7 +56,7 @@ static const std::array<std::string, RefreshRateManager::RefreshRateProfile::PRO
|
|||
static const std::array<std::string, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REFRESH_RATE_REGIME_TO_STRING =
|
||||
{ { "FocusActive", "FocusInactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>User experience (UX) modes.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
};
|
||||
static bool isValidRefreshRateProfile(RefreshRateProfile value) { return (value >= RefreshRateProfile::ECO && value <= RefreshRateProfile::REALTIME); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Interface states that affect the refresh rate.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -59,7 +59,7 @@ public:
|
|||
};
|
||||
static bool isValidRefreshRateRegime(RefreshRateRegime value) { return (value >= RefreshRateRegime::FOCUS_ACTIVE && value <= RefreshRateRegime::SHUTDOWN); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>User experience (UX) modes.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include <DependencyManager.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>SpeechRecognizer</code> API provides facilities to recognize voice commands.
|
||||
* <p>Speech recognition is enabled or disabled via the Developer > Scripting > Enable Speech Control API menu item or
|
||||
* the {@link SpeechRecognizer.setEnabled} method.</p>
|
||||
|
@ -43,21 +43,21 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables speech recognition.
|
||||
* @function SpeechRecognizer.setEnabled
|
||||
* @param {boolean} enabled - <code>true</code> to enable speech recognition, <code>false</code> to disable.
|
||||
*/
|
||||
void setEnabled(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a voice command to the speech recognizer.
|
||||
* @function SpeechRecognizer.addCommand
|
||||
* @param {string} command - The voice command to recognize.
|
||||
*/
|
||||
void addCommand(const QString& command);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes a voice command from the speech recognizer.
|
||||
* @function SpeechRecognizer.removeCommand
|
||||
* @param {string} command - The voice command to stop recognizing.
|
||||
|
@ -66,7 +66,7 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a voice command has been recognized.
|
||||
* @function SpeechRecognizer.commandRecognized
|
||||
* @param {string} command - The voice command recognized.
|
||||
|
@ -115,7 +115,7 @@ signals:
|
|||
*/
|
||||
void commandRecognized(const QString& command);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when speech recognition is enabled or disabled.
|
||||
* @function SpeechRecognizer.enabledUpdated
|
||||
* @param {boolean} enabled - <code>true</code> if speech recognition is enabled, <code>false</code> if it is disabled.
|
||||
|
|
|
@ -25,7 +25,7 @@ class AudioScope : public QObject, public Dependency {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AudioScope</code> API provides facilities for an audio scope.
|
||||
*
|
||||
* @namespace AudioScope
|
||||
|
@ -60,67 +60,67 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Toggle.
|
||||
* @function AudioScope.toggle
|
||||
*/
|
||||
void toggle() { setVisible(!_isEnabled); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set visible.
|
||||
* @function AudioScope.setVisible
|
||||
* @param {boolean} visible - Visible.
|
||||
*/
|
||||
void setVisible(bool visible);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get visible.
|
||||
* @function AudioScope.getVisible
|
||||
* @returns {boolean} Visible.
|
||||
*/
|
||||
bool getVisible() const { return _isEnabled; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Toggle pause.
|
||||
* @function AudioScope.togglePause
|
||||
*/
|
||||
void togglePause() { setPause(!_isPaused); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set pause.
|
||||
* @function AudioScope.setPause
|
||||
* @param {boolean} pause - Pause.
|
||||
*/
|
||||
void setPause(bool paused) { _isPaused = paused; emit pauseChanged(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get pause.
|
||||
* @function AudioScope.getPause
|
||||
* @returns {boolean} Pause.
|
||||
*/
|
||||
bool getPause() { return _isPaused; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Toggle trigger.
|
||||
* @function AudioScope.toggleTrigger
|
||||
*/
|
||||
void toggleTrigger() { _autoTrigger = !_autoTrigger; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get auto trigger.
|
||||
* @function AudioScope.getAutoTrigger
|
||||
* @returns {boolean} Auto trigger.
|
||||
*/
|
||||
bool getAutoTrigger() { return _autoTrigger; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set auto trigger.
|
||||
* @function AudioScope.setAutoTrigger
|
||||
* @param {boolean} autoTrigger - Auto trigger.
|
||||
*/
|
||||
void setAutoTrigger(bool autoTrigger) { _isTriggered = false; _autoTrigger = autoTrigger; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set trigger values.
|
||||
* @function AudioScope.setTriggerValues
|
||||
* @param {number} x - X.
|
||||
|
@ -128,102 +128,102 @@ public slots:
|
|||
*/
|
||||
void setTriggerValues(int x, int y) { _triggerValues.x = x; _triggerValues.y = y; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set triggered.
|
||||
* @function AudioScope.setTriggered
|
||||
* @param {boolean} triggered - Triggered.
|
||||
*/
|
||||
void setTriggered(bool triggered) { _isTriggered = triggered; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get triggered.
|
||||
* @function AudioScope.getTriggered
|
||||
* @returns {boolean} Triggered.
|
||||
*/
|
||||
bool getTriggered() { return _isTriggered; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get frames per second.
|
||||
* @function AudioScope.getFramesPerSecond
|
||||
* @returns {number} Frames per second.
|
||||
*/
|
||||
float getFramesPerSecond();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get frames per scope.
|
||||
* @function AudioScope.getFramesPerScope
|
||||
* @returns {number} Frames per scope.
|
||||
*/
|
||||
int getFramesPerScope() { return _framesPerScope; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Select five frames audio scope.
|
||||
* @function AudioScope.selectAudioScopeFiveFrames
|
||||
*/
|
||||
void selectAudioScopeFiveFrames();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Select twenty frames audio scope.
|
||||
* @function AudioScope.selectAudioScopeTwentyFrames
|
||||
*/
|
||||
void selectAudioScopeTwentyFrames();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Select fifty frames audio scope.
|
||||
* @function AudioScope.selectAudioScopeFiftyFrames
|
||||
*/
|
||||
void selectAudioScopeFiftyFrames();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get scope input.
|
||||
* @function AudioScope.getScopeInput
|
||||
* @returns {number[]} Scope input.
|
||||
*/
|
||||
QVector<int> getScopeInput() { return _scopeInputData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get scope left output.
|
||||
* @function AudioScope.getScopeOutputLeft
|
||||
* @returns {number[]} Scope left output.
|
||||
*/
|
||||
QVector<int> getScopeOutputLeft() { return _scopeOutputLeftData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get scope right output.
|
||||
* @function AudioScope.getScopeOutputRight
|
||||
* @returns {number[]} Scope right output.
|
||||
*/
|
||||
QVector<int> getScopeOutputRight() { return _scopeOutputRightData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get trigger input.
|
||||
* @function AudioScope.getTriggerInput
|
||||
* @returns {number[]} Trigger input.
|
||||
*/
|
||||
QVector<int> getTriggerInput() { return _triggerInputData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get left trigger output.
|
||||
* @function AudioScope.getTriggerOutputLeft
|
||||
* @returns {number[]} Left trigger output.
|
||||
*/
|
||||
QVector<int> getTriggerOutputLeft() { return _triggerOutputLeftData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get right trigger output.
|
||||
* @function AudioScope.getTriggerOutputRight
|
||||
* @returns {number[]} Right trigger output.
|
||||
*/
|
||||
QVector<int> getTriggerOutputRight() { return _triggerOutputRightData; };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set local echo.
|
||||
* @function AudioScope.setLocalEcho
|
||||
* @parm {boolean} localEcho - Local echo.
|
||||
*/
|
||||
void setLocalEcho(bool localEcho);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set server echo.
|
||||
* @function AudioScope.setServerEcho
|
||||
* @parm {boolean} serverEcho - Server echo.
|
||||
|
@ -232,14 +232,14 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when pause changes.
|
||||
* @function AudioScope.pauseChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void pauseChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when scope is triggered.
|
||||
* @function AudioScope.triggered
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <EntityItem.h>
|
||||
#include <ObjectActionTractor.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"far-grab"</code> {@link Entities.ActionType|ActionType} moves and rotates an entity to a target position and
|
||||
* orientation, optionally relative to another entity. Collisions between the entity and the user's avatar are disabled during
|
||||
* the far-grab.
|
||||
|
|
|
@ -444,7 +444,7 @@ bool AvatarActionHold::updateArguments(QVariantMap arguments) {
|
|||
return true;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"hold"</code> {@link Entities.ActionType|ActionType} positions and rotates an entity relative to an avatar's hand.
|
||||
* Collisions between the entity and the user's avatar are disabled during the hold.
|
||||
* It has arguments in addition to the common {@link Entities.ActionArguments|ActionArguments}:
|
||||
|
|
|
@ -1008,7 +1008,7 @@ void AvatarManager::setAvatarSortCoefficient(const QString& name, const QScriptV
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* PAL (People Access List) data for an avatar.
|
||||
* @typedef {object} AvatarManager.PalData
|
||||
* @property {Uuid} sessionUUID - The avatar's session ID. <code>""</code> if the avatar is your own.
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
using SortedAvatar = std::pair<float, std::shared_ptr<Avatar>>;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AvatarManager</code> API provides information about avatars within the current domain. The avatars available are
|
||||
* those that Interface has displayed and therefore knows about.
|
||||
*
|
||||
|
@ -69,7 +69,7 @@ class AvatarManager : public AvatarHashMap {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the IDs of all avatars known about in the domain.
|
||||
* Your own avatar is included in the list as a <code>null</code> value.
|
||||
* @function AvatarManager.getAvatarIdentifiers
|
||||
|
@ -80,7 +80,7 @@ public:
|
|||
* // A null item is included for your avatar.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the IDs of all avatars known about within a specified distance from a point.
|
||||
* Your own avatar's ID is included in the list if it is in range.
|
||||
* @function AvatarManager.getAvatarsInRange
|
||||
|
@ -105,7 +105,7 @@ public:
|
|||
std::shared_ptr<MyAvatar> getMyAvatar() { return _myAvatar; }
|
||||
glm::vec3 getMyAvatarPosition() const { return _myAvatar->getWorldPosition(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Uses the base class's JSDoc.
|
||||
*/
|
||||
// Null/Default-constructed QUuids will return MyAvatar
|
||||
|
@ -136,7 +136,7 @@ public:
|
|||
void handleChangedMotionStates(const VectorOfMotionStates& motionStates);
|
||||
void handleCollisionEvents(const CollisionEvents& collisionEvents);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the amount of avatar mixer data being generated by an avatar other than your own.
|
||||
* @function AvatarManager.getAvatarDataRate
|
||||
* @param {Uuid} sessionID - The ID of the avatar whose data rate you're retrieving.
|
||||
|
@ -145,7 +145,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getAvatarDataRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the update rate of avatar mixer data being generated by an avatar other than your own.
|
||||
* @function AvatarManager.getAvatarUpdateRate
|
||||
* @param {Uuid} sessionID - The ID of the avatar whose update rate you're retrieving.
|
||||
|
@ -154,7 +154,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getAvatarUpdateRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the simulation rate of an avatar other than your own.
|
||||
* @function AvatarManager.getAvatarSimulationRate
|
||||
* @param {Uuid} sessionID - The ID of the avatar whose simulation you're retrieving.
|
||||
|
@ -163,7 +163,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getAvatarSimulationRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Find the first avatar intersected by a {@link PickRay}.
|
||||
* @function AvatarManager.findRayIntersection
|
||||
* @param {PickRay} ray - The ray to use for finding avatars.
|
||||
|
@ -189,7 +189,7 @@ public:
|
|||
const QScriptValue& avatarIdsToInclude = QScriptValue(),
|
||||
const QScriptValue& avatarIdsToDiscard = QScriptValue(),
|
||||
bool pickAgainstMesh = true);
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarManager.findRayIntersectionVector
|
||||
* @param {PickRay} ray - Ray.
|
||||
* @param {Uuid[]} avatarsToInclude - Avatars to include.
|
||||
|
@ -203,7 +203,7 @@ public:
|
|||
const QVector<EntityItemID>& avatarsToDiscard,
|
||||
bool pickAgainstMesh);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarManager.findParabolaIntersectionVector
|
||||
* @param {PickParabola} pick - Pick.
|
||||
* @param {Uuid[]} avatarsToInclude - Avatars to include.
|
||||
|
@ -215,7 +215,7 @@ public:
|
|||
const QVector<EntityItemID>& avatarsToInclude,
|
||||
const QVector<EntityItemID>& avatarsToDiscard);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarManager.getAvatarSortCoefficient
|
||||
* @param {string} name - Name.
|
||||
* @returns {number} Value.
|
||||
|
@ -224,7 +224,7 @@ public:
|
|||
// TODO: remove this HACK once we settle on optimal default sort coefficients
|
||||
Q_INVOKABLE float getAvatarSortCoefficient(const QString& name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarManager.setAvatarSortCoefficient
|
||||
* @param {string} name - Name
|
||||
* @param {number} value - Value.
|
||||
|
@ -232,7 +232,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setAvatarSortCoefficient(const QString& name, const QScriptValue& value);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets PAL (People Access List) data for one or more avatars. Using this method is faster than iterating over each avatar
|
||||
* and obtaining data about each individually.
|
||||
* @function AvatarManager.getPalData
|
||||
|
@ -255,14 +255,14 @@ public:
|
|||
void accumulateGrabPositions(std::map<QUuid, GrabLocationAccumulator>& grabAccumulators);
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarManager.updateAvatarRenderStatus
|
||||
* @param {boolean} shouldRenderAvatars - Should render avatars.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
void updateAvatarRenderStatus(bool shouldRenderAvatars);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Displays other avatars skeletons debug graphics.
|
||||
* @function AvatarManager.setEnableDebugDrawOtherSkeletons
|
||||
* @param {boolean} enabled - <code>true</code> to show the debug graphics, <code>false</code> to hide.
|
||||
|
|
|
@ -2622,7 +2622,7 @@ void MyAvatar::clearWornAvatarEntities() {
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Information about an avatar entity.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -4300,7 +4300,7 @@ void MyAvatar::clearScaleRestriction() {
|
|||
_haveReceivedHeightLimitsFromDomain = false;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A teleport target.
|
||||
* @typedef {object} MyAvatar.GoToProperties
|
||||
* @property {Vec3} position - The avatar's new position.
|
||||
|
@ -4795,7 +4795,7 @@ void MyAvatar::setCollisionWithOtherAvatarsFlags() {
|
|||
_characterController.setPendingFlagsUpdateCollisionMask();
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A collision capsule is a cylinder with hemispherical ends. It is often used to approximate the extents of an avatar.
|
||||
* @typedef {object} MyAvatar.CollisionCapsule
|
||||
* @property {Vec3} start - The bottom end of the cylinder, excluding the bottom hemisphere.
|
||||
|
@ -6608,7 +6608,7 @@ void MyAvatar::addAvatarHandsToFlow(const std::shared_ptr<Avatar>& otherAvatar)
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Physics options to use in the flow simulation of a joint.
|
||||
* @typedef {object} MyAvatar.FlowPhysicsOptions
|
||||
* @property {boolean} [active=true] - <code>true</code> to enable flow on the joint, otherwise <code>false</code>.
|
||||
|
@ -6619,7 +6619,7 @@ void MyAvatar::addAvatarHandsToFlow(const std::shared_ptr<Avatar>& otherAvatar)
|
|||
* @property {number} [stiffness=0.0] - The stiffness of each thread.
|
||||
* @property {number} [delta=0.55] - Delta time for every integration step.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Collision options to use in the flow simulation of a joint.
|
||||
* @typedef {object} MyAvatar.FlowCollisionsOptions
|
||||
* @property {string} [type="sphere"] - Currently, only <code>"sphere"</code> is supported.
|
||||
|
@ -6694,7 +6694,7 @@ void MyAvatar::useFlow(bool isActive, bool isCollidable, const QVariantMap& phys
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Flow options currently used in flow simulation.
|
||||
* @typedef {object} MyAvatar.FlowData
|
||||
* @property {boolean} initialized - <code>true</code> if flow has been initialized for the current avatar, <code>false</code>
|
||||
|
@ -6708,7 +6708,7 @@ void MyAvatar::useFlow(bool isActive, bool isCollidable, const QVariantMap& phys
|
|||
* @property {Object<ThreadName, number[]>} threads - The threads that have been configured, with the first joint's name as the
|
||||
* <code>ThreadName</code> and value as an array of the indexes of all the joints in the thread.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A set of physics options currently used in flow simulation.
|
||||
* @typedef {object} MyAvatar.FlowPhysicsData
|
||||
* @property {boolean} active - <code>true</code> to enable flow on the joint, otherwise <code>false</code>.
|
||||
|
@ -6720,7 +6720,7 @@ void MyAvatar::useFlow(bool isActive, bool isCollidable, const QVariantMap& phys
|
|||
* @property {number} delta - Delta time for every integration step.
|
||||
* @property {number[]} jointIndices - The indexes of the joints the options are applied to.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A set of collision options currently used in flow simulation.
|
||||
* @typedef {object} MyAvatar.FlowCollisionsData
|
||||
* @property {number} radius - Collision sphere radius.
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -55,7 +55,7 @@ public:
|
|||
|
||||
void getWalletStatus();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A <code>WalletStatus</code> may have one of the following values:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -57,7 +57,7 @@ void buildObjectIntersectionsMap(IntersectionType intersectionType, const std::v
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An intersection result for a collision pick.
|
||||
*
|
||||
* @typedef {object} CollisionPickResult
|
||||
|
@ -66,7 +66,7 @@ void buildObjectIntersectionsMap(IntersectionType intersectionType, const std::v
|
|||
* @property {CollisionRegion} collisionRegion - The collision region that was used. Valid even if there was no intersection.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about a {@link CollisionPick}'s intersection with an object.
|
||||
*
|
||||
* @typedef {object} IntersectingObject
|
||||
|
@ -76,7 +76,7 @@ void buildObjectIntersectionsMap(IntersectionType intersectionType, const std::v
|
|||
* @property {CollisionContact[]} collisionContacts - Information on the penetration between the pick and the object.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A pair of points that represents part of an overlap between a {@link CollisionPick} and an object in the physics engine.
|
||||
* Points which are further apart represent deeper overlap.
|
||||
*
|
||||
|
|
|
@ -20,7 +20,7 @@ class LaserPointerScriptingInterface : public QObject, public Dependency {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>LaserPointers</code> API is a subset of the {@link Pointers} API. It lets you create, manage, and visually
|
||||
* represent objects for repeatedly calculating ray intersections with avatars, entities, and overlays. Ray pointers can also
|
||||
* be configured to generate events on entities and overlays intersected.
|
||||
|
@ -40,7 +40,7 @@ class LaserPointerScriptingInterface : public QObject, public Dependency {
|
|||
*/
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new ray pointer. The pointer can have a wide range of behaviors depending on the properties specified. For
|
||||
* example, it may be a static ray pointer, a mouse ray pointer, or joint ray pointer.
|
||||
* <p><strong>Warning:</strong> Pointers created using this method currently always intersect at least visible and
|
||||
|
@ -61,7 +61,7 @@ public:
|
|||
// jsdoc @borrows from Pointers
|
||||
Q_INVOKABLE void removeLaserPointer(unsigned int uid) const { DependencyManager::get<PointerManager>()->removePointer(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Edits a render state of a pointer, to change its visual appearance for the state when the pointer is intersecting
|
||||
* something.
|
||||
* <p><strong>Note:</strong> You can only edit the properties of the existing parts of the pointer; you cannot change the
|
||||
|
@ -75,7 +75,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void editRenderState(unsigned int uid, const QString& renderState, const QVariant& properties) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the render state of a pointer, to change its visual appearance and possibly disable or enable it.
|
||||
* @function LaserPointers.setRenderState
|
||||
* @param {string} renderState - <p>The name of the render state to set the pointer to. This may be:</p>
|
||||
|
@ -87,7 +87,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setRenderState(unsigned int uid, const QString& renderState) const { DependencyManager::get<PointerManager>()->setRenderState(uid, renderState.toStdString()); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the most recent intersection of a pointer. A pointer continues to be updated ready to return a result, as long as
|
||||
* it is enabled, regardless of the render state.
|
||||
* @function LaserPointers.getPrevRayPickResult
|
||||
|
@ -99,7 +99,7 @@ public:
|
|||
// jsdoc @borrows from Pointers
|
||||
Q_INVOKABLE void setPrecisionPicking(unsigned int uid, bool precisionPicking) const { DependencyManager::get<PointerManager>()->setPrecisionPicking(uid, precisionPicking); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the length of a pointer.
|
||||
* @function LaserPointers.setLaserLength
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
@ -107,7 +107,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setLaserLength(unsigned int uid, float laserLength) const { DependencyManager::get<PointerManager>()->setLength(uid, laserLength); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pointer should ignore during intersection.
|
||||
* @function LaserPointers.setIgnoreItems
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
@ -115,7 +115,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setIgnoreItems(unsigned int uid, const QScriptValue& ignoreEntities) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pointer should include during intersection, instead of intersecting with
|
||||
* everything.
|
||||
* @function LaserPointers.setIncludeItems
|
||||
|
@ -125,7 +125,7 @@ public:
|
|||
Q_INVOKABLE void setIncludeItems(unsigned int uid, const QScriptValue& includeEntities) const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Locks a pointer onto a specific entity or avatar.
|
||||
* @function LaserPointers.setLockEndUUID
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
@ -137,7 +137,7 @@ public:
|
|||
Q_INVOKABLE void setLockEndUUID(unsigned int uid, const QUuid& objectID, bool isAvatar, const glm::mat4& offsetMat = glm::mat4()) const { DependencyManager::get<PointerManager>()->setLockEndUUID(uid, objectID, isAvatar, offsetMat); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the left hand: a pointer with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_LEFTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_LEFTHAND"</code>.
|
||||
* @function LaserPointers.isLeftHand
|
||||
|
@ -146,7 +146,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isLeftHand(unsigned int uid) { return DependencyManager::get<PointerManager>()->isLeftHand(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the right hand: a pointer with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_RIGHTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_RIGHTHAND"</code>.
|
||||
* @function LaserPointers.isRightHand
|
||||
|
@ -155,7 +155,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isRightHand(unsigned int uid) { return DependencyManager::get<PointerManager>()->isRightHand(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the system mouse: a pointer with <code>joint</code> property set to
|
||||
* <code>"Mouse"</code>.
|
||||
* @function LaserPointers.isMouse
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
float parabolicDistance { FLT_MAX };
|
||||
bool intersects { false };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An intersection result for a parabola pick.
|
||||
*
|
||||
* @typedef {object} ParabolaPickResult
|
||||
|
|
|
@ -71,7 +71,7 @@ PickFilter getPickFilter(unsigned int filter) {
|
|||
return PickFilter(filter);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a ray pick.
|
||||
*
|
||||
* @typedef {object} Picks.RayPickProperties
|
||||
|
@ -157,7 +157,7 @@ std::shared_ptr<PickQuery> PickScriptingInterface::buildRayPick(const QVariantMa
|
|||
return rayPick;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a stylus pick.
|
||||
*
|
||||
* @typedef {object} Picks.StylusPickProperties
|
||||
|
@ -209,7 +209,7 @@ std::shared_ptr<PickQuery> PickScriptingInterface::buildStylusPick(const QVarian
|
|||
|
||||
// NOTE: Laser pointer still uses scaleWithAvatar. Until scaleWithAvatar is also deprecated for pointers, scaleWithAvatar
|
||||
// should not be removed from the pick API.
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a parabola pick.
|
||||
*
|
||||
* @typedef {object} Picks.ParabolaPickProperties
|
||||
|
@ -320,7 +320,7 @@ std::shared_ptr<PickQuery> PickScriptingInterface::buildParabolaPick(const QVari
|
|||
}
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a collision pick.
|
||||
*
|
||||
* @typedef {object} Picks.CollisionPickProperties
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <Pick.h>
|
||||
#include <PickFilter.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Picks</code> API lets you create and manage objects for repeatedly calculating intersections.
|
||||
*
|
||||
* @namespace Picks
|
||||
|
@ -105,7 +105,7 @@ class PickScriptingInterface : public QObject, public Dependency {
|
|||
public:
|
||||
void registerMetaTypes(QScriptEngine* engine);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new pick. Different {@link PickType}s use different properties, and within one PickType the properties you
|
||||
* choose can lead to a wide range of behaviors. For example, with <code>PickType.Ray</code>, the properties could
|
||||
* configure a mouse ray pick, an avatar head ray pick, or a joint ray pick.
|
||||
|
@ -120,21 +120,21 @@ public:
|
|||
// TODO: expand Pointers to be able to be fully configurable with PickFilters
|
||||
Q_INVOKABLE unsigned int createPick(const PickQuery::PickType type, const QVariant& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables a pick. Enabled picks update their pick results.
|
||||
* @function Picks.enablePick
|
||||
* @param {number} id - The ID of the pick.
|
||||
*/
|
||||
Q_INVOKABLE void enablePick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables a pick. Disabled picks do not update their pick results.
|
||||
* @function Picks.disablePick
|
||||
* @param {number} id - The ID of the pick.
|
||||
*/
|
||||
Q_INVOKABLE void disablePick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get the enabled status of a pick. Enabled picks update their pick results.
|
||||
* @function Picks.isPickEnabled
|
||||
* @param {number} id - The ID of the pick.
|
||||
|
@ -142,14 +142,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isPickEnabled(unsigned int uid) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes (deletes) a pick.
|
||||
* @function Picks.removePick
|
||||
* @param {number} id - The ID of the pick.
|
||||
*/
|
||||
Q_INVOKABLE void removePick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current properties of the pick.
|
||||
* @function Picks.getPickProperties
|
||||
* @param {number} id - The ID of the pick.
|
||||
|
@ -158,7 +158,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariantMap getPickProperties(unsigned int uid) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the parameters that were passed in to {@link Picks.createPick} to create the pick, if the pick was created through
|
||||
* a script. Note that these properties do not reflect the current state of the pick.
|
||||
* See {@link Picks.getPickProperties}.
|
||||
|
@ -169,14 +169,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariantMap getPickScriptParameters(unsigned int uid) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets all picks which currently exist, including disabled picks.
|
||||
* @function Picks.getPicks
|
||||
* @returns {number[]} picks - The IDs of the picks.
|
||||
*/
|
||||
Q_INVOKABLE QVector<unsigned int> getPicks() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the most recent result from a pick. A pick continues to be updated ready to return a result, as long as it is
|
||||
* enabled.
|
||||
* <p><strong>Note:</strong> Stylus picks only intersect with objects in their include list, set using
|
||||
|
@ -228,7 +228,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariantMap getPrevPickResult(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not a pick should use precision picking, i.e., whether it should pick against precise meshes or coarse
|
||||
* meshes.
|
||||
* This has the same effect as using the <code>PICK_PRECISE</code> or <code>PICK_COARSE</code> filter flags.
|
||||
|
@ -238,7 +238,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setPrecisionPicking(unsigned int uid, bool precisionPicking);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pick should ignore during intersection.
|
||||
* <p><strong>Note:</strong> Not used by stylus picks.</p>
|
||||
* @function Picks.setIgnoreItems
|
||||
|
@ -247,7 +247,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setIgnoreItems(unsigned int uid, const QScriptValue& ignoreItems);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pick should include during intersection, instead of intersecting with
|
||||
* everything.
|
||||
* <p><strong>Note:</strong> Stylus picks only intersect with items in their include list.</p>
|
||||
|
@ -257,7 +257,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setIncludeItems(unsigned int uid, const QScriptValue& includeItems);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the left hand: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_LEFTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_LEFTHAND"</code>, or a stylus pick with
|
||||
* <code>hand</code> property set to <code>0</code>.
|
||||
|
@ -267,7 +267,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isLeftHand(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the right hand: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_RIGHTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_RIGHTHAND"</code>, or a stylus pick with
|
||||
* <code>hand</code> property set to <code>1</code>.
|
||||
|
@ -277,7 +277,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isRightHand(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the system mouse: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"Mouse"</code>.
|
||||
* @function Picks.isMouse
|
||||
|
@ -293,7 +293,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_ENTITIES
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_DOMAIN_ENTITIES |
|
||||
* Picks.PICK_AVATAR_ENTITIES</code> properties expression instead.
|
||||
|
@ -301,7 +301,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_ENTITIES() { return PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES) | PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_OVERLAYS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_LOCAL_ENTITIES</code> property
|
||||
* instead.
|
||||
|
@ -310,7 +310,7 @@ public slots:
|
|||
static constexpr unsigned int PICK_OVERLAYS() { return PickFilter::getBitMask(PickFilter::FlagBit::LOCAL_ENTITIES); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_DOMAIN_ENTITIES
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_DOMAIN_ENTITIES</code> property
|
||||
* instead.
|
||||
|
@ -318,7 +318,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_DOMAIN_ENTITIES() { return PickFilter::getBitMask(PickFilter::FlagBit::DOMAIN_ENTITIES); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_AVATAR_ENTITIES
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_AVATAR_ENTITIES</code> property
|
||||
* instead.
|
||||
|
@ -326,7 +326,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_AVATAR_ENTITIES() { return PickFilter::getBitMask(PickFilter::FlagBit::AVATAR_ENTITIES); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_LOCAL_ENTITIES
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_LOCAL_ENTITIES</code> property
|
||||
* instead.
|
||||
|
@ -334,7 +334,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_LOCAL_ENTITIES() { return PickFilter::getBitMask(PickFilter::FlagBit::LOCAL_ENTITIES); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_AVATARS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_AVATARS</code> property
|
||||
* instead.
|
||||
|
@ -342,7 +342,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_AVATARS() { return PickFilter::getBitMask(PickFilter::FlagBit::AVATARS); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_HUD
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_HUD</code> property instead.
|
||||
* @returns {number}
|
||||
|
@ -350,7 +350,7 @@ public slots:
|
|||
static constexpr unsigned int PICK_HUD() { return PickFilter::getBitMask(PickFilter::FlagBit::HUD); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_INCLUDE_VISIBLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_INCLUDE_VISIBLE</code> property
|
||||
* instead.
|
||||
|
@ -358,7 +358,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_INCLUDE_VISIBLE() { return PickFilter::getBitMask(PickFilter::FlagBit::VISIBLE); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_INCLUDE_INVISIBLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_INCLUDE_INVISIBLE</code> property
|
||||
* instead.
|
||||
|
@ -367,7 +367,7 @@ public slots:
|
|||
static constexpr unsigned int PICK_INCLUDE_INVISIBLE() { return PickFilter::getBitMask(PickFilter::FlagBit::INVISIBLE); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_INCLUDE_COLLIDABLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_INCLUDE_COLLIDABLE</code> property
|
||||
* instead.
|
||||
|
@ -375,7 +375,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_INCLUDE_COLLIDABLE() { return PickFilter::getBitMask(PickFilter::FlagBit::COLLIDABLE); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_INCLUDE_NONCOLLIDABLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_INCLUDE_NONCOLLIDABLE</code>
|
||||
* property instead.
|
||||
|
@ -384,14 +384,14 @@ public slots:
|
|||
static constexpr unsigned int PICK_INCLUDE_NONCOLLIDABLE() { return PickFilter::getBitMask(PickFilter::FlagBit::NONCOLLIDABLE); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_PRECISE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_PRECISE</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static constexpr unsigned int PICK_PRECISE() { return PickFilter::getBitMask(PickFilter::FlagBit::PRECISE); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_COARSE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_COARSE</code> property instead.
|
||||
* @returns {number}
|
||||
|
@ -399,7 +399,7 @@ public slots:
|
|||
static constexpr unsigned int PICK_COARSE() { return PickFilter::getBitMask(PickFilter::FlagBit::COARSE); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.PICK_ALL_INTERSECTIONS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.PICK_ALL_INTERSECTIONS</code> property
|
||||
* instead.
|
||||
|
@ -407,7 +407,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int PICK_ALL_INTERSECTIONS() { return PickFilter::getBitMask(PickFilter::FlagBit::PICK_ALL_INTERSECTIONS); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_NONE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_NONE</code> property
|
||||
* instead.
|
||||
|
@ -415,7 +415,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int INTERSECTED_NONE() { return IntersectionType::NONE; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_ENTITY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_ENTITY</code> property
|
||||
* instead.
|
||||
|
@ -423,7 +423,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int INTERSECTED_ENTITY() { return IntersectionType::ENTITY; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_LOCAL_ENTITY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_LOCAL_ENTITY</code>
|
||||
* property instead.
|
||||
|
@ -431,7 +431,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int INTERSECTED_LOCAL_ENTITY() { return IntersectionType::LOCAL_ENTITY; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_OVERLAY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_LOCAL_ENTITY</code>
|
||||
* property instead.
|
||||
|
@ -439,7 +439,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int INTERSECTED_OVERLAY() { return INTERSECTED_LOCAL_ENTITY(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_AVATAR
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_AVATAR</code> property
|
||||
* instead.
|
||||
|
@ -447,7 +447,7 @@ public slots:
|
|||
*/
|
||||
static constexpr unsigned int INTERSECTED_AVATAR() { return IntersectionType::AVATAR; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Picks.INTERSECTED_HUD
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Picks.INTERSECTED_HUD</code> property
|
||||
* instead.
|
||||
|
|
|
@ -83,7 +83,7 @@ QVariantMap PointerScriptingInterface::getPointerScriptParameters(unsigned int u
|
|||
return DependencyManager::get<PointerManager>()->getPointerScriptParameters(uid);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a stylus pointer. These include the properties from the underlying stylus pick that the pointer uses.
|
||||
* @typedef {object} Pointers.StylusPointerProperties
|
||||
* @property {Pointers.StylusPointerModel} [model] - Override some or all of the default stylus model properties.
|
||||
|
@ -96,7 +96,7 @@ QVariantMap PointerScriptingInterface::getPointerScriptParameters(unsigned int u
|
|||
* @see {@link Picks.StylusPickProperties} for additional properties from the underlying stylus pick.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a stylus pointer model.
|
||||
* @typedef {object} Pointers.StylusPointerModel
|
||||
* @property {string} [url] - The url of a model to use for the stylus, to override the default stylus mode.
|
||||
|
@ -141,14 +141,14 @@ std::shared_ptr<Pointer> PointerScriptingInterface::buildStylus(const QVariant&
|
|||
return std::make_shared<StylusPointer>(properties, StylusPointer::buildStylus(propertyMap), hover, enabled, modelPositionOffset, modelRotationOffset, modelDimensions);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Properties that define the visual appearance of a ray pointer when the pointer is not intersecting something. These are the
|
||||
* properties of {@link Pointers.RayPointerRenderState} but with an additional property.
|
||||
* @typedef {object} Pointers.DefaultRayPointerRenderState
|
||||
* @property {number} distance - The distance at which to render the end of the ray pointer.
|
||||
* @see {@link Pointers.RayPointerRenderState} for the remainder of the properties.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Properties that define the visual appearance of a ray pointer when the pointer is intersecting something.
|
||||
* @typedef {object} Pointers.RayPointerRenderState
|
||||
* @property {string} name - When creating using {@link Pointers.createPointer}, the name of the render state.
|
||||
|
@ -171,7 +171,7 @@ std::shared_ptr<Pointer> PointerScriptingInterface::buildStylus(const QVariant&
|
|||
* <p>When getting using {@link Pointers.getPointerProperties}, the ID of the overlay rendered at the end of the ray;
|
||||
* <code>null</code> if there is no overlay.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a ray pointer. These include the properties from the underlying ray pick that the pointer uses.
|
||||
* @typedef {object} Pointers.RayPointerProperties
|
||||
* @property {boolean} [faceAvatar=false] - <code>true</code> if the overlay rendered at the end of the ray rotates about the
|
||||
|
@ -329,7 +329,7 @@ std::shared_ptr<Pointer> PointerScriptingInterface::buildLaserPointer(const QVar
|
|||
distanceScaleEnd, scaleWithParent, enabled);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The visual appearance of the parabolic path.
|
||||
* @typedef {object} Pointers.ParabolaPointerPath
|
||||
* @property {Color} [color=255,255,255] - The color of the parabola.
|
||||
|
@ -340,14 +340,14 @@ std::shared_ptr<Pointer> PointerScriptingInterface::buildLaserPointer(const QVar
|
|||
* @property {boolean} [drawInFront=false] - <code>true</code> if the parabola is rendered in front of objects in the world,
|
||||
* but behind the HUD, <code>false</code> if it is occluded by objects in front of it.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Properties that define the visual appearance of a parabola pointer when the pointer is not intersecting something. These are
|
||||
* properties of {@link Pointers.ParabolaPointerRenderState} but with an additional property.
|
||||
* @typedef {object} Pointers.DefaultParabolaPointerRenderState
|
||||
* @property {number} distance - The distance along the parabola at which to render the end of the parabola pointer.
|
||||
* @see {@link Pointers.ParabolaPointerRenderState} for the remainder of the properties.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Properties that define the visual appearance of a parabola pointer when the pointer is intersecting something.
|
||||
* @typedef {object} Pointers.ParabolaPointerRenderState
|
||||
* @property {string} name - When creating using {@link Pointers.createPointer}, the name of the render state.
|
||||
|
@ -366,7 +366,7 @@ std::shared_ptr<Pointer> PointerScriptingInterface::buildLaserPointer(const QVar
|
|||
* <p>When getting using {@link Pointers.getPointerProperties}, the ID of the overlay rendered at the end of the parabola;
|
||||
* <code>null</code> if there is no overlay.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The properties of a parabola pointer. These include the properties from the underlying parabola pick that the pointer uses.
|
||||
* @typedef {object} Pointers.ParabolaPointerProperties
|
||||
* @property {boolean} [faceAvatar=false] - <code>true</code> if the overlay rendered at the end of the ray rotates about the
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <PointerManager.h>
|
||||
#include <Pick.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Pointers</code> API lets you create, manage, and visually represent objects for repeatedly calculating
|
||||
* intersections with avatars, entities, and overlays. Pointers can also be configured to generate events on entities and
|
||||
* overlays intersected.
|
||||
|
@ -33,7 +33,7 @@ class PointerScriptingInterface : public QObject, public Dependency {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Specifies that a {@link Controller} action or function should trigger events on the entity or overlay currently
|
||||
* intersected by a {@link Pointers.RayPointerProperties|Ray} or {@link Pointers.ParabolaPointerProperties|Parabola}
|
||||
* pointer.
|
||||
|
@ -50,7 +50,7 @@ public:
|
|||
* </ul>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new ray, parabola, or stylus pointer. The pointer can have a wide range of behaviors depending on the
|
||||
* properties specified. For example, a ray pointer may be a static ray pointer, a mouse ray pointer, or joint ray
|
||||
* pointer.
|
||||
|
@ -131,21 +131,21 @@ public:
|
|||
// TODO: expand Pointers to be able to be fully configurable with PickFilters
|
||||
Q_INVOKABLE unsigned int createPointer(const PickQuery::PickType& type, const QVariant& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables and shows a pointer. Enabled pointers update their pick results and generate events.
|
||||
* @function Pointers.enablePointer
|
||||
* @param {number} id - The ID of the pointer.
|
||||
*/
|
||||
Q_INVOKABLE void enablePointer(unsigned int uid) const { DependencyManager::get<PointerManager>()->enablePointer(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables and hides a pointer. Disabled pointers do not update their pick results or generate events.
|
||||
* @function Pointers.disablePointer
|
||||
* @param {number} id - The ID of the pointer.
|
||||
*/
|
||||
Q_INVOKABLE void disablePointer(unsigned int uid) const { DependencyManager::get<PointerManager>()->disablePointer(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the enabled status of a pointer. Enabled pointers update their pick results and generate events.
|
||||
* @function Pointers.isPointerEnabled
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
@ -153,14 +153,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isPointerEnabled(unsigned int uid) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes (deletes) a pointer.
|
||||
* @function Pointers.removePointer
|
||||
* @param {number} id - The ID of the pointer.
|
||||
*/
|
||||
Q_INVOKABLE void removePointer(unsigned int uid) const { DependencyManager::get<PointerManager>()->removePointer(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the parameters that were passed in to {@link Pointers.createPointer} to create the pointer when the pointer was
|
||||
* created through a script.
|
||||
* <p><strong>Note:</strong> These properties do not reflect the current state of the pointer. To get the current state
|
||||
|
@ -172,14 +172,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariantMap getPointerScriptParameters(unsigned int uid) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets all pointers which currently exist, including disabled pointers.
|
||||
* @function Pointers.getPointers
|
||||
* @returns {number[]} pointers - The IDs of the pointers.
|
||||
*/
|
||||
Q_INVOKABLE QVector<unsigned int> getPointers() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Edits a render state of a {@link Pointers.RayPointerProperties|ray} or
|
||||
* {@link Pointers.ParabolaPointerProperties|parabola} pointer, to change its visual appearance for the state when the
|
||||
* pointer is intersecting something.
|
||||
|
@ -251,7 +251,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void editRenderState(unsigned int uid, const QString& renderState, const QVariant& properties) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the render state of a pointer, to change its visual appearance and possibly disable or enable it.
|
||||
* @function Pointers.setRenderState
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
@ -330,7 +330,7 @@ public:
|
|||
Q_INVOKABLE void setRenderState(unsigned int uid, const QString& renderState) const { DependencyManager::get<PointerManager>()->setRenderState(uid, renderState.toStdString()); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the most recent intersection of a pointer. A pointer continues to be updated ready to return a result, as long as
|
||||
* it is enabled, regardless of the render state.
|
||||
* @function Pointers.getPrevPickResult
|
||||
|
@ -340,7 +340,7 @@ public:
|
|||
Q_INVOKABLE QVariantMap getPrevPickResult(unsigned int uid) const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not a pointer should use precision picking, i.e., whether it should pick against precise meshes or
|
||||
* coarse meshes. This has the same effect as using the <code>PICK_PRECISE</code> or <code>PICK_COARSE</code> filter flags.
|
||||
* @function Pointers.setPrecisionPicking
|
||||
|
@ -349,7 +349,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setPrecisionPicking(unsigned int uid, bool precisionPicking) const { DependencyManager::get<PointerManager>()->setPrecisionPicking(uid, precisionPicking); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the length of a pointer.
|
||||
* <p><strong>Note:</strong> Not used by stylus pointers.</p>
|
||||
* @function Pointers.setLength
|
||||
|
@ -358,7 +358,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setLength(unsigned int uid, float length) const { DependencyManager::get<PointerManager>()->setLength(uid, length); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pointer should ignore during intersection.
|
||||
* <p><strong>Note:</strong> Not used by stylus pointers.</p>
|
||||
* @function Pointers.setIgnoreItems
|
||||
|
@ -367,7 +367,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setIgnoreItems(unsigned int uid, const QScriptValue& ignoreEntities) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a pointer should include during intersection, instead of intersecting with
|
||||
* everything.
|
||||
* <p><strong>Note:</strong> Stylus pointers only intersect with items in their include list.</p>
|
||||
|
@ -378,7 +378,7 @@ public:
|
|||
Q_INVOKABLE void setIncludeItems(unsigned int uid, const QScriptValue& includeEntities) const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Locks a pointer onto a specific entity or avatar.
|
||||
* <p><strong>Note:</strong> Not used by stylus pointers.</p>
|
||||
* @function Pointers.setLockEndUUID
|
||||
|
@ -391,7 +391,7 @@ public:
|
|||
Q_INVOKABLE void setLockEndUUID(unsigned int uid, const QUuid& objectID, bool isAvatar, const glm::mat4& offsetMat = glm::mat4()) const { DependencyManager::get<PointerManager>()->setLockEndUUID(uid, objectID, isAvatar, offsetMat); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the left hand: a ray or parabola pointer with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_LEFTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_LEFTHAND"</code>, or a stylus pointer with
|
||||
* <code>hand</code> property set to <code>0</code>.
|
||||
|
@ -401,7 +401,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isLeftHand(unsigned int uid) { return DependencyManager::get<PointerManager>()->isLeftHand(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the right hand: a ray or parabola pointer with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_RIGHTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_RIGHTHAND"</code>, or a stylus pointer with
|
||||
* <code>hand</code> property set to <code>1</code>.
|
||||
|
@ -411,7 +411,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isRightHand(unsigned int uid) { return DependencyManager::get<PointerManager>()->isRightHand(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pointer is associated with the system mouse: a ray or parabola pointer with <code>joint</code> property set
|
||||
* to <code>"Mouse"</code>.
|
||||
* @function Pointers.isMouse
|
||||
|
@ -420,7 +420,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isMouse(unsigned int uid) { return DependencyManager::get<PointerManager>()->isMouse(uid); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about a pointer.
|
||||
* @function Pointers.getPointerProperties
|
||||
* @param {number} id - The ID of the pointer.
|
||||
|
|
|
@ -39,7 +39,7 @@ public:
|
|||
float distance { FLT_MAX };
|
||||
bool intersects { false };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An intersection result for a ray pick.
|
||||
*
|
||||
* @typedef {object} RayPickResult
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include "PickScriptingInterface.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>RayPick</code> API is a subset of the {@link Picks} API, as used for ray picks.
|
||||
*
|
||||
* @namespace RayPick
|
||||
|
@ -65,7 +65,7 @@ class RayPickScriptingInterface : public QObject, public Dependency {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new ray pick.
|
||||
* <p><strong>Warning:</strong> Picks created using this method currently always intersect at least visible and collidable
|
||||
* things but this may not always be the case.</p>
|
||||
|
@ -75,28 +75,28 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE unsigned int createRayPick(const QVariant& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables a ray pick.
|
||||
* @function RayPick.enableRayPick
|
||||
* @param {number} id - The ID of the ray pick.
|
||||
*/
|
||||
Q_INVOKABLE void enableRayPick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables a ray pick.
|
||||
* @function RayPick.disableRayPick
|
||||
* @param {number} id - The ID of the ray pick.
|
||||
*/
|
||||
Q_INVOKABLE void disableRayPick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes (deletes) a ray pick.
|
||||
* @function RayPick.removeRayPick
|
||||
* @param {number} id - The ID of the ray pick.
|
||||
*/
|
||||
Q_INVOKABLE void removeRayPick(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the most recent pick result from a ray pick. A ray pick continues to be updated ready to return a result, as long
|
||||
* as it is enabled.
|
||||
* @function RayPick.getPrevRayPickResult
|
||||
|
@ -106,7 +106,7 @@ public:
|
|||
Q_INVOKABLE QVariantMap getPrevRayPickResult(unsigned int uid);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not a ray pick should use precision picking, i.e., whether it should pick against precise meshes or
|
||||
* coarse meshes.
|
||||
* @function RayPick.setPrecisionPicking
|
||||
|
@ -115,7 +115,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setPrecisionPicking(unsigned int uid, bool precisionPicking);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a ray pick should ignore during intersection.
|
||||
* @function RayPick.setIgnoreItems
|
||||
* @param {number} id - The ID of the ray pick.
|
||||
|
@ -123,7 +123,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setIgnoreItems(unsigned int uid, const QScriptValue& ignoreEntities);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a list of entity and avatar IDs that a ray pick should include during intersection, instead of intersecting with
|
||||
* everything.
|
||||
* @function RayPick.setIncludeItems
|
||||
|
@ -133,7 +133,7 @@ public:
|
|||
Q_INVOKABLE void setIncludeItems(unsigned int uid, const QScriptValue& includeEntities);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the left hand: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_LEFTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_LEFTHAND"</code>, or a stylus pick with
|
||||
* <code>hand</code> property set to <code>0</code>.
|
||||
|
@ -143,7 +143,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isLeftHand(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the right hand: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"_CONTROLLER_RIGHTHAND"</code> or <code>"_CAMERA_RELATIVE_CONTROLLER_RIGHTHAND"</code>, or a stylus pick with
|
||||
* <code>hand</code> property set to <code>1</code>.
|
||||
|
@ -153,7 +153,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isRightHand(unsigned int uid);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a pick is associated with the system mouse: a ray or parabola pick with <code>joint</code> property set to
|
||||
* <code>"Mouse"</code>.
|
||||
* @function RayPick.isMouse
|
||||
|
@ -164,42 +164,42 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_ENTITIES
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>Raypick.PICK_ENTITIES</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static unsigned int PICK_ENTITIES() { return PickScriptingInterface::PICK_ENTITIES(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_OVERLAYS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_OVERLAYS</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static unsigned int PICK_OVERLAYS() { return PickScriptingInterface::PICK_OVERLAYS(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_AVATARS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_AVATARS</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static unsigned int PICK_AVATARS() { return PickScriptingInterface::PICK_AVATARS(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_HUD
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_HUD</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static unsigned int PICK_HUD() { return PickScriptingInterface::PICK_HUD(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_COARSE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_COARSE</code> property instead.
|
||||
* @returns {number}
|
||||
*/
|
||||
static unsigned int PICK_COARSE() { return PickScriptingInterface::PICK_COARSE(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_INCLUDE_INVISIBLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_INCLUDE_INVISIBLE</code>
|
||||
* property instead.
|
||||
|
@ -207,7 +207,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int PICK_INCLUDE_INVISIBLE() { return PickScriptingInterface::PICK_INCLUDE_INVISIBLE(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_INCLUDE_NONCOLLIDABLE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_INCLUDE_NONCOLLIDABLE</code>
|
||||
* property instead.
|
||||
|
@ -215,7 +215,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int PICK_INCLUDE_NONCOLLIDABLE() { return PickScriptingInterface::PICK_INCLUDE_NONCOLLIDABLE(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.PICK_ALL_INTERSECTIONS
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.PICK_ALL_INTERSECTIONS</code>
|
||||
* property instead.
|
||||
|
@ -223,7 +223,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int PICK_ALL_INTERSECTIONS() { return PickScriptingInterface::PICK_ALL_INTERSECTIONS(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_NONE
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_NONE</code> property
|
||||
* instead.
|
||||
|
@ -231,7 +231,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int INTERSECTED_NONE() { return PickScriptingInterface::INTERSECTED_NONE(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_ENTITY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_ENTITY</code> property
|
||||
* instead.
|
||||
|
@ -239,7 +239,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int INTERSECTED_ENTITY() { return PickScriptingInterface::INTERSECTED_ENTITY(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_OVERLAY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_LOCAL_ENTITY</code>
|
||||
* property instead.
|
||||
|
@ -247,7 +247,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int INTERSECTED_LOCAL_ENTITY() { return PickScriptingInterface::INTERSECTED_LOCAL_ENTITY(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_OVERLAY
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_OVERLAY</code> property
|
||||
* instead.
|
||||
|
@ -255,7 +255,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int INTERSECTED_OVERLAY() { return PickScriptingInterface::INTERSECTED_LOCAL_ENTITY(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_AVATAR
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_AVATAR</code> property
|
||||
* instead.
|
||||
|
@ -263,7 +263,7 @@ public slots:
|
|||
*/
|
||||
static unsigned int INTERSECTED_AVATAR() { return PickScriptingInterface::INTERSECTED_AVATAR(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function RayPick.INTERSECTED_HUD
|
||||
* @deprecated This function is deprecated and will be removed. Use the <code>RayPick.INTERSECTED_HUD</code> property
|
||||
* instead.
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
glm::vec3 intersection { NAN };
|
||||
glm::vec3 surfaceNormal { NAN };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An intersection result for a stylus pick.
|
||||
*
|
||||
* @typedef {object} StylusPickResult
|
||||
|
|
|
@ -112,7 +112,7 @@ DownloadInfoResult::DownloadInfoResult() :
|
|||
{
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information on the assets currently being downloaded and pending download.
|
||||
* @typedef {object} AccountServices.DownloadInfoResult
|
||||
* @property {number[]} downloading - The download percentage remaining of each asset currently downloading.
|
||||
|
|
|
@ -37,7 +37,7 @@ void DownloadInfoResultFromScriptValue(const QScriptValue& object, DownloadInfoR
|
|||
class AccountServicesScriptingInterface : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AccountServices</code> API provides functions that give information on user connectivity, visibility, and
|
||||
* asset download progress.
|
||||
*
|
||||
|
@ -62,7 +62,7 @@ class AccountServicesScriptingInterface : public QObject {
|
|||
* — typically <code>"https://metaverse.highfidelity.com"</code>. <em>Read-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Account</code> API provides functions that give information on user connectivity, visibility, and asset
|
||||
* download progress.
|
||||
*
|
||||
|
@ -102,7 +102,7 @@ class AccountServicesScriptingInterface : public QObject {
|
|||
* @borrows AccountServices.loggedInChanged as loggedInChanged
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>GlobalServices</code> API provides functions that give information on user connectivity, visibility, and asset
|
||||
* download progress.
|
||||
*
|
||||
|
@ -156,21 +156,21 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information on the download progress of assets in the domain.
|
||||
* @function AccountServices.getDownloadInfo
|
||||
* @returns {AccountServices.DownloadInfoResult} Information on the download progress of assets.
|
||||
*/
|
||||
DownloadInfoResult getDownloadInfo();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a {@link AccountServices.downloadInfoChanged|downloadInfoChanged} signal with information on the current
|
||||
* download progress of the assets in the domain.
|
||||
* @function AccountServices.updateDownloadInfo
|
||||
*/
|
||||
void updateDownloadInfo();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether the user is logged in.
|
||||
* @function AccountServices.isLoggedIn
|
||||
* @returns {boolean} <code>true</code> if the user is logged in, <code>false</code> if not.
|
||||
|
@ -180,14 +180,14 @@ public slots:
|
|||
*/
|
||||
bool isLoggedIn();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The function returns the login status of the user and prompts the user to log in (with a login dialog) if they're not already logged in.
|
||||
* @function AccountServices.checkAndSignalForAccessToken
|
||||
* @returns {boolean} <code>true</code> if the user is logged in, <code>false</code> if not.
|
||||
*/
|
||||
bool checkAndSignalForAccessToken();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Logs the user out.
|
||||
* @function AccountServices.logOut
|
||||
*/
|
||||
|
@ -205,14 +205,14 @@ private slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Not currently used.
|
||||
* @function AccountServices.connected
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void connected();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user logs out.
|
||||
* @function AccountServices.disconnected
|
||||
* @param {string} reason - Has the value, <code>"logout"</code>.
|
||||
|
@ -220,7 +220,7 @@ signals:
|
|||
*/
|
||||
void disconnected(const QString& reason);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the username logged in with changes, i.e., when the user logs in or out.
|
||||
* @function AccountServices.myUsernameChanged
|
||||
* @param {string} username - The user name of the user logged in. If there is no user logged in, it is <code>""</code>.
|
||||
|
@ -232,7 +232,7 @@ signals:
|
|||
*/
|
||||
void myUsernameChanged(const QString& username);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the download progress of the assets in the domain changes.
|
||||
* @function AccountServices.downloadInfoChanged
|
||||
* @param {AccountServices.DownloadInfoResult} downloadInfo - Information on the download progress of assets.
|
||||
|
@ -240,7 +240,7 @@ signals:
|
|||
*/
|
||||
void downloadInfoChanged(DownloadInfoResult info);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user's visibility to others changes.
|
||||
* @function AccountServices.findableByChanged
|
||||
* @param {string} findableBy - The user's visibility to other people:
|
||||
|
@ -268,7 +268,7 @@ signals:
|
|||
*/
|
||||
void findableByChanged(const QString& discoverabilityMode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the login status of the user changes.
|
||||
* @function AccountServices.loggedInChanged
|
||||
* @param {boolean} loggedIn - <code>true</code> if the user is logged in, <code>false</code> if not.
|
||||
|
|
|
@ -30,7 +30,7 @@ class Audio : public AudioScriptingInterface, protected ReadWriteLockable {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Audio</code> API provides facilities to interact with audio inputs and outputs and to play sounds.
|
||||
*
|
||||
* @namespace Audio
|
||||
|
@ -161,7 +161,7 @@ public:
|
|||
void saveData();
|
||||
void loadData();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Audio.setInputDevice
|
||||
* @param {object} device - Device.
|
||||
* @param {boolean} isHMD - Is HMD.
|
||||
|
@ -169,7 +169,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setInputDevice(const HifiAudioDeviceInfo& device, bool isHMD);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Audio.setOutputDevice
|
||||
* @param {object} device - Device.
|
||||
* @param {boolean} isHMD - Is HMD.
|
||||
|
@ -177,7 +177,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setOutputDevice(const HifiAudioDeviceInfo& device, bool isHMD);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables reverberation. Reverberation is done by the client on the post-mix audio. The reverberation options
|
||||
* come from either the domain's audio zone configured on the server or settings scripted by
|
||||
* {@link Audio.setReverbOptions|setReverbOptions}.
|
||||
|
@ -210,21 +210,21 @@ public:
|
|||
* }, 8000); */
|
||||
Q_INVOKABLE void setReverb(bool enable);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Configures reverberation options. Use {@link Audio.setReverb|setReverb} to enable or disable reverberation.
|
||||
* @function Audio.setReverbOptions
|
||||
* @param {AudioEffectOptions} options - The reverberation options.
|
||||
*/
|
||||
Q_INVOKABLE void setReverbOptions(const AudioEffectOptions* options);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the gain (relative volume) that avatars' voices are played at. This gain is used at the server.
|
||||
* @function Audio.setAvatarGain
|
||||
* @param {number} gain - The avatar gain (dB) at the server.
|
||||
*/
|
||||
Q_INVOKABLE void setAvatarGain(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the gain (relative volume) that avatars' voices are played at. This gain is used at the server.
|
||||
* @function Audio.getAvatarGain
|
||||
* @returns {number} The avatar gain (dB) at the server.
|
||||
|
@ -237,63 +237,63 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getAvatarGain();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the gain (relative volume) that environment sounds from the server are played at.
|
||||
* @function Audio.setInjectorGain
|
||||
* @param {number} gain - The injector gain (dB) at the server.
|
||||
*/
|
||||
Q_INVOKABLE void setInjectorGain(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the gain (relative volume) that environment sounds from the server are played at.
|
||||
* @function Audio.getInjectorGain
|
||||
* @returns {number} The injector gain (dB) at the server.
|
||||
*/
|
||||
Q_INVOKABLE float getInjectorGain();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the gain (relative volume) that environment sounds from the client are played at.
|
||||
* @function Audio.setLocalInjectorGain
|
||||
* @param {number} gain - The injector gain (dB) in the client.
|
||||
*/
|
||||
Q_INVOKABLE void setLocalInjectorGain(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the gain (relative volume) that environment sounds from the client are played at.
|
||||
* @function Audio.getLocalInjectorGain
|
||||
* @returns {number} The injector gain (dB) in the client.
|
||||
*/
|
||||
Q_INVOKABLE float getLocalInjectorGain();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the gain (relative volume) that system sounds are played at.
|
||||
* @function Audio.setSystemInjectorGain
|
||||
* @param {number} gain - The injector gain (dB) in the client.
|
||||
*/
|
||||
Q_INVOKABLE void setSystemInjectorGain(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the gain (relative volume) that system sounds are played at.
|
||||
* @function Audio.getSystemInjectorGain
|
||||
* @returns {number} The injector gain (dB) in the client.
|
||||
*/
|
||||
Q_INVOKABLE float getSystemInjectorGain();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the noise gate threshold before your mic audio is transmitted. (Applies only if <code>Audio.noiseReductionAutomatic</code> is <code>false</code>.)
|
||||
* @function Audio.setNoiseReductionThreshold
|
||||
* @param {number} threshold - The level that your input must surpass to be transmitted. <code>0.0</code> (open the gate completely) – <code>1.0</code>
|
||||
*/
|
||||
Q_INVOKABLE void setNoiseReductionThreshold(float threshold);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the noise reduction threshold.
|
||||
* @function Audio.getNoiseReductionThreshold
|
||||
* @returns {number} The noise reduction threshold. <code>0.0</code> – <code>1.0</code>
|
||||
*/
|
||||
Q_INVOKABLE float getNoiseReductionThreshold();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Starts making an audio recording of the audio being played in-world (i.e., not local-only audio) to a file in WAV format.
|
||||
* @function Audio.startRecording
|
||||
* @param {string} filename - The path and name of the file to make the recording in. Should have a <code>.wav</code>
|
||||
|
@ -314,20 +314,20 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool startRecording(const QString& filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Finishes making an audio recording started with {@link Audio.startRecording|startRecording}.
|
||||
* @function Audio.stopRecording
|
||||
*/
|
||||
Q_INVOKABLE void stopRecording();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether an audio recording is currently being made.
|
||||
* @function Audio.getRecording
|
||||
* @returns {boolean} <code>true</code> if an audio recording is currently being made, otherwise <code>false</code>.
|
||||
*/
|
||||
Q_INVOKABLE bool getRecording();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the output volume gain that will be used when the user is holding the push-to-talk key.
|
||||
* Should be negative.
|
||||
* @function Audio.setPushingToTalkOutputGainDesktop
|
||||
|
@ -335,7 +335,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setPushingToTalkOutputGainDesktop(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the output volume gain that is used when the user is holding the push-to-talk key.
|
||||
* Should be negative.
|
||||
* @function Audio.getPushingToTalkOutputGainDesktop
|
||||
|
@ -345,14 +345,14 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Audio.nop
|
||||
* @returns {Signal}
|
||||
* @deprecated This signal is deprecated and will be removed.
|
||||
*/
|
||||
void nop();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the audio input is muted or unmuted for the current context (desktop or HMD).
|
||||
* @function Audio.mutedChanged
|
||||
* @param {boolean} isMuted - <code>true</code> if the audio input is muted for the current context (desktop or HMD),
|
||||
|
@ -365,7 +365,7 @@ signals:
|
|||
*/
|
||||
void mutedChanged(bool isMuted);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when desktop audio input is muted or unmuted.
|
||||
* @function Audio.mutedDesektopChanged
|
||||
* @param {boolean} isMuted - <code>true</code> if desktop audio input is muted, otherwise <code>false</code>.
|
||||
|
@ -377,7 +377,7 @@ signals:
|
|||
*/
|
||||
void mutedDesktopChanged(bool isMuted);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when HMD audio input is muted or unmuted.
|
||||
* @function Audio.mutedHMDChanged
|
||||
* @param {boolean} isMuted - <code>true</code> if HMD audio input is muted, otherwise <code>false</code>.
|
||||
|
@ -385,7 +385,7 @@ signals:
|
|||
*/
|
||||
void mutedHMDChanged(bool isMuted);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when push-to-talk is enabled or disabled for the current context (desktop or HMD).
|
||||
* @function Audio.pushToTalkChanged
|
||||
* @param {boolean} enabled - <code>true</code> if push-to-talk is enabled, otherwise <code>false</code>.
|
||||
|
@ -397,7 +397,7 @@ signals:
|
|||
*/
|
||||
void pushToTalkChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when push-to-talk is enabled or disabled for desktop mode.
|
||||
* @function Audio.pushToTalkDesktopChanged
|
||||
* @param {boolean} enabled - <code>true</code> if push-to-talk is enabled for desktop mode, otherwise <code>false</code>.
|
||||
|
@ -405,7 +405,7 @@ signals:
|
|||
*/
|
||||
void pushToTalkDesktopChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when push-to-talk is enabled or disabled for HMD mode.
|
||||
* @function Audio.pushToTalkHMDChanged
|
||||
* @param {boolean} enabled - <code>true</code> if push-to-talk is enabled for HMD mode, otherwise <code>false</code>.
|
||||
|
@ -413,7 +413,7 @@ signals:
|
|||
*/
|
||||
void pushToTalkHMDChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when audio input noise reduction is enabled or disabled.
|
||||
* @function Audio.noiseReductionChanged
|
||||
* @param {boolean} isEnabled - <code>true</code> if audio input noise reduction is enabled, otherwise <code>false</code>.
|
||||
|
@ -421,7 +421,7 @@ signals:
|
|||
*/
|
||||
void noiseReductionChanged(bool isEnabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the audio input noise reduction mode is changed.
|
||||
* @function Audio.noiseReductionAutomaticChanged
|
||||
* @param {boolean} isEnabled - <code>true</code> if audio input noise reduction automatic mode is enabled, <code>false</code> if in manual mode.
|
||||
|
@ -429,7 +429,7 @@ signals:
|
|||
*/
|
||||
void noiseReductionAutomaticChanged(bool isEnabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the audio input noise reduction threshold is changed.
|
||||
* @function Audio.noiseReductionThresholdChanged
|
||||
* @param {number} threshold - The threshold for the audio input noise reduction, range <code>0.0</code> (open the gate completely) – <code>1.0</code>
|
||||
|
@ -438,7 +438,7 @@ signals:
|
|||
*/
|
||||
void noiseReductionThresholdChanged(float threshold);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when "warn when muted" is enabled or disabled.
|
||||
* @function Audio.warnWhenMutedChanged
|
||||
* @param {boolean} isEnabled - <code>true</code> if "warn when muted" is enabled, otherwise <code>false</code>.
|
||||
|
@ -446,7 +446,7 @@ signals:
|
|||
*/
|
||||
void warnWhenMutedChanged(bool isEnabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when acoustic echo cancellation is enabled or disabled.
|
||||
* @function Audio.acousticEchoCancellationChanged
|
||||
* @param {boolean} isEnabled - <code>true</code> if acoustic echo cancellation is enabled, otherwise <code>false</code>.
|
||||
|
@ -454,7 +454,7 @@ signals:
|
|||
*/
|
||||
void acousticEchoCancellationChanged(bool isEnabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the input audio volume changes.
|
||||
* @function Audio.inputVolumeChanged
|
||||
* @param {number} volume - The requested volume to be applied to the audio input, range <code>0.0</code> –
|
||||
|
@ -465,7 +465,7 @@ signals:
|
|||
*/
|
||||
void inputVolumeChanged(float volume);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the input audio level changes.
|
||||
* @function Audio.inputLevelChanged
|
||||
* @param {number} level - The loudness of the input audio, range <code>0.0</code> (no sound) – <code>1.0</code> (the
|
||||
|
@ -474,7 +474,7 @@ signals:
|
|||
*/
|
||||
void inputLevelChanged(float level);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the clipping state of the input audio changes.
|
||||
* @function Audio.clippingChanged
|
||||
* @param {boolean} isClipping - <code>true</code> if the audio input is clipping, otherwise <code>false</code>.
|
||||
|
@ -482,7 +482,7 @@ signals:
|
|||
*/
|
||||
void clippingChanged(bool isClipping);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the current context of the audio changes.
|
||||
* @function Audio.contextChanged
|
||||
* @param {string} context - The current context of the audio: either <code>"Desktop"</code> or <code>"HMD"</code>.
|
||||
|
@ -490,7 +490,7 @@ signals:
|
|||
*/
|
||||
void contextChanged(const QString& context);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user starts or stops push-to-talk.
|
||||
* @function Audio.pushingToTalkChanged
|
||||
* @param {boolean} talking - <code>true</code> if started push-to-talk, <code>false</code> if stopped push-to-talk.
|
||||
|
@ -498,7 +498,7 @@ signals:
|
|||
*/
|
||||
void pushingToTalkChanged(bool talking);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar gain changes.
|
||||
* @function Audio.avatarGainChanged
|
||||
* @param {number} gain - The new avatar gain value (dB).
|
||||
|
@ -506,7 +506,7 @@ signals:
|
|||
*/
|
||||
void avatarGainChanged(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the local injector gain changes.
|
||||
* @function Audio.localInjectorGainChanged
|
||||
* @param {number} gain - The new local injector gain value (dB).
|
||||
|
@ -514,7 +514,7 @@ signals:
|
|||
*/
|
||||
void localInjectorGainChanged(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the server injector gain changes.
|
||||
* @function Audio.serverInjectorGainChanged
|
||||
* @param {number} gain - The new server injector gain value (dB).
|
||||
|
@ -522,7 +522,7 @@ signals:
|
|||
*/
|
||||
void serverInjectorGainChanged(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the system injector gain changes.
|
||||
* @function Audio.systemInjectorGainChanged
|
||||
* @param {number} gain - The new system injector gain value (dB).
|
||||
|
@ -530,7 +530,7 @@ signals:
|
|||
*/
|
||||
void systemInjectorGainChanged(float gain);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the push to talk gain changes.
|
||||
* @function Audio.pushingToTalkOutputGainDesktopChanged
|
||||
* @param {number} gain - The new output gain value (dB).
|
||||
|
@ -540,7 +540,7 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Audio.onContextChanged
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include <EntityItemID.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Clipboard</code> API enables you to export and import entities to and from JSON files.
|
||||
*
|
||||
* @namespace Clipboard
|
||||
|
@ -32,7 +32,7 @@ public:
|
|||
ClipboardScriptingInterface();
|
||||
|
||||
public:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the extents of the entities held in the clipboard.
|
||||
* @function Clipboard.getContentsDimensions
|
||||
* @returns {Vec3} The extents of the content held in the clipboard.
|
||||
|
@ -46,14 +46,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getContentsDimensions();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the largest dimension of the extents of the entities held in the clipboard.
|
||||
* @function Clipboard.getClipboardContentsLargestDimension
|
||||
* @returns {number} The largest dimension of the extents of the content held in the clipboard.
|
||||
*/
|
||||
Q_INVOKABLE float getClipboardContentsLargestDimension();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Imports entities from a JSON file into the clipboard.
|
||||
* @function Clipboard.importEntities
|
||||
* @param {string} filename - The path and name of the JSON file to import.
|
||||
|
@ -73,7 +73,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool importEntities(const QString& filename, const bool isObservable = true, const qint64 callerId = -1);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Exports specified entities to a JSON file.
|
||||
* @function Clipboard.exportEntities
|
||||
* @param {string} filename - Path and name of the file to export the entities to. Should have the extension ".json".
|
||||
|
@ -100,7 +100,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool exportEntities(const QString& filename, const QVector<QUuid>& entityIDs);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Exports all entities that have centers within a cube to a JSON file.
|
||||
* @function Clipboard.exportEntities
|
||||
* @variation 0
|
||||
|
@ -113,7 +113,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool exportEntities(const QString& filename, float x, float y, float z, float scale);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Pastes the contents of the clipboard into the domain.
|
||||
* @function Clipboard.pasteEntities
|
||||
* @param {Vec3} position - The position to paste the clipboard contents at.
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
class ScriptEngine;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Controller</code> API provides facilities to interact with computer and controller hardware.
|
||||
*
|
||||
* <h3>Facilities</h3>
|
||||
|
@ -265,7 +265,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables default Interface actions for a particular key event.
|
||||
* @function Controller.captureKeyEvents
|
||||
* @param {KeyEvent} event - Details of the key event to be captured. The <code>key</code> property must be specified. The
|
||||
|
@ -284,7 +284,7 @@ public slots:
|
|||
*/
|
||||
virtual void captureKeyEvents(const KeyEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Re-enables default Interface actions for a particular key event that has been disabled using
|
||||
* {@link Controller.captureKeyEvents|captureKeyEvents}.
|
||||
* @function Controller.releaseKeyEvents
|
||||
|
@ -293,7 +293,7 @@ public slots:
|
|||
*/
|
||||
virtual void releaseKeyEvents(const KeyEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables default Interface actions for a joystick.
|
||||
* @function Controller.captureJoystick
|
||||
* @param {number} joystickID - The integer ID of the joystick.
|
||||
|
@ -301,7 +301,7 @@ public slots:
|
|||
*/
|
||||
virtual void captureJoystick(int joystickIndex);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Re-enables default Interface actions for a joystick that has been disabled using
|
||||
* {@link Controller.captureJoystick|captureJoystick}.
|
||||
* @function Controller.releaseJoystick
|
||||
|
@ -310,7 +310,7 @@ public slots:
|
|||
*/
|
||||
virtual void releaseJoystick(int joystickIndex);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables {@link Entities.mousePressOnEntity} and {@link Entities.mouseDoublePressOnEntity} events on entities.
|
||||
* @function Controller.captureEntityClickEvents
|
||||
* @example <caption>Disable entity click events for a short period.</caption>
|
||||
|
@ -328,7 +328,7 @@ public slots:
|
|||
*/
|
||||
virtual void captureEntityClickEvents();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Re-enables {@link Entities.mousePressOnEntity} and {@link Entities.mouseDoublePressOnEntity} events on entities that were
|
||||
* disabled using {@link Controller.captureEntityClickEvents|captureEntityClickEvents}.
|
||||
* @function Controller.releaseEntityClickEvents
|
||||
|
@ -336,14 +336,14 @@ public slots:
|
|||
virtual void releaseEntityClickEvents();
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the dimensions of the Interface window's interior if in desktop mode or the HUD surface if in HMD mode.
|
||||
* @function Controller.getViewportDimensions
|
||||
* @returns {Vec2} The dimensions of the Interface window interior if in desktop mode or HUD surface if in HMD mode.
|
||||
*/
|
||||
virtual glm::vec2 getViewportDimensions() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the recommended area to position UI on the HUD surface if in HMD mode or Interface's window interior if in desktop
|
||||
* mode.
|
||||
* @function Controller.getRecommendedHUDRect
|
||||
|
@ -351,7 +351,7 @@ public slots:
|
|||
*/
|
||||
virtual QVariant getRecommendedHUDRect() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables the virtual game pad that is displayed on certain devices (e.g., Android).
|
||||
* @function Controller.setVPadEnabled
|
||||
* @param {boolean} enable - If <code>true</code> then the virtual game pad doesn't work, otherwise it does work provided
|
||||
|
@ -360,14 +360,14 @@ public slots:
|
|||
*/
|
||||
virtual void setVPadEnabled(bool enable);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Shows or hides the virtual game pad that is displayed on certain devices (e.g., Android).
|
||||
* @function Controller.setVPadHidden
|
||||
* @param {boolean} hidden - If <code>true</code> then the virtual game pad is hidden, otherwise it is shown.
|
||||
*/
|
||||
virtual void setVPadHidden(bool hidden); // Call it when a window should hide it
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the amount of extra margin between the virtual game pad that is displayed on certain devices (e.g., Android) and
|
||||
* the bottom of the display.
|
||||
* @function Controller.setVPadExtraBottomMargin
|
||||
|
@ -376,7 +376,7 @@ public slots:
|
|||
virtual void setVPadExtraBottomMargin(int margin);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a keyboard key is pressed.
|
||||
* @function Controller.keyPressEvent
|
||||
* @param {KeyEvent} event - Details of the key press.
|
||||
|
@ -388,7 +388,7 @@ signals:
|
|||
*/
|
||||
void keyPressEvent(const KeyEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a keyboard key is released from being pressed.
|
||||
* @function Controller.keyReleaseEvent
|
||||
* @param {KeyEvent} event - Details of the key release.
|
||||
|
@ -396,7 +396,7 @@ signals:
|
|||
*/
|
||||
void keyReleaseEvent(const KeyEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the mouse moves.
|
||||
* @function Controller.mouseMoveEvent
|
||||
* @param {MouseEvent} event - Details of the mouse movement.
|
||||
|
@ -408,7 +408,7 @@ signals:
|
|||
*/
|
||||
void mouseMoveEvent(const MouseEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse button is pressed.
|
||||
* @function Controller.mousePressEvent
|
||||
* @param {MouseEvent} event - Details of the button press.
|
||||
|
@ -416,7 +416,7 @@ signals:
|
|||
*/
|
||||
void mousePressEvent(const MouseEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse button is double-pressed.
|
||||
* @function Controller.mouseDoublePressEvent
|
||||
* @param {MouseEvent} event - Details of the button double-press.
|
||||
|
@ -424,7 +424,7 @@ signals:
|
|||
*/
|
||||
void mouseDoublePressEvent(const MouseEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse button is released from being pressed.
|
||||
* @function Controller.mouseReleaseEvent
|
||||
* @param {MouseEvent} event - Details of the button release.
|
||||
|
@ -432,7 +432,7 @@ signals:
|
|||
*/
|
||||
void mouseReleaseEvent(const MouseEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a touch event starts in the Interface window on a touch-enabled display or device.
|
||||
* @function Controller.touchBeginEvent
|
||||
* @param {TouchEvent} event - Details of the touch begin.
|
||||
|
@ -444,7 +444,7 @@ signals:
|
|||
*/
|
||||
void touchBeginEvent(const TouchEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a touch event ends in the Interface window on a touch-enabled display or device.
|
||||
* @function Controller.touchEndEvent
|
||||
* @param {TouchEvent} event - Details of the touch end.
|
||||
|
@ -452,7 +452,7 @@ signals:
|
|||
*/
|
||||
void touchEndEvent(const TouchEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a touch event update occurs in the Interface window on a touch-enabled display or device.
|
||||
* @function Controller.touchUpdateEvent
|
||||
* @param {TouchEvent} event - Details of the touch update.
|
||||
|
@ -460,7 +460,7 @@ signals:
|
|||
*/
|
||||
void touchUpdateEvent(const TouchEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the mouse wheel is rotated.
|
||||
* @function Controller.wheelEvent
|
||||
* @param {WheelEvent} event - Details of the wheel movement.
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <DependencyManager.h>
|
||||
#include <OffscreenUi.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The possible docking locations of an <code>InteractiveWindow</code>.
|
||||
* @typedef {object} InteractiveWindow.DockAreas
|
||||
* @property {InteractiveWindow.DockArea} TOP - Dock to the top edge of the Interface window.
|
||||
|
@ -37,7 +37,7 @@ static const QVariantMap DOCK_AREA {
|
|||
{ "RIGHT", DockArea::RIGHT }
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The possible relative position anchors of an <code>InteractiveWindow</code> relative to the Interface window.
|
||||
* @typedef {object} InteractiveWindow.RelativePositionAnchors
|
||||
* @property {InteractiveWindow.RelativePositionAnchor} NO_ANCHOR - Position is not relative to any part of the Interface
|
||||
|
@ -70,7 +70,7 @@ int DesktopScriptingInterface::getHeight() {
|
|||
return size.height();
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The possible display modes for an <code>InteractiveWindow</code>.
|
||||
* @typedef {object} InteractiveWindow.PresentationModes
|
||||
* @property {InteractiveWindow.PresentationMode} VIRTUAL - The window is displayed inside Interface: in the desktop window in
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "ui/InteractiveWindow.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Desktop</code> API provides the dimensions of the computer screen, sets the opacity of the HUD surface, and
|
||||
* enables QML and HTML windows to be shown inside or outside of Interface.
|
||||
*
|
||||
|
@ -60,14 +60,14 @@ class DesktopScriptingInterface : public QObject, public Dependency {
|
|||
public:
|
||||
DesktopScriptingInterface(QObject* parent= nullptr, bool restricted = false);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the opacity of the HUD surface.
|
||||
* @function Desktop.setHUDAlpha
|
||||
* @param {number} alpha - The opacity, <code>0.0 – 1.0</code>.
|
||||
*/
|
||||
Q_INVOKABLE void setHUDAlpha(float alpha);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens a QML window within Interface: in the Interface window in desktop mode or on the HUD surface in HMD mode. If a
|
||||
* window of the specified name already exists, it is shown, otherwise a new window is created from the QML.
|
||||
* @function Desktop.show
|
||||
|
@ -78,7 +78,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void show(const QString& path, const QString& title);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new window that can be displayed either within Interface or as a separate desktop window.
|
||||
* @function Desktop.createWindow
|
||||
* @param {string} url - The QML file that specifies the window content. The QML file can use a <code>WebView</code>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#include <QObject>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>DialogsMamnager</code> API provides facilities to work with some key dialogs.
|
||||
*
|
||||
* @namespace DialogsManager
|
||||
|
@ -30,33 +30,33 @@ public:
|
|||
DialogsManagerScriptingInterface();
|
||||
static DialogsManagerScriptingInterface* getInstance();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <em>Currently performs no action.</em>
|
||||
* @function DialogsManager.showFeed
|
||||
*/
|
||||
Q_INVOKABLE void showFeed();
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Shows the "Goto" dialog.
|
||||
* @function DialogsManager.showAddressBar
|
||||
*/
|
||||
void showAddressBar();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Hides the "Goto" dialog.
|
||||
* @function DialogsManager.hideAddressBar
|
||||
*/
|
||||
void hideAddressBar();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Shows the login dialog.
|
||||
* @function DialogsManager.showLoginDialog
|
||||
*/
|
||||
void showLoginDialog();
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the "Goto" dialog is opened or closed.
|
||||
* <p><strong>Warning:</strong> Currently isn't always triggered.</p>
|
||||
* @function DialogsManager.addressBarShown
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <QObject>
|
||||
#include <DependencyManager.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The GooglePoly API allows you to interact with Google Poly models direct from inside High Fidelity.
|
||||
* @namespace GooglePoly
|
||||
*
|
||||
|
@ -32,13 +32,13 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.setAPIKey
|
||||
* @param {string} key
|
||||
*/
|
||||
void setAPIKey(const QString& key);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getAssetList
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -47,7 +47,7 @@ public slots:
|
|||
*/
|
||||
QString getAssetList(const QString& keyword, const QString& category, const QString& format);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getFBX
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -55,7 +55,7 @@ public slots:
|
|||
*/
|
||||
QString getFBX(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getOBJ
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -63,7 +63,7 @@ public slots:
|
|||
*/
|
||||
QString getOBJ(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getBlocks
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -71,7 +71,7 @@ public slots:
|
|||
*/
|
||||
QString getBlocks(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getGLTF
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -79,7 +79,7 @@ public slots:
|
|||
*/
|
||||
QString getGLTF(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getGLTF2
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -87,7 +87,7 @@ public slots:
|
|||
*/
|
||||
QString getGLTF2(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getTilt
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
|
@ -95,7 +95,7 @@ public slots:
|
|||
*/
|
||||
QString getTilt(const QString& keyword, const QString& category);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function GooglePoly.getModelInfo
|
||||
* @param {string} input
|
||||
* @returns {string}
|
||||
|
|
|
@ -24,7 +24,7 @@ class QScriptEngine;
|
|||
|
||||
#include <QReadWriteLock>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>HMD</code> API provides access to the HMD used in VR display mode.
|
||||
*
|
||||
* @namespace HMD
|
||||
|
@ -116,7 +116,7 @@ class HMDScriptingInterface : public AbstractHMDScriptingInterface, public Depen
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Calculates the intersection of a ray with the HUD overlay.
|
||||
* @function HMD.calculateRayUICollisionPoint
|
||||
* @param {Vec3} position - The origin of the ray.
|
||||
|
@ -144,7 +144,7 @@ public:
|
|||
|
||||
glm::vec3 calculateParabolaUICollisionPoint(const glm::vec3& position, const glm::vec3& velocity, const glm::vec3& acceleration, float& parabolicDistance) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the 2D HUD overlay coordinates of a 3D point on the HUD overlay.
|
||||
* 2D HUD overlay coordinates are pixels with the origin at the top left of the overlay.
|
||||
* @function HMD.overlayFromWorldPoint
|
||||
|
@ -170,7 +170,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec2 overlayFromWorldPoint(const glm::vec3& position) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the 3D world coordinates of a 2D point on the HUD overlay.
|
||||
* 2D HUD overlay coordinates are pixels with the origin at the top left of the overlay.
|
||||
* @function HMD.worldPointFromOverlay
|
||||
|
@ -179,7 +179,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 worldPointFromOverlay(const glm::vec2& overlay) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the 2D point on the HUD overlay represented by given spherical coordinates.
|
||||
* 2D HUD overlay coordinates are pixels with the origin at the top left of the overlay.
|
||||
* Spherical coordinates are polar coordinates in radians with <code>{ x: 0, y: 0 }</code> being the center of the HUD
|
||||
|
@ -190,7 +190,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec2 sphericalToOverlay(const glm::vec2 & sphericalPos) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the spherical coordinates of a 2D point on the HUD overlay.
|
||||
* 2D HUD overlay coordinates are pixels with the origin at the top left of the overlay.
|
||||
* Spherical coordinates are polar coordinates in radians with <code>{ x: 0, y: 0 }</code> being the center of the HUD
|
||||
|
@ -201,21 +201,21 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec2 overlayToSpherical(const glm::vec2 & overlayPos) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Recenters the HMD HUD to the current HMD position and orientation.
|
||||
* @function HMD.centerUI
|
||||
*/
|
||||
Q_INVOKABLE void centerUI();
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the name of the HMD audio input device.
|
||||
* @function HMD.preferredAudioInput
|
||||
* @returns {string} The name of the HMD audio input device if in HMD mode, otherwise an empty string.
|
||||
*/
|
||||
Q_INVOKABLE QString preferredAudioInput() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the name of the HMD audio output device.
|
||||
* @function HMD.preferredAudioOutput
|
||||
* @returns {string} The name of the HMD audio output device if in HMD mode, otherwise an empty string.
|
||||
|
@ -223,7 +223,7 @@ public:
|
|||
Q_INVOKABLE QString preferredAudioOutput() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether there is an HMD available.
|
||||
* @function HMD.isHMDAvailable
|
||||
* @param {string} [name=""] - The name of the HMD to check for, e.g., <code>"Oculus Rift"</code>. The name is the same as
|
||||
|
@ -237,7 +237,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isHMDAvailable(const QString& name = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether there is an HMD head controller available.
|
||||
* @function HMD.isHeadControllerAvailable
|
||||
* @param {string} [name=""] - The name of the HMD head controller to check for, e.g., <code>"Oculus"</code>. If no name is
|
||||
|
@ -251,7 +251,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isHeadControllerAvailable(const QString& name = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether there are HMD hand controllers available.
|
||||
* @function HMD.isHandControllerAvailable
|
||||
* @param {string} [name=""] - The name of the HMD hand controller to check for, e.g., <code>"Oculus"</code>. If no name is
|
||||
|
@ -265,7 +265,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isHandControllerAvailable(const QString& name = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether there are specific HMD controllers available.
|
||||
* @function HMD.isSubdeviceContainingNameAvailable
|
||||
* @param {string} name - The name of the HMD controller to check for, e.g., <code>"OculusTouch"</code>.
|
||||
|
@ -277,7 +277,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isSubdeviceContainingNameAvailable(const QString& name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Signals that models of the HMD hand controllers being used should be displayed. The models are displayed at their actual,
|
||||
* real-world locations.
|
||||
* @function HMD.requestShowHandControllers
|
||||
|
@ -289,14 +289,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void requestShowHandControllers();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Signals that it is no longer necessary to display models of the HMD hand controllers being used. If no other scripts
|
||||
* want the models displayed then they are no longer displayed.
|
||||
* @function HMD.requestHideHandControllers
|
||||
*/
|
||||
Q_INVOKABLE void requestHideHandControllers();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether any script wants models of the HMD hand controllers displayed. Requests are made and canceled using
|
||||
* {@link HMD.requestShowHandControllers|requestShowHandControllers} and
|
||||
* {@link HMD.requestHideHandControllers|requestHideHandControllers}.
|
||||
|
@ -306,14 +306,14 @@ public:
|
|||
Q_INVOKABLE bool shouldShowHandControllers() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Causes the borders in HUD windows to be enlarged when the laser intersects them in HMD mode. By default, borders are not
|
||||
* enlarged.
|
||||
* @function HMD.activateHMDHandMouse
|
||||
*/
|
||||
Q_INVOKABLE void activateHMDHandMouse();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Causes the border in HUD windows to no longer be enlarged when the laser intersects them in HMD mode. By default,
|
||||
* borders are not enlarged.
|
||||
* @function HMD.deactivateHMDHandMouse
|
||||
|
@ -321,7 +321,7 @@ public:
|
|||
Q_INVOKABLE void deactivateHMDHandMouse();
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Suppresses the activation of the HMD-provided keyboard, if any. Successful calls should be balanced with a call to
|
||||
* {@link HMD.unsuppressKeyboard|unsuppressKeyboard} within a reasonable amount of time.
|
||||
* @function HMD.suppressKeyboard
|
||||
|
@ -336,14 +336,14 @@ public:
|
|||
/// call to unsuppressKeyboard() within a reasonable amount of time
|
||||
Q_INVOKABLE bool suppressKeyboard();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Unsuppresses the activation of the HMD-provided keyboard, if any.
|
||||
* @function HMD.unsuppressKeyboard
|
||||
*/
|
||||
/// Enable the keyboard following a suppressKeyboard call
|
||||
Q_INVOKABLE void unsuppressKeyboard();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether the HMD-provided keyboard, if any, is visible.
|
||||
* @function HMD.isKeyboardVisible
|
||||
* @returns {boolean} <code>true</code> if the current HMD provides a keyboard and it is visible, otherwise
|
||||
|
@ -352,13 +352,13 @@ public:
|
|||
/// Query the display plugin to determine the current VR keyboard visibility
|
||||
Q_INVOKABLE bool isKeyboardVisible();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Closes the tablet if it is open.
|
||||
* @function HMD.closeTablet
|
||||
*/
|
||||
Q_INVOKABLE void closeTablet();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens the tablet if the tablet is used in the current display mode and it isn't already showing, and sets the tablet to
|
||||
* contextual mode if requested. In contextual mode, the page displayed on the tablet is wholly controlled by script (i.e.,
|
||||
* the user cannot navigate to another).
|
||||
|
@ -391,7 +391,7 @@ public:
|
|||
void setVisionSqueezeTurningYFactor(float value);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a request to show or hide models of the HMD hand controllers is made using
|
||||
* {@link HMD.requestShowHandControllers|requestShowHandControllers} or
|
||||
* {@link HMD.requestHideHandControllers|requestHideHandControllers}.
|
||||
|
@ -410,7 +410,7 @@ signals:
|
|||
*/
|
||||
bool shouldShowHandControllersChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the tablet is shown or hidden.
|
||||
* @function HMD.showTabletChanged
|
||||
* @param {boolean} showTablet - <code>true</code> if the tablet is showing, otherwise <code>false</code>.
|
||||
|
@ -418,7 +418,7 @@ signals:
|
|||
*/
|
||||
void showTabletChanged(bool showTablet);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the ability to display the mini tablet has changed.
|
||||
* @function HMD.miniTabletEnabledChanged
|
||||
* @param {boolean} enabled - <code>true</code> if the mini tablet is enabled to be displayed, otherwise <code>false</code>.
|
||||
|
@ -426,7 +426,7 @@ signals:
|
|||
*/
|
||||
bool miniTabletEnabledChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the altering the mode for going into an away state when the interface focus is lost in VR.
|
||||
* @function HMD.awayStateWhenFocusLostInVRChanged
|
||||
* @param {boolean} enabled - <code>true</code> if the setting to go into an away state in VR when the interface focus is lost is enabled, otherwise <code>false</code>.
|
||||
|
@ -437,14 +437,14 @@ signals:
|
|||
public:
|
||||
HMDScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position on the HUD overlay that your HMD is looking at, in HUD coordinates.
|
||||
* @function HMD.getHUDLookAtPosition2D
|
||||
* @returns {Vec2} The position on the HUD overlay that your HMD is looking at, in pixels.
|
||||
*/
|
||||
static QScriptValue getHUDLookAtPosition2D(QScriptContext* context, QScriptEngine* engine);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position on the HUD overlay that your HMD is looking at, in world coordinates.
|
||||
* @function HMD.getHUDLookAtPosition3D
|
||||
* @returns {Vec3} The position on the HUD overlay the your HMD is looking at, in world coordinates.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include "DependencyManager.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Keyboard</code> API provides facilities to use an in-world, virtual keyboard. When enabled, this keyboard is
|
||||
* displayed instead of the 2D keyboard that raises at the bottom of the tablet or Web entities when a text input field has
|
||||
* focus and you're in HMD mode.
|
||||
|
@ -48,7 +48,7 @@ public:
|
|||
KeyboardScriptingInterface() = default;
|
||||
~KeyboardScriptingInterface() = default;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Loads a JSON file that defines the virtual keyboard's layout. The default JSON file used is
|
||||
* {@link https://github.com/highfidelity/hifi/blob/master/interface/resources/config/keyboard.json|https://github.com/highfidelity/hifi/.../keyboard.json}.
|
||||
* @function Keyboard.loadKeyboardFile
|
||||
|
@ -56,45 +56,45 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void loadKeyboardFile(const QString& string);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables the left mallet so that it is displayed when in HMD mode.
|
||||
* @function Keyboard.enableLeftMallet
|
||||
*/
|
||||
Q_INVOKABLE void enableLeftMallet();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables the right mallet so that it is displayed when in HMD mode.
|
||||
* @function Keyboard.enableRightMallet
|
||||
*/
|
||||
Q_INVOKABLE void enableRightMallet();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables the left mallet so that it is not displayed when in HMD mode.
|
||||
* @function Keyboard.disableLeftMallet
|
||||
*/
|
||||
Q_INVOKABLE void disableLeftMallet();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables the right mallet so that it is not displayed when in HMD mode.
|
||||
* @function Keyboard.disableRightMallet
|
||||
*/
|
||||
Q_INVOKABLE void disableRightMallet();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Configures the virtual keyboard to recognize a ray pointer as the left hand's laser.
|
||||
* @function Keyboard.setLeftHandLaser
|
||||
* @param {number} leftHandLaser - The ID of a ray pointer created by {@link Pointers.createPointer}.
|
||||
*/
|
||||
Q_INVOKABLE void setLeftHandLaser(unsigned int leftHandLaser);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Configures the virtual keyboard to recognize a ray pointer as the right hand's laser.
|
||||
* @function Keyboard.setRightHandLaser
|
||||
* @param {number} rightHandLaser - The ID of a ray pointer created by {@link Pointers.createPointer}.
|
||||
*/
|
||||
Q_INVOKABLE void setRightHandLaser(unsigned int rightHandLaser);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether an entity is part of the virtual keyboard.
|
||||
* @function Keyboard.containsID
|
||||
* @param {Uuid} entityID - The entity ID.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
class MenuItemProperties;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Menu</code> API provides access to the menu that is displayed at the top of the window on a user's desktop and in
|
||||
* the tablet when the "MENU" button is pressed.
|
||||
*
|
||||
|
@ -57,7 +57,7 @@ private slots:
|
|||
void menuItemTriggered();
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a new top-level menu.
|
||||
* @function Menu.addMenu
|
||||
* @param {string} menuName - Name that will be displayed for the menu. Nested menus can be specified using the
|
||||
|
@ -73,7 +73,7 @@ public slots:
|
|||
*/
|
||||
void addMenu(const QString& menuName, const QString& grouping = QString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes a top-level menu.
|
||||
* @function Menu.removeMenu
|
||||
* @param {string} menuName - Name of the menu to remove.
|
||||
|
@ -83,7 +83,7 @@ public slots:
|
|||
*/
|
||||
void removeMenu(const QString& menuName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether a top-level menu exists.
|
||||
* @function Menu.menuExists
|
||||
* @param {string} menuName - Name of the menu to check exists.
|
||||
|
@ -95,7 +95,7 @@ public slots:
|
|||
*/
|
||||
bool menuExists(const QString& menuName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a separator with an unclickable label below it. The separator will be placed at the bottom of the menu. To add a
|
||||
* separator at a specific point in the menu, use {@link Menu.addMenuItem} with {@link Menu.MenuItemProperties} instead.
|
||||
* @function Menu.addSeparator
|
||||
|
@ -106,7 +106,7 @@ public slots:
|
|||
*/
|
||||
void addSeparator(const QString& menuName, const QString& separatorName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes a separator from a menu.
|
||||
* @function Menu.removeSeparator
|
||||
* @param {string} menuName - Name of the menu to remove the separator from.
|
||||
|
@ -116,7 +116,7 @@ public slots:
|
|||
*/
|
||||
void removeSeparator(const QString& menuName, const QString& separatorName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a new menu item to a menu. The menu item is specified using {@link Menu.MenuItemProperties}.
|
||||
* @function Menu.addMenuItem
|
||||
* @param {Menu.MenuItemProperties} properties - Properties of the menu item to create.
|
||||
|
@ -130,7 +130,7 @@ public slots:
|
|||
*/
|
||||
void addMenuItem(const MenuItemProperties& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds a new menu item to a menu. The new item is added at the end of the menu.
|
||||
* @function Menu.addMenuItem
|
||||
* @variation 0
|
||||
|
@ -143,7 +143,7 @@ public slots:
|
|||
void addMenuItem(const QString& menuName, const QString& menuitem, const QString& shortcutKey);
|
||||
void addMenuItem(const QString& menuName, const QString& menuitem);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes a menu item from a menu.
|
||||
* @function Menu.removeMenuItem
|
||||
* @param {string} menuName - Name of the menu to remove a menu item from.
|
||||
|
@ -153,7 +153,7 @@ public slots:
|
|||
*/
|
||||
void removeMenuItem(const QString& menuName, const QString& menuitem);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether a menu item exists.
|
||||
* @function Menu.menuItemExists
|
||||
* @param {string} menuName - Name of the menu that the menu item is in.
|
||||
|
@ -166,7 +166,7 @@ public slots:
|
|||
*/
|
||||
bool menuItemExists(const QString& menuName, const QString& menuitem);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether a checkable menu item is checked.
|
||||
* @function Menu.isOptionChecked
|
||||
* @param {string} menuOption - The name of the menu item.
|
||||
|
@ -176,7 +176,7 @@ public slots:
|
|||
*/
|
||||
bool isOptionChecked(const QString& menuOption);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a checkable menu item as checked or unchecked.
|
||||
* @function Menu.setIsOptionChecked
|
||||
* @param {string} menuOption - The name of the menu item to modify.
|
||||
|
@ -187,7 +187,7 @@ public slots:
|
|||
*/
|
||||
void setIsOptionChecked(const QString& menuOption, bool isChecked);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a menu item as if the user clicked on it.
|
||||
* @function Menu.triggerOption
|
||||
* @param {string} menuOption - The name of the menu item to trigger.
|
||||
|
@ -196,7 +196,7 @@ public slots:
|
|||
*/
|
||||
void triggerOption(const QString& menuOption);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether a menu or menu item is enabled. If disabled, the item is grayed out and unusable.
|
||||
* Menus are enabled by default.
|
||||
* @function Menu.isMenuEnabled
|
||||
|
@ -207,7 +207,7 @@ public slots:
|
|||
*/
|
||||
bool isMenuEnabled(const QString& menuName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a menu or menu item to be enabled or disabled. If disabled, the item is grayed out and unusable.
|
||||
* @function Menu.setMenuEnabled
|
||||
* @param {string} menuName - The name of the menu or menu item to modify.
|
||||
|
@ -219,7 +219,7 @@ public slots:
|
|||
void setMenuEnabled(const QString& menuName, bool isEnabled);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a menu item is clicked or triggered by {@link Menu.triggerOption}.
|
||||
* @function Menu.menuItemEvent
|
||||
* @param {string} menuItem - Name of the menu item that was clicked or triggered.
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "../RefreshRateManager.h"
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Performance</code> API provides control and information on graphics performance settings.
|
||||
*
|
||||
* @namespace Performance
|
||||
|
@ -37,7 +37,7 @@ class PerformanceScriptingInterface : public QObject {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Graphics performance presets.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -63,7 +63,7 @@ public:
|
|||
};
|
||||
Q_ENUM(PerformancePreset)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Refresh rate profile.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -93,21 +93,21 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets graphics performance to a preset.
|
||||
* @function Performance.setPerformancePreset
|
||||
* @param {Performance.PerformancePreset} performancePreset - The graphics performance preset to to use.
|
||||
*/
|
||||
void setPerformancePreset(PerformancePreset performancePreset);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current graphics performance preset in use.
|
||||
* @function Performance.getPerformancePreset
|
||||
* @returns {Performance.PerformancePreset} The current graphics performance preset in use.
|
||||
*/
|
||||
PerformancePreset getPerformancePreset() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of the graphics performance presets.
|
||||
* @function Performance.getPerformancePresetNames
|
||||
* @returns {string[]} The names of the graphics performance presets. The array index values correspond to
|
||||
|
@ -116,21 +116,21 @@ public slots:
|
|||
QStringList getPerformancePresetNames() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the curfrent refresh rate profile.
|
||||
* @function Performance.setRefreshRateProfile
|
||||
* @param {Performance.RefreshRateProfile} refreshRateProfile - The refresh rate profile.
|
||||
*/
|
||||
void setRefreshRateProfile(RefreshRateProfile refreshRateProfile);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current refresh rate profile in use.
|
||||
* @function Performance.getRefreshRateProfile
|
||||
* @returns {Performance.RefreshRateProfile} The refresh rate profile.
|
||||
*/
|
||||
RefreshRateProfile getRefreshRateProfile() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of the refresh rate profiles.
|
||||
* @function Performance.getRefreshRateProfileNames
|
||||
* @returns {string[]} The names of the refresh rate profiles. The array index values correspond to
|
||||
|
@ -139,7 +139,7 @@ public slots:
|
|||
QStringList getRefreshRateProfileNames() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current target refresh rate, in Hz, per the current refresh rate profile and refresh rate regime if in desktop
|
||||
* mode; a higher rate if in VR mode.
|
||||
* @function Performance.getActiveRefreshRate
|
||||
|
@ -147,14 +147,14 @@ public slots:
|
|||
*/
|
||||
int getActiveRefreshRate() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current user experience mode.
|
||||
* @function Performance.getUXMode
|
||||
* @returns {UXMode} The current user experience mode.
|
||||
*/
|
||||
RefreshRateManager::UXMode getUXMode() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current refresh rate regime that's in effect.
|
||||
* @function Performance.getRefreshRateRegime
|
||||
* @returns {RefreshRateRegime} The current refresh rate regime.
|
||||
|
@ -163,7 +163,7 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the performance preset or refresh rate profile is changed.
|
||||
* @function Performance.settingsChanged
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
class QScriptValue;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>PlatformInfo</code> API provides information about the hardware platform being used.
|
||||
*
|
||||
* @namespace PlatformInfo
|
||||
|
@ -31,7 +31,7 @@ public:
|
|||
PlatformInfoScriptingInterface();
|
||||
virtual ~PlatformInfoScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The platform tier of a computer is an indication of its rendering capability.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -56,13 +56,13 @@ public:
|
|||
Q_ENUM(PlatformTier);
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function PlatformInfo.getInstance
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
static PlatformInfoScriptingInterface* getInstance();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the operating system type.
|
||||
* @function PlatformInfo.getOperatingSystemType
|
||||
* @returns {string} The operating system type: <code>"WINDOWS"</code>, <code>"MACOS"</code>, or <code>"UNKNOWN"</code>.
|
||||
|
@ -71,7 +71,7 @@ public slots:
|
|||
*/
|
||||
QString getOperatingSystemType();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information on the CPU model.
|
||||
* @function PlatformInfo.getCPUBrand
|
||||
* @returns {string} Information on the CPU.
|
||||
|
@ -80,7 +80,7 @@ public slots:
|
|||
*/
|
||||
QString getCPUBrand();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of logical CPU cores.
|
||||
* @function PlatformInfo.getNumLogicalCores
|
||||
* @returns {number} The number of logical CPU cores.
|
||||
|
@ -89,7 +89,7 @@ public slots:
|
|||
*/
|
||||
unsigned int getNumLogicalCores();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the total amount of usable physical memory, in MB.
|
||||
* @function PlatformInfo.getTotalSystemMemoryMB
|
||||
* @returns {number} The total system memory in megabytes.
|
||||
|
@ -98,7 +98,7 @@ public slots:
|
|||
*/
|
||||
int getTotalSystemMemoryMB();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the model of the graphics card currently being used.
|
||||
* @function PlatformInfo.getGraphicsCardType
|
||||
* @returns {string} The model of the graphics card currently being used.
|
||||
|
@ -109,21 +109,21 @@ public slots:
|
|||
*/
|
||||
QString getGraphicsCardType();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether Oculus Touch controllers are connected.
|
||||
* @function PlatformInfo.hasRiftControllers
|
||||
* @returns {boolean} <code>true</code> if Oculus Touch controllers are connected, <code>false</code> if they aren't.
|
||||
*/
|
||||
bool hasRiftControllers();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether Vive controllers are connected.
|
||||
* @function PlatformInfo.hasViveControllers
|
||||
* @returns {boolean} <code>true</code> if Vive controllers are connected, <code>false</code> if they aren't.
|
||||
*/
|
||||
bool hasViveControllers();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether HTML on 3D surfaces (e.g., Web entities) is supported.
|
||||
* @function PlatformInfo.has3DHTML
|
||||
* @returns {boolean} <code>true</code> if the current display supports HTML on 3D surfaces, <code>false</code> if it
|
||||
|
@ -131,28 +131,28 @@ public slots:
|
|||
*/
|
||||
bool has3DHTML();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether Interface is running on a stand-alone HMD device (CPU incorporated into the HMD display).
|
||||
* @function PlatformInfo.isStandalone
|
||||
* @returns {boolean} <code>true</code> if Interface is running on a stand-alone HMD device, <code>false</code> if it isn't.
|
||||
*/
|
||||
bool isStandalone();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of CPUs.
|
||||
* @function PlatformInfo.getNumCPUs
|
||||
* @returns {number} The number of CPUs.
|
||||
*/
|
||||
int getNumCPUs();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the index number of the master CPU.
|
||||
* @function PlatformInfo.getMasterCPU
|
||||
* @returns {number} The index of the master CPU.
|
||||
*/
|
||||
int getMasterCPU();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform description of a CPU.
|
||||
* @function PlatformInfo.getCPU
|
||||
* @param {number} index - The index number of the CPU.
|
||||
|
@ -167,21 +167,21 @@ public slots:
|
|||
*/
|
||||
QString getCPU(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of GPUs.
|
||||
* @function PlatformInfo.getNumGPUs
|
||||
* @returns {number} The number of GPUs.
|
||||
*/
|
||||
int getNumGPUs();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the index number of the master GPU.
|
||||
* @function PlatformInfo.getMasterGPU
|
||||
* @returns {number} The index of the master GPU.
|
||||
*/
|
||||
int getMasterGPU();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform description of a GPU.
|
||||
* @param {number} index - The index number of the GPU.
|
||||
* @function PlatformInfo.getGPU
|
||||
|
@ -196,21 +196,21 @@ public slots:
|
|||
*/
|
||||
QString getGPU(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of displays.
|
||||
* @function PlatformInfo.getNumDisplays
|
||||
* @returns {number} The number of displays.
|
||||
*/
|
||||
int getNumDisplays();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the index number of the master display.
|
||||
* @function PlatformInfo.getMasterDisplay
|
||||
* @returns {number} The index of the master display.
|
||||
*/
|
||||
int getMasterDisplay();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform description of a display.
|
||||
* @param {number} index - The index number of the display.
|
||||
* @function PlatformInfo.getDisplay
|
||||
|
@ -225,7 +225,7 @@ public slots:
|
|||
*/
|
||||
QString getDisplay(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform description of computer memory.
|
||||
* @function PlatformInfo.getMemory
|
||||
* @returns {string} The computer's {@link PlatformInfo.MemoryDescription|MemoryDescription} information as a JSON string.
|
||||
|
@ -234,21 +234,21 @@ public slots:
|
|||
*/
|
||||
QString getMemory();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform description of the computer.
|
||||
* @function PlatformInfo.getComputer
|
||||
* @returns {string} The {@link PlatformInfo.ComputerDescription|ComputerDescription} information as a JSON string.
|
||||
*/
|
||||
QString getComputer();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the complete description of the computer as a whole.
|
||||
* @function PlatformInfo.getPlatform
|
||||
* @returns {string} The {@link PlatformInfo.PlatformDescription|PlatformDescription} information as a JSON string.
|
||||
*/
|
||||
QString getPlatform();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the platform tier of the computer, profiled at Interface start-up.
|
||||
* @function PlatformInfo.getTierProfiled
|
||||
* @returns {PlatformInfo.PlatformTier} The platform tier of the computer.
|
||||
|
@ -259,14 +259,14 @@ public slots:
|
|||
*/
|
||||
PlatformTier getTierProfiled();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of the possible platform tiers, per {@link PlatformInfo.PlatformTier}.
|
||||
* @function PlatformInfo.getPlatformTierNames
|
||||
* @returns {string[]} The names of the possible platform tiers.
|
||||
*/
|
||||
QStringList getPlatformTierNames();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether the current hardware can use deferred rendering.
|
||||
* @function PlatformInfo.isRenderMethodDeferredCapable
|
||||
* @returns {boolean} <code>true</code> if the current hardware can use deferred rendering, <code>false</code> if it can't.
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#include <display-plugins/DisplayPlugin.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Rates</code> API provides some information on current rendering performance.
|
||||
*
|
||||
* @namespace Rates
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#include "RenderForward.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Render</code> API enables you to configure the graphics engine.
|
||||
*
|
||||
* @namespace Render
|
||||
|
@ -43,7 +43,7 @@ public:
|
|||
|
||||
static RenderScriptingInterface* getInstance();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The rendering method is specified by the following values:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -73,7 +73,7 @@ public:
|
|||
void loadSettings();
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the configuration for a rendering job by name.
|
||||
* <p><strong>Warning:</strong> For internal, debugging purposes. Subject to change.</p>
|
||||
* @function Render.getConfig
|
||||
|
@ -83,7 +83,7 @@ public slots:
|
|||
QObject* getConfig(const QString& name) { return qApp->getRenderEngine()->getConfiguration()->getConfig(name); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the render method being used.
|
||||
* @function Render.getRenderMethod
|
||||
* @returns {Render.RenderMethod} The render method being used.
|
||||
|
@ -93,14 +93,14 @@ public slots:
|
|||
*/
|
||||
RenderMethod getRenderMethod() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the render method to use.
|
||||
* @function Render.setRenderMethod
|
||||
* @param {Render.RenderMethod} renderMethod - The render method to use.
|
||||
*/
|
||||
void setRenderMethod(RenderMethod renderMethod);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of the possible render methods, per {@link Render.RenderMethod}.
|
||||
* @function Render.getRenderMethodNames
|
||||
* @returns {string[]} The names of the possible render methods.
|
||||
|
@ -114,56 +114,56 @@ public slots:
|
|||
QStringList getRenderMethodNames() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether or not shadows are enabled.
|
||||
* @function Render.getShadowsEnabled
|
||||
* @returns {boolean} <code>true</code> if shadows are enabled, <code>false</code> if they're disabled.
|
||||
*/
|
||||
bool getShadowsEnabled() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not shadows are enabled.
|
||||
* @function Render.setShadowsEnabled
|
||||
* @param {boolean} enabled - <code>true</code> to enable shadows, <code>false</code> to disable.
|
||||
*/
|
||||
void setShadowsEnabled(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether or not ambient occlusion is enabled.
|
||||
* @function Render.getAmbientOcclusionEnabled
|
||||
* @returns {boolean} <code>true</code> if ambient occlusion is enabled, <code>false</code> if it's disabled.
|
||||
*/
|
||||
bool getAmbientOcclusionEnabled() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not ambient occlusion is enabled.
|
||||
* @function Render.setAmbientOcclusionEnabled
|
||||
* @param {boolean} enabled - <code>true</code> to enable ambient occlusion, <code>false</code> to disable.
|
||||
*/
|
||||
void setAmbientOcclusionEnabled(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether or not anti-aliasing is enabled.
|
||||
* @function Render.getAntialiasingEnabled
|
||||
* @returns {boolean} <code>true</code> if anti-aliasing is enabled, <code>false</code> if it's disabled.
|
||||
*/
|
||||
bool getAntialiasingEnabled() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not anti-aliasing is enabled.
|
||||
* @function Render.setAntialiasingEnabled
|
||||
* @param {boolean} enabled - <code>true</code> to enable anti-aliasing, <code>false</code> to disable.
|
||||
*/
|
||||
void setAntialiasingEnabled(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the view port resolution scale.
|
||||
* @function Render.getViewportResolutionScale
|
||||
* @returns {number} The view port resolution scale, <code>> 0.0</code>.
|
||||
*/
|
||||
float getViewportResolutionScale() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the view port resolution scale.
|
||||
* @function Render.setViewportResolutionScale
|
||||
* @param {number} resolutionScale - The view port resolution scale to set, <code>> 0.0</code>.
|
||||
|
@ -172,7 +172,7 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when one of the <code>Render</code> API's properties changes.
|
||||
* @function Render.settingsChanged
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -43,7 +43,7 @@ bool GameplayObjects::removeFromGameplayObjects(const EntityItemID& entityID) {
|
|||
SelectionScriptingInterface::SelectionScriptingInterface() {
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The type of a specific item in a selection list.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -245,7 +245,7 @@ void SelectionScriptingInterface::printList(const QString& listName) {
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A selection list.
|
||||
* @typedef {object} Selection.SelectedItemsList
|
||||
* @property {Uuid[]} avatars - The IDs of the avatars in the selection list.
|
||||
|
@ -439,7 +439,7 @@ bool SelectionHighlightStyle::fromVariantMap(const QVariantMap& properties) {
|
|||
return true;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The highlighting style of a selection list.
|
||||
* @typedef {object} Selection.HighlightStyle
|
||||
* @property {Color} outlineUnoccludedColor=255,178,51 - Unoccluded outline color.
|
||||
|
|
|
@ -76,7 +76,7 @@ protected:
|
|||
render::HighlightStyle _style;
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Selection</code> API provides a means of grouping together and highlighting avatars and entities in named lists.
|
||||
*
|
||||
* @namespace Selection
|
||||
|
@ -124,7 +124,7 @@ class SelectionScriptingInterface : public QObject, public Dependency {
|
|||
public:
|
||||
SelectionScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all current selection lists.
|
||||
* @function Selection.getListNames
|
||||
* @returns {string[]} The names of all current selection lists.
|
||||
|
@ -133,7 +133,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QStringList getListNames() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Deletes a selection list.
|
||||
* @function Selection.removeListFromMap
|
||||
* @param {string} listName - The name of the selection list to delete.
|
||||
|
@ -141,7 +141,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool removeListFromMap(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds an item to a selection list. The list is created if it doesn't exist.
|
||||
* @function Selection.addToSelectedItemsList
|
||||
* @param {string} listName - The name of the selection list to add the item to.
|
||||
|
@ -152,7 +152,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool addToSelectedItemsList(const QString& listName, const QString& itemType, const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes an item from a selection list.
|
||||
* @function Selection.removeFromSelectedItemsList
|
||||
* @param {string} listName - The name of the selection list to remove the item from.
|
||||
|
@ -163,7 +163,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool removeFromSelectedItemsList(const QString& listName, const QString& itemType, const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Removes all items from a selection list.
|
||||
* @function Selection.clearSelectedItemsList
|
||||
* @param {string} listName - The name of the selection list.
|
||||
|
@ -171,14 +171,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool clearSelectedItemsList(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prints the list of avatars and entities in a selection to the program log (but not the Script Log window).
|
||||
* @function Selection.printList
|
||||
* @param {string} listName - The name of the selection list.
|
||||
*/
|
||||
Q_INVOKABLE void printList(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the list of avatars and entities in a selection list.
|
||||
* @function Selection.getSelectedItemsList
|
||||
* @param {string} listName - The name of the selection list.
|
||||
|
@ -186,14 +186,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariantMap getSelectedItemsList(const QString& listName) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all current selection lists that have highlighting enabled.
|
||||
* @function Selection.getHighlightedListNames
|
||||
* @returns {string[]} The names of the selection lists that currently have highlighting enabled.
|
||||
*/
|
||||
Q_INVOKABLE QStringList getHighlightedListNames() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables highlighting for a selection list. All items in or subsequently added to the list are displayed with the
|
||||
* highlight effect specified. The method can be called multiple times with different values in the style to modify the
|
||||
* highlighting.
|
||||
|
@ -205,7 +205,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool enableListHighlight(const QString& listName, const QVariantMap& highlightStyle);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables highlighting for a selection list.
|
||||
* <p>Note: This function implicitly calls {@link Selection.disableListToScene|disableListToScene}.</p>
|
||||
* @function Selection.disableListHighlight
|
||||
|
@ -214,7 +214,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool disableListHighlight(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables scene selection for a selection list. All items in or subsequently added to the list are sent to a scene
|
||||
* selection in the rendering engine for debugging purposes.
|
||||
* @function Selection.enableListToScene
|
||||
|
@ -223,7 +223,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool enableListToScene(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables scene selection for a selection list.
|
||||
* @function Selection.disableListToScene
|
||||
* @param {string} listName - The name of the selection list.
|
||||
|
@ -231,7 +231,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool disableListToScene(const QString& listName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current highlighting style for a selection list.
|
||||
* @function Selection.getListHighlightStyle
|
||||
* @param {string} listName - The name of the selection list.
|
||||
|
@ -248,7 +248,7 @@ public:
|
|||
void onSelectedItemsListChanged(const QString& listName);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a selection list's content changes or the list is deleted.
|
||||
* @function Selection.selectedItemsListChanged
|
||||
* @param {string} listName - The name of the selection list that changed.
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Settings</code> API provides a facility to store and retrieve values that persist between Interface runs.
|
||||
*
|
||||
* @namespace Settings
|
||||
|
@ -32,7 +32,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Retrieves the value from a named setting.
|
||||
* @function Settings.getValue
|
||||
* @param {string} key - The name of the setting.
|
||||
|
@ -49,7 +49,7 @@ public slots:
|
|||
QVariant getValue(const QString& setting);
|
||||
QVariant getValue(const QString& setting, const QVariant& defaultValue);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stores a value in a named setting. If the setting already exists, its value is overwritten. If the value is
|
||||
* <code>null</code> or <code>undefined</code>, the setting is deleted.
|
||||
* @function Settings.setValue
|
||||
|
|
|
@ -25,64 +25,64 @@ public:
|
|||
public slots:
|
||||
static TestScriptingInterface* getInstance();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Exits the application
|
||||
* @function Test.quit
|
||||
*/
|
||||
void quit();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for all texture transfers to be complete
|
||||
* @function Test.waitForTextureIdle
|
||||
*/
|
||||
void waitForTextureIdle();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for all pending downloads to be complete
|
||||
* @function Test.waitForDownloadIdle
|
||||
*/
|
||||
void waitForDownloadIdle();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for all file parsing operations to be complete
|
||||
* @function Test.waitForProcessingIdle
|
||||
*/
|
||||
void waitForProcessingIdle();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for all pending downloads, parsing and texture transfers to be complete
|
||||
* @function Test.waitIdle
|
||||
*/
|
||||
void waitIdle();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for establishment of connection to server
|
||||
* @function Test.waitForConnection
|
||||
* @param {int} maxWaitMs [default=10000] - Number of milliseconds to wait
|
||||
*/
|
||||
bool waitForConnection(qint64 maxWaitMs = 10000);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits a specific number of milliseconds
|
||||
* @function Test.wait
|
||||
* @param {int} milliseconds - Number of milliseconds to wait
|
||||
*/
|
||||
void wait(int milliseconds);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Waits for all pending downloads, parsing and texture transfers to be complete
|
||||
* @function Test.loadTestScene
|
||||
* @param {string} sceneFile - URL of scene to load
|
||||
*/
|
||||
bool loadTestScene(QString sceneFile);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Clears all caches
|
||||
* @function Test.clear
|
||||
*/
|
||||
void clear();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Start recording Chrome compatible tracing events
|
||||
* logRules can be used to specify a set of logging category rules to limit what gets captured
|
||||
* @function Test.startTracing
|
||||
|
@ -90,7 +90,7 @@ public slots:
|
|||
*/
|
||||
bool startTracing(QString logrules = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stop recording Chrome compatible tracing events and serialize recorded events to a file
|
||||
* Using a filename with a .gz extension will automatically compress the output file
|
||||
* @function Test.stopTracing
|
||||
|
@ -99,14 +99,14 @@ public slots:
|
|||
*/
|
||||
bool stopTracing(QString filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Starts a specific trace event
|
||||
* @function Test.startTraceEvent
|
||||
* @param {string} name - Name of event
|
||||
*/
|
||||
void startTraceEvent(QString name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stop a specific name event
|
||||
* Using a filename with a .gz extension will automatically compress the output file
|
||||
* @function Test.endTraceEvent
|
||||
|
@ -114,14 +114,14 @@ public slots:
|
|||
*/
|
||||
void endTraceEvent(QString name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Write detailed timing stats of next physics stepSimulation() to filename
|
||||
* @function Test.savePhysicsSimulationStats
|
||||
* @param {string} filename - Name of file to save to
|
||||
*/
|
||||
void savePhysicsSimulationStats(QString filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Profiles a specific function
|
||||
* @function Test.savePhysicsSimulationStats
|
||||
* @param {string} name - Name used to reference the function
|
||||
|
@ -129,13 +129,13 @@ public slots:
|
|||
*/
|
||||
Q_INVOKABLE void profileRange(const QString& name, QScriptValue function);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Clear all caches (menu command Reload Content)
|
||||
* @function Test.clearCaches
|
||||
*/
|
||||
void clearCaches();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Save a JSON object to a file in the test results location
|
||||
* @function Test.saveObject
|
||||
* @param {string} name - Name of the object
|
||||
|
@ -143,34 +143,34 @@ public slots:
|
|||
*/
|
||||
void saveObject(QVariant v, const QString& filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Maximizes the window
|
||||
* @function Test.showMaximized
|
||||
*/
|
||||
void showMaximized();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Values higher than 0 will create replicas of other-avatars when entering a domain for testing purpouses
|
||||
* @function Test.setOtherAvatarsReplicaCount
|
||||
* @param {number} count - Number of replicas we want to create
|
||||
*/
|
||||
Q_INVOKABLE void setOtherAvatarsReplicaCount(int count);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Return the number of replicas that are being created of other-avatars when entering a domain
|
||||
* @function Test.getOtherAvatarsReplicaCount
|
||||
* @returns {number} Current number of replicas of other-avatars.
|
||||
*/
|
||||
Q_INVOKABLE int getOtherAvatarsReplicaCount();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Set number of cycles texture size is required to be stable
|
||||
* @function Test.setMinimumGPUTextureMemStabilityCount
|
||||
* @param {number} count - Number of cycles to wait
|
||||
*/
|
||||
Q_INVOKABLE void setMinimumGPUTextureMemStabilityCount(int count);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Check whether all textures have been loaded.
|
||||
* @function Test.isTextureLoadingComplete
|
||||
* @returns {boolean} <code>true</code> texture memory usage is not increasing
|
||||
|
|
|
@ -29,7 +29,7 @@ public:
|
|||
CheckoutProxy(QObject* qmlObject, QObject* parent = nullptr);
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>WalletScriptingInterface</code> API provides functions related to the user's wallet and verification of certified
|
||||
* avatar entities.
|
||||
*
|
||||
|
@ -54,13 +54,13 @@ public:
|
|||
|
||||
WalletScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks and updates the user's wallet status.
|
||||
* @function WalletScriptingInterface.refreshWalletStatus
|
||||
*/
|
||||
Q_INVOKABLE void refreshWalletStatus();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current status of the user's wallet.
|
||||
* @function WalletScriptingInterface.getWalletStatus
|
||||
* @returns {WalletScriptingInterface.WalletStatus}
|
||||
|
@ -70,7 +70,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE uint getWalletStatus() { return _walletStatus; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Check that a certified avatar entity is owned by the avatar whose entity it is. The result of the check is provided via
|
||||
* the {@link WalletScriptingInterface.ownershipVerificationSuccess|ownershipVerificationSuccess} and
|
||||
* {@link WalletScriptingInterface.ownershipVerificationFailed|ownershipVerificationFailed} signals.
|
||||
|
@ -117,7 +117,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user's wallet status changes.
|
||||
* @function WalletScriptingInterface.walletStatusChanged
|
||||
* @returns {Signal}
|
||||
|
@ -128,14 +128,14 @@ signals:
|
|||
*/
|
||||
void walletStatusChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user's limited commerce status changes.
|
||||
* @function WalletScriptingInterface.limitedCommerceChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void limitedCommerceChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user rezzes a certified entity but the user's wallet is not ready. So the certified location of the
|
||||
* entity cannot be updated in the metaverse.
|
||||
* @function WalletScriptingInterface.walletNotSetup
|
||||
|
@ -143,7 +143,7 @@ signals:
|
|||
*/
|
||||
void walletNotSetup();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a certified avatar entity's ownership check requested via
|
||||
* {@link WalletScriptingInterface.proveAvatarEntityOwnershipVerification|proveAvatarEntityOwnershipVerification} or
|
||||
* {@link ContextOverlay.requestOwnershipVerification} succeeds.
|
||||
|
@ -153,7 +153,7 @@ signals:
|
|||
*/
|
||||
void ownershipVerificationSuccess(const QUuid& entityID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a certified avatar entity's ownership check requested via
|
||||
* {@link WalletScriptingInterface.proveAvatarEntityOwnershipVerification|proveAvatarEntityOwnershipVerification} or
|
||||
* {@link ContextOverlay.requestOwnershipVerification} fails.
|
||||
|
|
|
@ -517,7 +517,7 @@ int WindowScriptingInterface::openMessageBox(QString title, QString text, int bu
|
|||
return createMessageBox(title, text, buttons, defaultButton);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The buttons that may be included in a message box created by {@link Window.openMessageBox|openMessageBox} are defined by
|
||||
* numeric values:
|
||||
* <table>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
#include <DependencyManager.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Window</code> API provides various facilities not covered elsewhere, including: window dimensions, window focus,
|
||||
* camera view, announcements, user connections, common dialog boxes, snapshots, file import, domain navigation, domain changes,
|
||||
* domain physics, OS clipboard, build number.
|
||||
|
@ -64,27 +64,27 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether the Interface window has focus.
|
||||
* @function Window.hasFocus
|
||||
* @returns {boolean} <code>true</code> if the Interface window has focus, <code>false</code> if it doesn't.
|
||||
*/
|
||||
QScriptValue hasFocus();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Makes the Interface window have focus. On Windows, if Interface doesn't already have focus, the task bar icon flashes to
|
||||
* indicate that Interface wants attention but focus isn't taken away from the application that the user is using.
|
||||
* @function Window.setFocus
|
||||
*/
|
||||
void setFocus();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Raises the Interface window if it is minimized. If raised, the window gains focus.
|
||||
* @function Window.raise
|
||||
*/
|
||||
void raise();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Displays a dialog with the specified message and an "OK" button. The dialog is non-modal; the script continues without
|
||||
* waiting for a user response.
|
||||
* @function Window.alert
|
||||
|
@ -95,7 +95,7 @@ public slots:
|
|||
*/
|
||||
void alert(const QString& message = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to confirm something. Displays a modal dialog with a message plus "Yes" and "No" buttons.
|
||||
* @function Window.confirm
|
||||
* @param {string} [message=""] - The question to display.
|
||||
|
@ -106,7 +106,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue confirm(const QString& message = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to enter some text. Displays a modal dialog with a message and a text box, plus "OK" and "Cancel"
|
||||
* buttons.
|
||||
* @function Window.prompt
|
||||
|
@ -123,7 +123,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue prompt(const QString& message, const QString& defaultText);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to enter some text. Displays a non-modal dialog with a message and a text box, plus "OK" and "Cancel"
|
||||
* buttons. A {@link Window.promptTextChanged|promptTextChanged} signal is emitted when the user OKs the dialog; no signal
|
||||
* is emitted if the user cancels the dialog.
|
||||
|
@ -141,7 +141,7 @@ public slots:
|
|||
*/
|
||||
void promptAsync(const QString& message = "", const QString& defaultText = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose a directory. Displays a modal dialog that navigates the directory tree.
|
||||
* @function Window.browseDir
|
||||
* @param {string} [title=""] - The title to display at the top of the dialog.
|
||||
|
@ -153,7 +153,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue browseDir(const QString& title = "", const QString& directory = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose a directory. Displays a non-modal dialog that navigates the directory tree. A
|
||||
* {@link Window.browseDirChanged|browseDirChanged} signal is emitted when a directory is chosen; no signal is emitted if
|
||||
* the user cancels the dialog.
|
||||
|
@ -171,7 +171,7 @@ public slots:
|
|||
*/
|
||||
void browseDirAsync(const QString& title = "", const QString& directory = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose a file. Displays a modal dialog that navigates the directory tree.
|
||||
* @function Window.browse
|
||||
* @param {string} [title=""] - The title to display at the top of the dialog.
|
||||
|
@ -185,7 +185,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue browse(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose a file. Displays a non-modal dialog that navigates the directory tree. A
|
||||
* {@link Window.browseChanged|browseChanged} signal is emitted when a file is chosen; no signal is emitted if the user
|
||||
* cancels the dialog.
|
||||
|
@ -205,7 +205,7 @@ public slots:
|
|||
*/
|
||||
void browseAsync(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to specify the path and name of a file to save to. Displays a modal dialog that navigates the directory
|
||||
* tree and allows the user to type in a file name.
|
||||
* @function Window.save
|
||||
|
@ -221,7 +221,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue save(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to specify the path and name of a file to save to. Displays a non-modal dialog that navigates the
|
||||
* directory tree and allows the user to type in a file name. A {@link Window.saveFileChanged|saveFileChanged} signal is
|
||||
* emitted when a file is specified; no signal is emitted if the user cancels the dialog.
|
||||
|
@ -241,7 +241,7 @@ public slots:
|
|||
*/
|
||||
void saveAsync(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose an Asset Server item. Displays a modal dialog that navigates the tree of assets on the Asset
|
||||
* Server.
|
||||
* @function Window.browseAssets
|
||||
|
@ -256,7 +256,7 @@ public slots:
|
|||
*/
|
||||
QScriptValue browseAssets(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prompts the user to choose an Asset Server item. Displays a non-modal dialog that navigates the tree of assets on the
|
||||
* Asset Server. An {@link Window.assetsDirChanged|assetsDirChanged} signal is emitted when an asset is chosen; no signal is
|
||||
* emitted if the user cancels the dialog.
|
||||
|
@ -276,7 +276,7 @@ public slots:
|
|||
*/
|
||||
void browseAssetsAsync(const QString& title = "", const QString& directory = "", const QString& nameFilter = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens the Asset Browser dialog. If a file to upload is specified, the user is prompted to enter the folder and name to
|
||||
* map the file to on the asset server.
|
||||
* @function Window.showAssetServer
|
||||
|
@ -288,35 +288,35 @@ public slots:
|
|||
*/
|
||||
void showAssetServer(const QString& upload = "");
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets Interface's build number.
|
||||
* @function Window.checkVersion
|
||||
* @returns {string} Interface's build number.
|
||||
*/
|
||||
QString checkVersion();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets Interface's user agent.
|
||||
* @function Window.getUserAgent
|
||||
* @returns {string} Interface's user agent.
|
||||
*/
|
||||
QString getUserAgent();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the signature for Interface's protocol version.
|
||||
* @function Window.protocolSignature
|
||||
* @returns {string} A string uniquely identifying the version of the metaverse protocol that Interface is using.
|
||||
*/
|
||||
QString protocolSignature();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Copies text to the operating system's clipboard.
|
||||
* @function Window.copyToClipboard
|
||||
* @param {string} text - The text to copy to the operating system's clipboard.
|
||||
*/
|
||||
void copyToClipboard(const QString& text);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Takes a snapshot of the current Interface view from the primary camera. When a still image only is captured,
|
||||
* {@link Window.stillSnapshotTaken|stillSnapshotTaken} is emitted; when a still image plus moving images are captured,
|
||||
* {@link Window.processingGifStarted|processingGifStarted} and {@link Window.processingGifCompleted|processingGifCompleted}
|
||||
|
@ -364,7 +364,7 @@ public slots:
|
|||
*/
|
||||
void takeSnapshot(bool notify = true, bool includeAnimated = false, float aspectRatio = 0.0f, const QString& filename = QString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Takes a still snapshot of the current view from the secondary camera that can be set up through the {@link Render} API.
|
||||
* <p>Snapshots are saved to the path specified in Settings > General > Snapshots, which can be accessed via the
|
||||
* {@link Snapshot} API.</p>
|
||||
|
@ -379,7 +379,7 @@ public slots:
|
|||
*/
|
||||
void takeSecondaryCameraSnapshot(const bool& notify = true, const QString& filename = QString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Takes a 360° snapshot at a given position for the secondary camera. The secondary camera does not need to have been
|
||||
* set up.
|
||||
* <p>Snapshots are saved to the path specified in Settings > General > Snapshots, which can be accessed via the
|
||||
|
@ -398,7 +398,7 @@ public slots:
|
|||
*/
|
||||
void takeSecondaryCamera360Snapshot(const glm::vec3& cameraPosition, const bool& cubemapOutputFormat = false, const bool& notify = true, const QString& filename = QString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Emits a {@link Window.connectionAdded|connectionAdded} or a {@link Window.connectionError|connectionError} signal that
|
||||
* indicates whether or not a user connection was successfully made using the Web API.
|
||||
* @function Window.makeConnection
|
||||
|
@ -408,7 +408,7 @@ public slots:
|
|||
*/
|
||||
void makeConnection(bool success, const QString& userNameOrError);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Displays a notification message. Notifications are displayed in panels by the default script, nofications.js. An
|
||||
* {@link Window.announcement|announcement} signal is emitted when this function is called.
|
||||
* @function Window.displayAnnouncement
|
||||
|
@ -424,7 +424,7 @@ public slots:
|
|||
*/
|
||||
void displayAnnouncement(const QString& message);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Prepares a snapshot ready for sharing. A {@link Window.snapshotShared|snapshotShared} signal is emitted when the snapshot
|
||||
* has been prepared.
|
||||
* @function Window.shareSnapshot
|
||||
|
@ -433,7 +433,7 @@ public slots:
|
|||
*/
|
||||
void shareSnapshot(const QString& path, const QUrl& href = QUrl(""));
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks to see if physics is active for you in the domain you're visiting - there is a delay between your arrival at a
|
||||
* domain and physics becoming active for you in that domain.
|
||||
* @function Window.isPhysicsEnabled
|
||||
|
@ -456,7 +456,7 @@ public slots:
|
|||
*/
|
||||
bool isPhysicsEnabled();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets what to show on the PC display. For entity camera view, the entity camera is configured using
|
||||
* {@link Camera.setCameraEntity} and {@link Camera|Camera.mode}.
|
||||
* @function Window.setDisplayTexture
|
||||
|
@ -465,7 +465,7 @@ public slots:
|
|||
*/
|
||||
bool setDisplayTexture(const QString& name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if a 2D point is within the desktop window if in desktop mode, or the drawable area of the HUD overlay if in HMD
|
||||
* mode.
|
||||
* @function Window.isPointOnDesktopWindow
|
||||
|
@ -474,21 +474,21 @@ public slots:
|
|||
*/
|
||||
bool isPointOnDesktopWindow(QVariant point);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the size of the drawable area of the Interface window if in desktop mode or the HMD rendering surface if in HMD mode.
|
||||
* @function Window.getDeviceSize
|
||||
* @returns {Vec2} The width and height of the Interface window or HMD rendering surface, in pixels.
|
||||
*/
|
||||
glm::vec2 getDeviceSize() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the last domain connection error when a connection is refused.
|
||||
* @function Window.getLastDomainConnectionError
|
||||
* @returns {Window.ConnectionRefusedReason} Integer number that enumerates the last domain connection refused.
|
||||
*/
|
||||
int getLastDomainConnectionError() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens a non-modal message box that can have a variety of button combinations. See also,
|
||||
* {@link Window.updateMessageBox|updateMessageBox} and {@link Window.closeMessageBox|closeMessageBox}.
|
||||
* @function Window.openMessageBox
|
||||
|
@ -520,7 +520,7 @@ public slots:
|
|||
*/
|
||||
int openMessageBox(QString title, QString text, int buttons, int defaultButton);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens a URL in the Interface window or other application, depending on the URL's scheme. The following schemes are
|
||||
* supported:
|
||||
* <ul>
|
||||
|
@ -534,7 +534,7 @@ public slots:
|
|||
*/
|
||||
void openUrl(const QUrl& url);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens an Android activity and optionally return back to the scene when the activity is completed. <em>Android only.</em>
|
||||
* @function Window.openAndroidActivity
|
||||
* @param {string} activityName - The name of the activity to open: one of <code>"Home"</code>, <code>"Login"</code>, or
|
||||
|
@ -544,7 +544,7 @@ public slots:
|
|||
*/
|
||||
void openAndroidActivity(const QString& activityName, const bool backToScene);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Updates the content of a message box that was opened with {@link Window.openMessageBox|openMessageBox}.
|
||||
* @function Window.updateMessageBox
|
||||
* @param {number} id - The ID of the message box.
|
||||
|
@ -556,28 +556,28 @@ public slots:
|
|||
*/
|
||||
void updateMessageBox(int id, QString title, QString text, int buttons, int defaultButton);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Closes a message box that was opened with {@link Window.openMessageBox|openMessageBox}.
|
||||
* @function Window.closeMessageBox
|
||||
* @param {number} id - The ID of the message box.
|
||||
*/
|
||||
void closeMessageBox(int id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Window.domainLoadingProgress
|
||||
* @returns {number} Progress.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
float domainLoadingProgress();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the number of display plugins currently available.
|
||||
* @function Window.getDisplayPluginCount
|
||||
* @returns {number} The number of display plugins currently available.
|
||||
*/
|
||||
int getDisplayPluginCount();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the name of a display plugin.
|
||||
* @function Window.getDisplayPluginName
|
||||
* @param {number} index - The index of the display plugin. Must be less than the value returned by
|
||||
|
@ -590,7 +590,7 @@ public slots:
|
|||
*/
|
||||
QString getDisplayPluginName(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether a display plugin is an HMD.
|
||||
* @function Window.isDisplayPluginHmd
|
||||
* @param {number} index - The index of the display plugin. Must be less than the value returned by
|
||||
|
@ -599,7 +599,7 @@ public slots:
|
|||
*/
|
||||
bool isDisplayPluginHmd(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the index of the currently active display plugin.
|
||||
* @function Window.getActiveDisplayPlugin
|
||||
* @returns {number} The index of the currently active display plugin. The first display plugin has an index of
|
||||
|
@ -607,7 +607,7 @@ public slots:
|
|||
*/
|
||||
int getActiveDisplayPlugin();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the currently active display plugin.
|
||||
* @function Window.setActiveDisplayPlugin
|
||||
* @param {number} index - The index of the display plugin. Must be less than the value returned by
|
||||
|
@ -615,7 +615,7 @@ public slots:
|
|||
*/
|
||||
void setActiveDisplayPlugin(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Opens an Interface web browser window.
|
||||
* @function Window.openWebBrowser
|
||||
* @param {string} [url=""] - The URL of the web page to display.
|
||||
|
@ -630,7 +630,7 @@ private slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you change the domain you're visiting.
|
||||
* <p><strong>Warning:</strong> Is not emitted if you go to a domain that isn't running.</p>
|
||||
* @function Window.domainChanged
|
||||
|
@ -645,7 +645,7 @@ signals:
|
|||
*/
|
||||
void domainChanged(QUrl domainURL);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you try to navigate to a *.json, *.svo, or *.svo.json URL in a Web browser within Interface.
|
||||
* @function Window.svoImportRequested
|
||||
* @param {string} url - The URL of the file to import.
|
||||
|
@ -653,7 +653,7 @@ signals:
|
|||
*/
|
||||
void svoImportRequested(const QString& url);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you try to visit a domain but are refused connection.
|
||||
* @function Window.domainConnectionRefused
|
||||
* @param {string} reasonMessage - A description of the refusal.
|
||||
|
@ -663,7 +663,7 @@ signals:
|
|||
*/
|
||||
void domainConnectionRefused(const QString& reasonMessage, int reasonCode, const QString& extraInfo);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you try to visit a domain but are redirected into the error state.
|
||||
* @function Window.redirectErrorStateChanged
|
||||
* @param {boolean} isInErrorState - <code>true</code> if the user has been redirected to the error URL, <code>false</code>
|
||||
|
@ -672,7 +672,7 @@ signals:
|
|||
*/
|
||||
void redirectErrorStateChanged(bool isInErrorState);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the interstitial mode changes.
|
||||
* @function Window.interstitialModeChanged
|
||||
* @param {boolean} interstitialMode - <code>true</code> if the interstitial graphics are displayed when the domain is
|
||||
|
@ -681,7 +681,7 @@ signals:
|
|||
*/
|
||||
void interstitialModeChanged(bool interstitialMode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a still snapshot has been taken by calling {@link Window.takeSnapshot|takeSnapshot} with
|
||||
* <code>includeAnimated = false</code> or {@link Window.takeSecondaryCameraSnapshot|takeSecondaryCameraSnapshot}.
|
||||
* @function Window.stillSnapshotTaken
|
||||
|
@ -692,7 +692,7 @@ signals:
|
|||
*/
|
||||
void stillSnapshotTaken(const QString& pathStillSnapshot, bool notify);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a still 360° snapshot has been taken by calling
|
||||
* {@link Window.takeSecondaryCamera360Snapshot|takeSecondaryCamera360Snapshot}.
|
||||
* @function Window.snapshot360Taken
|
||||
|
@ -703,7 +703,7 @@ signals:
|
|||
*/
|
||||
void snapshot360Taken(const QString& path360Snapshot, bool notify);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a snapshot submitted via {@link Window.shareSnapshot|shareSnapshot} is ready for sharing. The snapshot
|
||||
* may then be shared via the {@link Account.metaverseServerURL} Web API.
|
||||
* @function Window.snapshotShared
|
||||
|
@ -714,7 +714,7 @@ signals:
|
|||
*/
|
||||
void snapshotShared(bool isError, const QString& reply);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the snapshot images have been captured by {@link Window.takeSnapshot|takeSnapshot} and the GIF is
|
||||
* starting to be processed.
|
||||
* @function Window.processingGifStarted
|
||||
|
@ -723,7 +723,7 @@ signals:
|
|||
*/
|
||||
void processingGifStarted(const QString& pathStillSnapshot);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a GIF has been prepared of the snapshot images captured by {@link Window.takeSnapshot|takeSnapshot}.
|
||||
* @function Window.processingGifCompleted
|
||||
* @param {string} pathAnimatedSnapshot - The path and name of the moving snapshot GIF file.
|
||||
|
@ -732,7 +732,7 @@ signals:
|
|||
void processingGifCompleted(const QString& pathAnimatedSnapshot);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you've successfully made a user connection.
|
||||
* @function Window.connectionAdded
|
||||
* @param {string} message - A description of the success.
|
||||
|
@ -740,7 +740,7 @@ signals:
|
|||
*/
|
||||
void connectionAdded(const QString& connectionName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when you failed to make a user connection.
|
||||
* @function Window.connectionError
|
||||
* @param {string} message - A description of the error.
|
||||
|
@ -748,7 +748,7 @@ signals:
|
|||
*/
|
||||
void connectionError(const QString& errorString);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a message is announced by {@link Window.displayAnnouncement|displayAnnouncement}.
|
||||
* @function Window.announcement
|
||||
* @param {string} message - The message text.
|
||||
|
@ -757,7 +757,7 @@ signals:
|
|||
void announcement(const QString& message);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user closes a message box that was opened with {@link Window.openMessageBox|openMessageBox}.
|
||||
* @function Window.messageBoxClosed
|
||||
* @param {number} id - The ID of the message box that was closed.
|
||||
|
@ -767,7 +767,7 @@ signals:
|
|||
*/
|
||||
void messageBoxClosed(int id, int button);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user chooses a directory in a {@link Window.browseDirAsync|browseDirAsync} dialog.
|
||||
* @function Window.browseDirChanged
|
||||
* @param {string} directory - The directory the user chose in the dialog.
|
||||
|
@ -775,7 +775,7 @@ signals:
|
|||
*/
|
||||
void browseDirChanged(QString browseDir);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user chooses an asset in a {@link Window.browseAssetsAsync|browseAssetsAsync} dialog.
|
||||
* @function Window.assetsDirChanged
|
||||
* @param {string} asset - The path and name of the asset the user chose in the dialog.
|
||||
|
@ -783,7 +783,7 @@ signals:
|
|||
*/
|
||||
void assetsDirChanged(QString assetsDir);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user specifies a file in a {@link Window.saveAsync|saveAsync} dialog.
|
||||
* @function Window.saveFileChanged
|
||||
* @param {string} filename - The path and name of the file that the user specified in the dialog.
|
||||
|
@ -791,7 +791,7 @@ signals:
|
|||
*/
|
||||
void saveFileChanged(QString filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user chooses a file in a {@link Window.browseAsync|browseAsync} dialog.
|
||||
* @function Window.browseChanged
|
||||
* @param {string} filename - The path and name of the file the user chose in the dialog.
|
||||
|
@ -799,7 +799,7 @@ signals:
|
|||
*/
|
||||
void browseChanged(QString filename);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user OKs a {@link Window.promptAsync|promptAsync} dialog.
|
||||
* @function Window.promptTextChanged
|
||||
* @param {string} text - The text the user entered in the dialog.
|
||||
|
@ -808,7 +808,7 @@ signals:
|
|||
void promptTextChanged(QString text);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the position or size of the Interface window changes.
|
||||
* @function Window.geometryChanged
|
||||
* @param {Rect} geometry - The position and size of the drawable area of the Interface window.
|
||||
|
@ -823,7 +823,7 @@ signals:
|
|||
void geometryChanged(QRect geometry);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when "minimized" state of the Interface window changes.
|
||||
* @function Window.minimizedChanged
|
||||
* @param {boolean} isMinimized - <code>true</code> if the Interface window is minimized, <code>false</code> if it isn't.
|
||||
|
|
|
@ -23,7 +23,7 @@ class AvatarInputs : public QObject {
|
|||
Q_OBJECT
|
||||
HIFI_QML_DECL
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AvatarInputs</code> API provides facilities to manage user inputs.
|
||||
*
|
||||
* @namespace AvatarInputs
|
||||
|
@ -61,7 +61,7 @@ class AvatarInputs : public QObject {
|
|||
public:
|
||||
static AvatarInputs* getInstance();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Converts non-linear audio loudness to a linear audio level.
|
||||
* @function AvatarInputs.loudnessToAudioLevel
|
||||
* @param {number} loudness - The non-linear audio loudness.
|
||||
|
@ -78,7 +78,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not the microphone mute button and audio level meter is shown.
|
||||
* @function AvatarInputs.setShowAudioTools
|
||||
* @param {boolean} showAudioTools - <code>true</code> to show the microphone mute button and audio level meter,
|
||||
|
@ -86,7 +86,7 @@ public slots:
|
|||
*/
|
||||
void setShowAudioTools(bool showAudioTools);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether or not the privacy shield button is shown.
|
||||
* @function AvatarInputs.setShowBubbleTools
|
||||
* @param {boolean} showBubbleTools - <code>true</code> to show the privacy shield button, <code>false</code> to hide it.
|
||||
|
@ -95,28 +95,28 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when webcam face tracking is enabled or disabled.
|
||||
* @deprecated This signal is deprecated and has been removed.
|
||||
* @function AvatarInputs.cameraEnabledChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when webcam face tracking is muted (temporarily disabled) or unmuted.
|
||||
* @deprecated This signal is deprecated and has been removed.
|
||||
* @function AvatarInputs.cameraMutedChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the display mode changes between desktop and HMD.
|
||||
* @function AvatarInputs.isHMDChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void isHMDChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the visibility of the microphone mute button and audio level meter changes.
|
||||
* @function AvatarInputs.showAudioToolsChanged
|
||||
* @param {boolean} show - <code>true</code> if the microphone mute button and audio level meter are shown,
|
||||
|
@ -125,7 +125,7 @@ signals:
|
|||
*/
|
||||
void showAudioToolsChanged(bool show);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the visibility of the privacy shield button changes.
|
||||
* @function AvatarInputs.showBubbleToolsChanged
|
||||
* @param {boolean} show - <code>true</code> if the privacy shield UI button is shown, <code>false</code> if
|
||||
|
@ -134,7 +134,7 @@ signals:
|
|||
*/
|
||||
void showBubbleToolsChanged(bool show);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when another user enters the privacy shield.
|
||||
* @function AvatarInputs.avatarEnteredIgnoreRadius
|
||||
* @param {QUuid} avatarID - The session ID of the user that entered the privacy shield.
|
||||
|
@ -146,7 +146,7 @@ signals:
|
|||
*/
|
||||
void avatarEnteredIgnoreRadius(QUuid avatarID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when another user leaves the privacy shield.
|
||||
* <p><strong>Note:</strong> Currently doesn't work.</p>
|
||||
* @function AvatarInputs.avatarLeftIgnoreRadius
|
||||
|
@ -156,7 +156,7 @@ signals:
|
|||
*/
|
||||
void avatarLeftIgnoreRadius(QUuid avatarID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the privacy shield is enabled or disabled.
|
||||
* @function AvatarInputs.ignoreRadiusEnabledChanged
|
||||
* @param {boolean} enabled - <code>true</code> if the privacy shield is enabled, <code>false</code> if it is disabled.
|
||||
|
@ -164,7 +164,7 @@ signals:
|
|||
*/
|
||||
void ignoreRadiusEnabledChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when another user enters the privacy shield.
|
||||
* @function AvatarInputs.enteredIgnoreRadiusChanged
|
||||
* @returns {Signal}
|
||||
|
@ -173,13 +173,13 @@ signals:
|
|||
|
||||
protected:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Resets sensors, audio, avatar animations, and the avatar rig.
|
||||
* @function AvatarInputs.resetSensors
|
||||
*/
|
||||
Q_INVOKABLE void resetSensors();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Toggles the muting (temporary disablement) of webcam face tracking on/off.
|
||||
* <p class="important">Deprecated: This function is deprecated and has been removed.</p>
|
||||
* @function AvatarInputs.toggleCameraMute
|
||||
|
|
|
@ -128,7 +128,7 @@ void InteractiveWindow::emitMainWindowResizeEvent() {
|
|||
emit qApp->getWindow()->windowGeometryChanged(qApp->getWindow()->geometry());
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Property values used when creating an <code>InteractiveWindow</code>.
|
||||
* @typedef {object} InteractiveWindow.WindowProperties
|
||||
* @property {string} [title="InteractiveWindow] - The title of the window.
|
||||
|
@ -151,7 +151,7 @@ void InteractiveWindow::emitMainWindowResizeEvent() {
|
|||
* pixels. Excludes the window frame.
|
||||
* @property {boolean} [isFullScreenWindow] - <code>true</code> to make the window full screen.
|
||||
*/
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A set of flags customizing <code>InteractiveWindow</code> controls. The value is constructed by using the <code>|</code>
|
||||
* (bitwise OR) operator on the individual flag values.</code>.</p>
|
||||
* <table>
|
||||
|
@ -212,7 +212,7 @@ InteractiveWindow::InteractiveWindow(const QString& sourceUrl, const QVariantMap
|
|||
//add any whitelisted callbacks
|
||||
OffscreenUi::applyWhiteList(sourceUrl, quickView->rootContext());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Configures how a <code>NATIVE</code> window is displayed.
|
||||
* @typedef {object} InteractiveWindow.PresentationWindowInfo
|
||||
* @property {InteractiveWindow.DockArea} dockArea - The edge of the Interface window to dock to.
|
||||
|
|
|
@ -55,7 +55,7 @@ signals:
|
|||
namespace InteractiveWindowEnums {
|
||||
Q_NAMESPACE
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A set of flags controlling <code>InteractiveWindow</code> behavior. The value is constructed by using the
|
||||
* <code>|</code> (bitwise OR) operator on the individual flag values.</p>
|
||||
* <table>
|
||||
|
@ -76,7 +76,7 @@ namespace InteractiveWindowEnums {
|
|||
};
|
||||
Q_ENUM_NS(InteractiveWindowFlags);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A display mode for an <code>InteractiveWindow</code>.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -97,7 +97,7 @@ namespace InteractiveWindowEnums {
|
|||
};
|
||||
Q_ENUM_NS(InteractiveWindowPresentationMode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A docking location of an <code>InteractiveWindow</code>.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -120,7 +120,7 @@ namespace InteractiveWindowEnums {
|
|||
};
|
||||
Q_ENUM_NS(DockArea);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The anchor for a relative position of an <code>InteractiveWindow</code>.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -150,7 +150,7 @@ namespace InteractiveWindowEnums {
|
|||
|
||||
using namespace InteractiveWindowEnums;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An <code>InteractiveWindow</code> can display either inside Interface or in its own window separate from the Interface
|
||||
* window. The window content is defined by a QML file, which can optionally include a <code>WebView</code> control that embeds
|
||||
* an HTML web page. (The <code>WebView</code> control is defined by a "WebView.qml" file included in the Interface install.)
|
||||
|
@ -229,7 +229,7 @@ private:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sends a message to the QML page. To receive the message, the QML page must implement a function:
|
||||
* <pre class="prettyprint"><code>function fromScript(message) {
|
||||
* ...
|
||||
|
@ -278,7 +278,7 @@ public slots:
|
|||
// Scripts can use this to send a message to the QML object
|
||||
void sendToQml(const QVariant& message);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sends a message to an embedded HTML web page. To receive the message, the HTML page's script must connect to the
|
||||
* <code>EventBridge</code> that is automatically provided for the script:
|
||||
* <pre class="prettyprint"><code>EventBridge.scriptEventReceived.connect(function(message) {
|
||||
|
@ -290,26 +290,26 @@ public slots:
|
|||
// QmlWindow content may include WebView requiring EventBridge.
|
||||
void emitScriptEvent(const QVariant& scriptMessage);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function InteractiveWindow.emitWebEvent
|
||||
* @param {object|string} message - Message.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
void emitWebEvent(const QVariant& webMessage);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Closes the window. It can then no longer be used.
|
||||
* @function InteractiveWindow.close
|
||||
*/
|
||||
Q_INVOKABLE void close();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Makes the window visible and raises it to the top.
|
||||
* @function InteractiveWindow.show
|
||||
*/
|
||||
Q_INVOKABLE void show();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Raises the window to the top.
|
||||
* @function InteractiveWindow.raise
|
||||
*/
|
||||
|
@ -317,49 +317,49 @@ public slots:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the window is made visible or invisible, or is closed.
|
||||
* @function InteractiveWindow.visibleChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void visibleChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the window's position changes.
|
||||
* @function InteractiveWindow.positionChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void positionChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the window's size changes.
|
||||
* @function InteractiveWindow.sizeChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void sizeChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the window's presentation mode changes.
|
||||
* @function InteractiveWindow.presentationModeChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void presentationModeChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when window's title changes.
|
||||
* @function InteractiveWindow.titleChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void titleChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the window is closed.
|
||||
* @function InteractiveWindow.closed
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void closed();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a message from the QML page is received. The QML page can send a message (string or object) by calling:
|
||||
* <pre class="prettyprint"><code>sendToScript(message);</code></pre>
|
||||
* @function InteractiveWindow.fromQml
|
||||
|
@ -369,7 +369,7 @@ signals:
|
|||
// Scripts can connect to this signal to receive messages from the QML object
|
||||
void fromQml(const QVariant& message);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function InteractiveWindow.scriptEventReceived
|
||||
* @param {object} message - Message.
|
||||
* @returns {Signal}
|
||||
|
@ -378,7 +378,7 @@ signals:
|
|||
// InteractiveWindow content may include WebView requiring EventBridge.
|
||||
void scriptEventReceived(const QVariant& message);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a message from an embedded HTML web page is received. The HTML web page can send a message by calling:
|
||||
* <pre class="prettyprint"><code>EventBridge.emitWebEvent(message);</code></pre>
|
||||
* @function InteractiveWindow.webEventReceived
|
||||
|
@ -388,7 +388,7 @@ signals:
|
|||
void webEventReceived(const QVariant& message);
|
||||
|
||||
protected slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function InteractiveWindow.qmlToScript
|
||||
* @param {object} message - Message.
|
||||
* @deprecated This method is deprecated and will be removed.
|
||||
|
|
|
@ -37,7 +37,7 @@ private:
|
|||
};
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Snapshot</code> API provides access to the path that snapshots are saved to. This path is that provided in
|
||||
* Settings > General > Snapshots. Snapshots may be taken using <code>Window</code> API functions such as
|
||||
* {@link Window.takeSnapshot}.
|
||||
|
@ -67,7 +67,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the path that snapshots are saved to is changed.
|
||||
* @function Snapshot.snapshotLocationSet
|
||||
* @param {string} location - The new snapshots location.
|
||||
|
@ -82,14 +82,14 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the path that snapshots are saved to.
|
||||
* @function Snapshot.getSnapshotsLocation
|
||||
* @returns {string} The path to save snapshots to.
|
||||
*/
|
||||
Q_INVOKABLE QString getSnapshotsLocation();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the path that snapshots are saved to.
|
||||
* @function Snapshot.setSnapshotsLocation
|
||||
* @param {String} location - The path to save snapshots to.
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -29,7 +29,7 @@
|
|||
#include "EntityTree.h"
|
||||
#include "ContextOverlayLogging.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>ContextOverlay</code> API manages the "i" proof-of-provenance context overlay that appears on Marketplace items
|
||||
* when a user right-clicks them.
|
||||
*
|
||||
|
@ -61,7 +61,7 @@ class ContextOverlayInterface : public QObject, public Dependency {
|
|||
public:
|
||||
ContextOverlayInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the entity that the context overlay is currently displayed for.
|
||||
* @function ContextOverlay.getCurrentEntityWithContextOverlay
|
||||
* @returns {Uuid} - The ID of the entity that the context overlay is currently displayed for, <code>null</code> if the
|
||||
|
@ -76,7 +76,7 @@ public:
|
|||
bool getIsInMarketplaceInspectionMode() { return _isInMarketplaceInspectionMode; }
|
||||
void setIsInMarketplaceInspectionMode(bool mode) { _isInMarketplaceInspectionMode = mode; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Initiates a check on an avatar entity belongs to the user wearing it. The result is returned via
|
||||
* {@link WalletScriptingInterface.ownershipVerificationSuccess} or
|
||||
* {@link WalletScriptingInterface.ownershipVerificationFailed}.
|
||||
|
@ -90,7 +90,7 @@ public:
|
|||
EntityPropertyFlags getEntityPropertyFlags() { return _entityPropertyFlags; }
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the user clicks on the context overlay.
|
||||
* @function ContextOverlay.contextOverlayClicked
|
||||
* @param {Uuid} id - The ID of the entity that the context overlay is for.
|
||||
|
@ -104,7 +104,7 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.clickDownOnEntity
|
||||
* @param {Uuid} id - Entity ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -113,7 +113,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void clickDownOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.mouseReleaseOnEntity
|
||||
* @param {Uuid} id - Entity ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -122,7 +122,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void mouseReleaseOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Displays or deletes the context overlay as appropriate for the target entity and a pointer event: the context overlay
|
||||
* must be enabled and the pointer event must be a right-click; if so, then any current context overlay is deleted, and if
|
||||
* the target entity should have a context overlay then it is displayed.
|
||||
|
@ -134,7 +134,7 @@ public slots:
|
|||
*/
|
||||
bool createOrDestroyContextOverlay(const EntityItemID& entityItemID, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Deletes the context overlay and removes the entity highlight, if shown.
|
||||
* @function ContextOverlay.destroyContextOverlay
|
||||
* @param {Uuid} entityID - The ID of the entity.
|
||||
|
@ -145,7 +145,7 @@ public slots:
|
|||
bool destroyContextOverlay(const EntityItemID& entityItemID, const PointerEvent& event);
|
||||
bool destroyContextOverlay(const EntityItemID& entityItemID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.contextOverlays_hoverEnterOverlay
|
||||
* @param {Uuid} id - Overlay ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -154,7 +154,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void contextOverlays_hoverEnterOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.contextOverlays_hoverLeaveOverlay
|
||||
* @param {Uuid} id - Overlay ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -163,7 +163,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void contextOverlays_hoverLeaveOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.contextOverlays_hoverEnterEntity
|
||||
* @param {Uuid} id - Entity ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -172,7 +172,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void contextOverlays_hoverEnterEntity(const EntityItemID& entityID, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ContextOverlay.contextOverlays_hoverLeaveEntity
|
||||
* @param {Uuid} id - Entity ID.
|
||||
* @param {PointerEvent} event - Pointer event.
|
||||
|
@ -181,7 +181,7 @@ public slots:
|
|||
// FIXME: Method shouldn't be in the API.
|
||||
void contextOverlays_hoverLeaveEntity(const EntityItemID& entityID, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks with a context overlay should be displayed for an entity — in particular, whether the item has a non-empty
|
||||
* certificate ID.
|
||||
* @function ContextOverlay.contextOverlayFilterPassed
|
||||
|
|
|
@ -25,7 +25,7 @@ AABox Overlay2D::getBounds() const {
|
|||
|
||||
// JSDoc for copying to @typedefs of overlay types that inherit Overlay2D.
|
||||
// QmlOverlay-derived classes don't support getProperty().
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @property {Rect} bounds - The position and size of the rectangle. <em>Write-only.</em>
|
||||
* @property {number} x - Integer left, x-coordinate value = <code>bounds.x</code>. <em>Write-only.</em>
|
||||
* @property {number} y - Integer top, y-coordinate value = <code>bounds.y</code>. <em>Write-only.</em>
|
||||
|
|
|
@ -1329,7 +1329,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
return result;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>An overlay may be one of the following types:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -1397,7 +1397,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @typedef {string} Overlays.OverlayType
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Different overlay types have different properties: some common to all overlays (listed in the table) and some specific to
|
||||
* each {@link Overlays.OverlayType|OverlayType} (linked to below).
|
||||
* <p>3D overlays are local entities, internally, so they also support the relevant entity's properties.</p>
|
||||
|
@ -1422,7 +1422,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @see {@link Overlays.OverlayProperties-Circle3D|OverlayProperties-Circle3D} — <span class="important">Deprecated.</span>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"image"</code> {@link Overlays.OverlayType|OverlayType} is for 2D images.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* @typedef {object} Overlays.OverlayProperties-Image
|
||||
|
@ -1442,7 +1442,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* <code>1.0</code>. <em>Write-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"text"</code> {@link Overlays.OverlayType|OverlayType} is for 2D text.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* @typedef {object} Overlays.OverlayProperties-Text
|
||||
|
@ -1468,7 +1468,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* <em>Write-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"rectangle"</code> {@link Overlays.OverlayType|OverlayType} is for 2D rectangles.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* @typedef {object} Overlays.OverlayProperties-Rectangle
|
||||
|
@ -1487,7 +1487,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* <em>Write-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"cube"</code> {@link Overlays.OverlayType|OverlayType} is for 3D cubes.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Box|Box} entity.
|
||||
|
@ -1535,7 +1535,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* than a joint.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"sphere"</code> {@link Overlays.OverlayType|OverlayType} is for 3D spheres.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Sphere|Sphere} entity.
|
||||
|
@ -1583,7 +1583,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* than a joint.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"rectangle3D"</code> {@link Overlays.OverlayType|OverlayType} is for 3D rectangles.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Shape|Shape} entity, with the <code>shape</code>
|
||||
|
@ -1632,7 +1632,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* than a joint.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A <code>"shape"</code> {@link Overlays.OverlayType|OverlayType} may display as one of the following geometrical
|
||||
* shapes:</p>
|
||||
* <table>
|
||||
|
@ -1659,7 +1659,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @typedef {string} Overlays.Shape
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"shape"</code> {@link Overlays.OverlayType|OverlayType} is for 3D shapes.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Shape|Shape} entity.
|
||||
|
@ -1709,7 +1709,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @property {Overlays.Shape} shape=Hexagon - The geometrical shape of the overlay.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"model"</code> {@link Overlays.OverlayType|OverlayType} is for 3D models.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Model|Model} entity.
|
||||
|
@ -1750,7 +1750,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @property {Entities.AnimationProperties} animationSettings - An animation to play on the model.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"text3D"</code> {@link Overlays.OverlayType|OverlayType} is for 3D text.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Text|Text} entity.
|
||||
|
@ -1796,7 +1796,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* than a joint.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"image3D"</code> {@link Overlays.OverlayType|OverlayType} is for 3D images.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Image|Image} entity.
|
||||
|
@ -1842,7 +1842,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @property {string} url - The URL of the image to display.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"web3d"</code> {@link Overlays.OverlayType|OverlayType} is for 3D web surfaces.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Web|Web} entity.
|
||||
|
@ -1888,7 +1888,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* @property {string} url - The URL of the web page to display.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"line3d"</code> {@link Overlays.OverlayType|OverlayType} is for 3D lines.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-PolyLine|PolyLine} entity.
|
||||
|
@ -1956,7 +1956,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* property to retrieve its value instead.</em></p>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"grid"</code> {@link Overlays.OverlayType|OverlayType} is for 3D grids.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Grid|Grid} entity.
|
||||
|
@ -2000,7 +2000,7 @@ QVector<QUuid> Overlays::findOverlays(const glm::vec3& center, float radius) {
|
|||
* than a joint.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"circle3d"</code> {@link Overlays.OverlayType|OverlayType} is for 3D circles.
|
||||
* It has properties in addition to the common {@link Overlays.OverlayProperties|OverlayProperties}.
|
||||
* It additionally has properties per the {@link Entities.EntityProperties-Gizmo|Gizmo} entity, with the
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
class PickRay;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The result of a {@link PickRay} search using {@link Overlays.findRayIntersection|findRayIntersection}.
|
||||
* @typedef {object} Overlays.RayToOverlayIntersectionResult
|
||||
* @property {boolean} intersects - <code>true</code> if the {@link PickRay} intersected with a 3D overlay, otherwise
|
||||
|
@ -67,7 +67,7 @@ public:
|
|||
QVariantMap extraInfo;
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Overlays</code> API provides facilities to create and interact with overlays. These are 2D and 3D objects visible
|
||||
* only to yourself and that aren't persisted to the domain. They are used for UI.
|
||||
*
|
||||
|
@ -123,7 +123,7 @@ public:
|
|||
mutable QScriptEngine _scriptEngine;
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Adds an overlay to the scene.
|
||||
* @function Overlays.addOverlay
|
||||
* @param {Overlays.OverlayType} type - The type of the overlay to add.
|
||||
|
@ -139,7 +139,7 @@ public slots:
|
|||
*/
|
||||
QUuid addOverlay(const QString& type, const QVariant& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a clone of an existing overlay (or entity).
|
||||
* <p>Note: For cloning behavior of 3D overlays and entities, see {@link Entities.cloneEntity}.</p>
|
||||
* @function Overlays.cloneOverlay
|
||||
|
@ -148,7 +148,7 @@ public slots:
|
|||
*/
|
||||
QUuid cloneOverlay(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Edits an overlay's (or entity's) properties.
|
||||
* @function Overlays.editOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or entity) to edit.
|
||||
|
@ -170,7 +170,7 @@ public slots:
|
|||
*/
|
||||
bool editOverlay(const QUuid& id, const QVariant& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Edits the properties of multiple overlays (or entities).
|
||||
* @function Overlays.editOverlays
|
||||
* @param propertiesById {object.<Uuid, Overlays.OverlayProperties>} - An object with overlay (or entity) IDs as keys and
|
||||
|
@ -198,14 +198,14 @@ public slots:
|
|||
*/
|
||||
bool editOverlays(const QVariant& propertiesById);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Deletes an overlay (or entity).
|
||||
* @function Overlays.deleteOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or entity) to delete.
|
||||
*/
|
||||
void deleteOverlay(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the type of an overlay.
|
||||
* @function Overlays.getOverlayType
|
||||
* @param {Uuid} id - The ID of the overlay to get the type of.
|
||||
|
@ -222,7 +222,7 @@ public slots:
|
|||
*/
|
||||
QString getOverlayType(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets an overlay's (or entity's) script object. In particular, this is useful for accessing a
|
||||
* <code>{@link Overlays.OverlayProperties-Web3D|"web3d"}</code> overlay's <code>EventBridge</code> script object to
|
||||
* exchange messages with the web page script.
|
||||
|
@ -292,7 +292,7 @@ public slots:
|
|||
*/
|
||||
QObject* getOverlayObject(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the 2D overlay at a particular point on the desktop screen or HUD surface.
|
||||
* @function Overlays.getOverlayAtPoint
|
||||
* @param {Vec2} point - The point to check for an overlay.
|
||||
|
@ -311,7 +311,7 @@ public slots:
|
|||
*/
|
||||
QUuid getOverlayAtPoint(const glm::vec2& point);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets a specified property value of a 3D overlay (or entity).
|
||||
* <p><strong>Note:</strong> 2D overlays' property values cannot be retrieved.</p>
|
||||
* @function Overlays.getProperty
|
||||
|
@ -331,7 +331,7 @@ public slots:
|
|||
*/
|
||||
QVariant getProperty(const QUuid& id, const QString& property);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets specified property values of a 3D overlay (or entity).
|
||||
* <p><strong>Note:</strong> 2D overlays' property values cannot be retrieved.</p>
|
||||
* @function Overlays.getProperties
|
||||
|
@ -351,7 +351,7 @@ public slots:
|
|||
*/
|
||||
QVariantMap getProperties(const QUuid& id, const QStringList& properties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the values of multiple overlays' (or entities') properties.
|
||||
* @function Overlays.getOverlaysProperties
|
||||
* @param propertiesById {object.<Uuid, Array.<string>>} - An object with overlay (or entity) IDs as keys and arrays of the
|
||||
|
@ -379,7 +379,7 @@ public slots:
|
|||
*/
|
||||
QVariantMap getOverlaysProperties(const QVariant& overlaysProperties);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Finds the closest 3D overlay (or local entity) intersected by a {@link PickRay}.
|
||||
* @function Overlays.findRayIntersection
|
||||
* @param {PickRay} pickRay - The PickRay to use for finding overlays.
|
||||
|
@ -416,7 +416,7 @@ public slots:
|
|||
bool visibleOnly = false,
|
||||
bool collidableOnly = false);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets a list of visible 3D overlays (local entities) with bounding boxes that touch a search sphere.
|
||||
* @function Overlays.findOverlays
|
||||
* @param {Vec3} center - The center of the search sphere.
|
||||
|
@ -444,7 +444,7 @@ public slots:
|
|||
*/
|
||||
QVector<QUuid> findOverlays(const glm::vec3& center, float radius);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether an overlay's (or entity's) assets have been loaded. For example, for an
|
||||
* <code>{@link Overlays.OverlayProperties-Image|"image"}</code> overlay, the result indicates whether its image has been
|
||||
* loaded.
|
||||
|
@ -464,7 +464,7 @@ public slots:
|
|||
*/
|
||||
bool isLoaded(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Calculates the size of some text in a text overlay (or entity). The overlay (or entity) need not be set visible.
|
||||
* <p><strong>Note:</strong> The size of text in a 3D overlay (or entity) cannot be calculated immediately after the
|
||||
* overlay (or entity) is created; a short delay is required while the overlay (or entity) finishes being created.</p>
|
||||
|
@ -489,21 +489,21 @@ public slots:
|
|||
*/
|
||||
QSizeF textSize(const QUuid& id, const QString& text);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the width of the Interface window or HUD surface.
|
||||
* @function Overlays.width
|
||||
* @returns {number} The width, in pixels, of the Interface window if in desktop mode or the HUD surface if in HMD mode.
|
||||
*/
|
||||
float width();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the height of the Interface window or HUD surface.
|
||||
* @function Overlays.height
|
||||
* @returns {number} The height, in pixels, of the Interface window if in desktop mode or the HUD surface if in HMD mode.
|
||||
*/
|
||||
float height();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if an overlay (or entity) exists.
|
||||
* @function Overlays.isAddedOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or entity) to check.
|
||||
|
@ -511,7 +511,7 @@ public slots:
|
|||
*/
|
||||
bool isAddedOverlay(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a mouse press event on an overlay (or local entity).
|
||||
* @function Overlays.sendMousePressOnOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a mouse press event on.
|
||||
|
@ -551,7 +551,7 @@ public slots:
|
|||
*/
|
||||
void sendMousePressOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a mouse release event on an overlay (or local entity).
|
||||
* @function Overlays.sendMouseReleaseOnOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a mouse release event on.
|
||||
|
@ -559,7 +559,7 @@ public slots:
|
|||
*/
|
||||
void sendMouseReleaseOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a mouse move event on an overlay (or local entity).
|
||||
* @function Overlays.sendMouseMoveOnOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a mouse move event on.
|
||||
|
@ -567,7 +567,7 @@ public slots:
|
|||
*/
|
||||
void sendMouseMoveOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a hover enter event on an overlay (or local entity).
|
||||
* @function Overlays.sendHoverEnterOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a hover enter event on.
|
||||
|
@ -575,7 +575,7 @@ public slots:
|
|||
*/
|
||||
void sendHoverEnterOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a hover over event on an overlay (or entity).
|
||||
* @function Overlays.sendHoverOverOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a hover over event on.
|
||||
|
@ -583,7 +583,7 @@ public slots:
|
|||
*/
|
||||
void sendHoverOverOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Generates a hover leave event on an overlay (or local entity).
|
||||
* @function Overlays.sendHoverLeaveOverlay
|
||||
* @param {Uuid} id - The ID of the overlay (or local entity) to generate a hover leave event on.
|
||||
|
@ -591,7 +591,7 @@ public slots:
|
|||
*/
|
||||
void sendHoverLeaveOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the <code>{@link Overlays.OverlayProperties-Web3D|"web3d"}</code> overlay
|
||||
* ({@link Entities.EntityProperties-Web|Web} entity) that has keyboard focus.
|
||||
* @function Overlays.getKeyboardFocusOverlay
|
||||
|
@ -600,7 +600,7 @@ public slots:
|
|||
*/
|
||||
QUuid getKeyboardFocusOverlay() { return DependencyManager::get<EntityScriptingInterface>()->getKeyboardFocusEntity(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the <code>{@link Overlays.OverlayProperties-Web3D|"web3d"}</code> overlay
|
||||
* ({@link Entities.EntityProperties-Web|Web} entity) that has keyboard focus.
|
||||
* @function Overlays.setKeyboardFocusOverlay
|
||||
|
@ -611,7 +611,7 @@ public slots:
|
|||
void setKeyboardFocusOverlay(const QUuid& id) { DependencyManager::get<EntityScriptingInterface>()->setKeyboardFocusEntity(id); }
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an overlay (or entity) is deleted.
|
||||
* @function Overlays.overlayDeleted
|
||||
* @param {Uuid} id - The ID of the overlay (or entity) that was deleted.
|
||||
|
@ -634,7 +634,7 @@ signals:
|
|||
*/
|
||||
void overlayDeleted(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse press event occurs on an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendMousePressOnOverlay|sendMousePressOnOverlay} for a 2D overlay).
|
||||
* @function Overlays.mousePressOnOverlay
|
||||
|
@ -658,7 +658,7 @@ signals:
|
|||
*/
|
||||
void mousePressOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse double press event occurs on an overlay. Only occurs for 3D overlays.
|
||||
* @function Overlays.mouseDoublePressOnOverlay
|
||||
* @param {Uuid} id - The ID of the overlay the mouse double press event occurred on.
|
||||
|
@ -667,7 +667,7 @@ signals:
|
|||
*/
|
||||
void mouseDoublePressOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse release event occurs on an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendMouseReleaseOnOverlay|sendMouseReleaseOnOverlay} for a 2D overlay).
|
||||
* @function Overlays.mouseReleaseOnOverlay
|
||||
|
@ -677,7 +677,7 @@ signals:
|
|||
*/
|
||||
void mouseReleaseOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse move event occurs on an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendMouseMoveOnOverlay|sendMouseMoveOnOverlay} for a 2D overlay).
|
||||
* @function Overlays.mouseMoveOnOverlay
|
||||
|
@ -687,21 +687,21 @@ signals:
|
|||
*/
|
||||
void mouseMoveOnOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse press event occurs on something other than a 3D overlay.
|
||||
* @function Overlays.mousePressOffOverlay
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void mousePressOffOverlay();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse double press event occurs on something other than a 3D overlay.
|
||||
* @function Overlays.mouseDoublePressOffOverlay
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void mouseDoublePressOffOverlay();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse cursor starts hovering over an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendHoverEnterOverlay|sendHoverEnterOverlay} for a 2D overlay).
|
||||
* @function Overlays.hoverEnterOverlay
|
||||
|
@ -723,7 +723,7 @@ signals:
|
|||
*/
|
||||
void hoverEnterOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse cursor continues hovering over an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendHoverOverOverlay|sendHoverOverOverlay} for a 2D overlay).
|
||||
* @function Overlays.hoverOverOverlay
|
||||
|
@ -733,7 +733,7 @@ signals:
|
|||
*/
|
||||
void hoverOverOverlay(const QUuid& id, const PointerEvent& event);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a mouse cursor finishes hovering over an overlay. Only occurs for 3D overlays (unless you use
|
||||
* {@link Overlays.sendHoverLeaveOverlay|sendHoverLeaveOverlay} for a 2D overlay).
|
||||
* @function Overlays.hoverLeaveOverlay
|
||||
|
|
|
@ -59,7 +59,7 @@ public:
|
|||
|
||||
float getMaxErrorOnLastSolve() { return _maxErrorOnLastSolve; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Specifies the initial conditions of the IK solver.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -24,7 +24,7 @@ class AnimOverlay : public AnimNode {
|
|||
public:
|
||||
friend class AnimTests;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Specifies sets of joints.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -24,7 +24,7 @@ class AnimationCacheScriptingInterface : public ScriptableResourceCache, public
|
|||
|
||||
// Properties are copied over from ResourceCache (see ResourceCache.h for reason).
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AnimationCache</code> API manages animation cache resources.
|
||||
*
|
||||
* @namespace AnimationCache
|
||||
|
@ -52,7 +52,7 @@ class AnimationCacheScriptingInterface : public ScriptableResourceCache, public
|
|||
public:
|
||||
AnimationCacheScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about an animation resource.
|
||||
* @function AnimationCache.getAnimation
|
||||
* @param {string} url - The URL of the animation.
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
class QScriptEngine;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about an animation resource, created by {@link AnimationCache.getAnimation}.
|
||||
*
|
||||
* @class AnimationObject
|
||||
|
@ -42,14 +42,14 @@ class AnimationObject : public QObject, protected QScriptable {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of the joints that are animated.
|
||||
* @function AnimationObject.getJointNames
|
||||
* @returns {string[]} The names of the joints that are animated.
|
||||
*/
|
||||
Q_INVOKABLE QStringList getJointNames() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the frames in the animation.
|
||||
* @function AnimationObject.getFrames
|
||||
* @returns {AnimationFrameObject[]} The frames in the animation.
|
||||
|
@ -57,7 +57,7 @@ public:
|
|||
Q_INVOKABLE QVector<HFMAnimationFrame> getFrames() const;
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Joint rotations in one frame of an {@link AnimationObject}.
|
||||
*
|
||||
* @class AnimationFrameObject
|
||||
|
@ -78,7 +78,7 @@ class AnimationFrameObject : public QObject, protected QScriptable {
|
|||
|
||||
public:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the joint rotations in the animation frame.
|
||||
* @function AnimationFrameObject.getRotations
|
||||
* @returns {Quat[]} The joint rotations in the animation frame.
|
||||
|
|
|
@ -16,7 +16,7 @@ const float HACK_HMD_TARGET_WEIGHT = 8.0f;
|
|||
|
||||
class IKTarget {
|
||||
public:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>An IK target type.</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -89,7 +89,7 @@ static const QString MAIN_STATE_MACHINE_RIGHT_HAND_ROTATION("mainStateMachineRig
|
|||
static const QString MAIN_STATE_MACHINE_RIGHT_HAND_POSITION("mainStateMachineRightHandPosition");
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>An <code>AnimStateDictionary</code> object may have the following properties. It may also have other properties, set by
|
||||
* scripts.</p>
|
||||
* <p><strong>Warning:</strong> These properties are subject to change.
|
||||
|
|
|
@ -39,7 +39,7 @@ class MixedProcessedAudioStream;
|
|||
class AudioStreamStatsInterface : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Statistics for an audio stream.
|
||||
*
|
||||
* <p>Provided in properties of the {@link AudioStats} API.</p>
|
||||
|
@ -88,7 +88,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
* <em>Read-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the ratio of the total number of audio packets lost to the total number of audio packets expected changes.
|
||||
* @function AudioStats.AudioStreamStats.lossRateChanged
|
||||
* @param {number} lossRate - The ratio of the total number of audio packets lost to the total number of audio packets
|
||||
|
@ -97,7 +97,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, lossRate)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the total number of audio packets lost changes.
|
||||
* @function AudioStats.AudioStreamStats.lossCountChanged
|
||||
* @param {number} lossCount - The total number of audio packets lost.
|
||||
|
@ -105,7 +105,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, lossCount)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the ratio of the number of audio packets lost to the number of audio packets expected since the previous
|
||||
* statistic changes.
|
||||
* @function AudioStats.AudioStreamStats.lossRateWindowChanged
|
||||
|
@ -115,7 +115,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, lossRateWindow)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the number of audio packets lost since the previous statistic changes.
|
||||
* @function AudioStats.AudioStreamStats.lossCountWindowChanged
|
||||
* @param {number} lossCountWindow - The number of audio packets lost since the previous statistic.
|
||||
|
@ -123,7 +123,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, lossCountWindow)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the desired number of audio frames for the jitter buffer changes.
|
||||
* @function AudioStats.AudioStreamStats.framesDesiredChanged
|
||||
* @param {number} framesDesired - The desired number of audio frames for the jitter buffer.
|
||||
|
@ -131,7 +131,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, framesDesired)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the number of audio frames containing data available changes.
|
||||
* @function AudioStats.AudioStreamStats.framesAvailableChanged
|
||||
* @param {number} framesAvailable - The number of audio frames containing data available.
|
||||
|
@ -139,7 +139,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, framesAvailable)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the time-weighted average of audio frames containing data available changes.
|
||||
* @function AudioStats.AudioStreamStats.framesAvailableAvgChanged
|
||||
* @param {number} framesAvailableAvg - The time-weighted average of audio frames containing data available.
|
||||
|
@ -147,7 +147,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, framesAvailableAvg)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the duration of audio waiting to be played changes.
|
||||
* @function AudioStats.AudioStreamStats.unplayedMsMaxChanged
|
||||
* @param {number} unplayedMsMax - The duration of audio waiting to be played, in ms.
|
||||
|
@ -155,7 +155,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, unplayedMsMax)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the total number of times that audio frames have not been available for processing changes.
|
||||
* @function AudioStats.AudioStreamStats.starveCountChanged
|
||||
* @param {number} starveCount - The total number of times that audio frames have not been available for processing.
|
||||
|
@ -163,7 +163,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, starveCount)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the most recenbernumber of consecutive times that audio frames have not been available for processing
|
||||
* changes.
|
||||
* @function AudioStats.AudioStreamStats.lastStarveDurationCountChanged
|
||||
|
@ -173,7 +173,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, lastStarveDurationCount)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the number of silent or old audio frames dropped changes.
|
||||
* @function AudioStats.AudioStreamStats.dropCountChanged
|
||||
* @param {number} dropCount - The number of silent or old audio frames dropped.
|
||||
|
@ -181,7 +181,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, dropCount)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the number of times that the audio ring buffer has overflowed changes.
|
||||
* @function AudioStats.AudioStreamStats.overflowCountChanged
|
||||
* @param {number} overflowCount - The number of times that the audio ring buffer has overflowed.
|
||||
|
@ -189,7 +189,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(int, overflowCount)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the overall maximum time between data packets changes.
|
||||
* @function AudioStats.AudioStreamStats.timegapMsMaxChanged
|
||||
* @param {number} timegapMsMax - The overall maximum time between data packets, in ms.
|
||||
|
@ -197,7 +197,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, timegapMsMax)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the overall average time between data packets changes.
|
||||
* @function AudioStats.AudioStreamStats.timegapMsAvgChanged
|
||||
* @param {number} timegapMsAvg - The overall average time between data packets, in ms.
|
||||
|
@ -205,7 +205,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, timegapMsAvg)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the recent maximum time between data packets changes.
|
||||
* @function AudioStats.AudioStreamStats.timegapMsMaxWindowChanged
|
||||
* @param {number} timegapMsMaxWindow - The recent maximum time between data packets, in ms.
|
||||
|
@ -213,7 +213,7 @@ class AudioStreamStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, timegapMsMaxWindow)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the recent average time between data packets changes.
|
||||
* @function AudioStats.AudioStreamStats.timegapMsAvgWindowChanged
|
||||
* @param {number} timegapMsAvgWindow - The recent average time between data packets, in ms.
|
||||
|
@ -232,7 +232,7 @@ private:
|
|||
class AudioStatsInterface : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AudioStats</code> API provides statistics of the client and mixer audio.
|
||||
*
|
||||
* @namespace AudioStats
|
||||
|
@ -268,7 +268,7 @@ class AudioStatsInterface : public QObject {
|
|||
* <em>Read-only.</em>
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the ping time to the audio mixer changes.
|
||||
* @function AudioStats.pingMsChanged
|
||||
* @param {number} pingMs - The ping time to the audio mixer, in ms.
|
||||
|
@ -277,7 +277,7 @@ class AudioStatsInterface : public QObject {
|
|||
AUDIO_PROPERTY(float, pingMs);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the maximum duration of a block of audio data recently read from the microphone changes.
|
||||
* @function AudioStats.inputReadMsMaxChanged
|
||||
* @param {number} inputReadMsMax - The maximum duration of a block of audio data recently read from the microphone, in ms.
|
||||
|
@ -285,7 +285,7 @@ class AudioStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, inputReadMsMax);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the maximum duration of microphone audio recently in the input buffer waiting to be played changes.
|
||||
* @function AudioStats.inputUnplayedMsMaxChanged
|
||||
* @param {number} inputUnplayedMsMax - The maximum duration of microphone audio recently in the input buffer waiting to be
|
||||
|
@ -294,7 +294,7 @@ class AudioStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(float, inputUnplayedMsMax);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the maximum duration of output audio recently in the output buffer waiting to be played changes.
|
||||
* @function AudioStats.outputUnplayedMsMaxChanged
|
||||
* @param {number} outputUnplayedMsMax - The maximum duration of output audio recently in the output buffer waiting to be
|
||||
|
@ -304,7 +304,7 @@ class AudioStatsInterface : public QObject {
|
|||
AUDIO_PROPERTY(float, outputUnplayedMsMax);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the overall maximum time between sending data packets to the audio mixer changes.
|
||||
* @function AudioStats.sentTimegapMsMaxChanged
|
||||
* @param {number} sentTimegapMsMax - The overall maximum time between sending data packets to the audio mixer, in ms.
|
||||
|
@ -312,7 +312,7 @@ class AudioStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, sentTimegapMsMax);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the overall average time between sending data packets to the audio mixer changes.
|
||||
* @function AudioStats.sentTimegapMsAvgChanged
|
||||
* @param {number} sentTimegapMsAvg - The overall average time between sending data packets to the audio mixer, in ms.
|
||||
|
@ -320,7 +320,7 @@ class AudioStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, sentTimegapMsAvg);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the recent maximum time between sending data packets to the audio mixer changes.
|
||||
* @function AudioStats.sentTimegapMsMaxWindowChanged
|
||||
* @param {number} sentTimegapMsMaxWindow - The recent maximum time between sending data packets to the audio mixer, in ms.
|
||||
|
@ -328,7 +328,7 @@ class AudioStatsInterface : public QObject {
|
|||
*/
|
||||
AUDIO_PROPERTY(quint64, sentTimegapMsMaxWindow);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the recent average time between sending data packets to the audio mixer changes.
|
||||
* @function AudioStats.sentTimegapMsAvgWindowChanged
|
||||
* @param {number} sentTimegapMsAvgWindow - The recent average time between sending data packets to the audio mixer, in
|
||||
|
@ -358,21 +358,21 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the mixer's stream statistics have been updated.
|
||||
* @function AudioStats.mixerStreamChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void mixerStreamChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the client's stream statisticss have been updated.
|
||||
* @function AudioStats.clientStreamChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void clientStreamChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the injector streams' statistics have been updated.
|
||||
* <p><strong>Note:</strong> The injector streams' statistics are currently not provided.</p>
|
||||
* @function AudioStats.injectorStreamsChanged
|
||||
|
|
|
@ -58,7 +58,7 @@ static void setOption(QScriptValue arguments, const QString name, float defaultV
|
|||
variable = arguments.property(name).isNumber() ? (float)arguments.property(name).toNumber() : defaultValue;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Reverberation options that can be used to initialize an {@link AudioEffectOptions} object when created.
|
||||
* @typedef {object} AudioEffectOptions.ReverbOptions
|
||||
* @property {number} bandwidth=10000 - The corner frequency (Hz) of the low-pass filter at reverb input.
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <QtScript/QScriptContext>
|
||||
#include <QtScript/QScriptEngine>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Audio effect options used by the {@link Audio} API.
|
||||
*
|
||||
* <p>Create using <code>new AudioEffectOptions(...)</code>.</p>
|
||||
|
|
|
@ -47,7 +47,7 @@ QScriptValue injectorOptionsToScriptValue(QScriptEngine* engine, const AudioInje
|
|||
return obj;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Configures where and how an audio injector plays its audio.
|
||||
* @typedef {object} AudioInjector.AudioInjectorOptions
|
||||
* @property {Vec3} position=Vec3.ZERO - The position in the domain to play the sound.
|
||||
|
|
|
@ -120,7 +120,7 @@ private:
|
|||
|
||||
typedef QSharedPointer<Sound> SharedSoundPointer;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An audio resource, created by {@link SoundCache.getSound}, to be played back using {@link Audio.playSound}.
|
||||
* <p>Supported formats:</p>
|
||||
* <ul>
|
||||
|
@ -155,7 +155,7 @@ public:
|
|||
bool isReady() const { return _sound ? _sound->isReady() : false; }
|
||||
float getDuration() { return _sound ? _sound->getDuration() : 0.0f; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the sound has been downloaded and is ready to be played.
|
||||
* @function SoundObject.ready
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -24,7 +24,7 @@ class SoundCacheScriptingInterface : public ScriptableResourceCache, public Depe
|
|||
|
||||
// Properties are copied over from ResourceCache (see ResourceCache.h for reason).
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>SoundCache</code> API manages sound cache resources.
|
||||
*
|
||||
* @namespace SoundCache
|
||||
|
@ -53,7 +53,7 @@ class SoundCacheScriptingInterface : public ScriptableResourceCache, public Depe
|
|||
public:
|
||||
SoundCacheScriptingInterface();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Loads the content of an audio file into a {@link SoundObject}, ready for playback by {@link Audio.playSound}.
|
||||
* @function SoundCache.getSound
|
||||
* @param {string} url - The URL of the audio file to load — Web, ATP, or file. See {@link SoundObject} for supported
|
||||
|
|
|
@ -531,7 +531,7 @@ void Avatar::relayJointDataToChildren() {
|
|||
_reconstructSoftEntitiesJointMap = false;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>An avatar has different types of data simulated at different rates, in Hz.</p>
|
||||
*
|
||||
* <table>
|
||||
|
@ -1918,7 +1918,7 @@ void Avatar::setParentJointIndex(quint16 parentJointIndex) {
|
|||
}
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about a joint in an avatar's skeleton hierarchy.
|
||||
* @typedef {object} SkeletonJoint
|
||||
* @property {string} name - Joint name.
|
||||
|
|
|
@ -204,7 +204,7 @@ public:
|
|||
|
||||
std::vector<AvatarSkeletonTrait::UnpackedJointData> getSkeletonDefaultData();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default rotation of a joint (in the current avatar) relative to its parent.
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
|
||||
|
@ -214,7 +214,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::quat getDefaultJointRotation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default translation of a joint (in the current avatar) relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -226,7 +226,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::vec3 getDefaultJointTranslation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default joint rotations in avatar coordinates.
|
||||
* The default pose of the avatar is defined by the position and orientation of all bones
|
||||
* in the avatar's model file. Typically this is a T-pose.
|
||||
|
@ -240,7 +240,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::quat getAbsoluteDefaultJointRotationInObjectFrame(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default joint translations in avatar coordinates.
|
||||
* The default pose of the avatar is defined by the position and orientation of all bones
|
||||
* in the avatar's model file. Typically this is a T-pose.
|
||||
|
@ -259,7 +259,7 @@ public:
|
|||
virtual glm::quat getAbsoluteJointRotationInObjectFrame(int index) const override;
|
||||
virtual glm::vec3 getAbsoluteJointTranslationInObjectFrame(int index) const override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the rotation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>MyAvatar</code> API.</p>
|
||||
* @function MyAvatar.setAbsoluteJointRotationInObjectFrame
|
||||
|
@ -269,7 +269,7 @@ public:
|
|||
*/
|
||||
virtual bool setAbsoluteJointRotationInObjectFrame(int index, const glm::quat& rotation) override { return false; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the translation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>MyAvatar</code> API.</p>
|
||||
* @function MyAvatar.setAbsoluteJointTranslationInObjectFrame
|
||||
|
@ -282,7 +282,7 @@ public:
|
|||
virtual float getSpine2SplineRatio() const { return _spine2SplineRatio; }
|
||||
|
||||
// world-space to avatar-space rigconversion functions
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a position in world coordinates to a position in a joint's coordinates, or avatar coordinates if no joint is
|
||||
* specified.
|
||||
* @function MyAvatar.worldToJointPoint
|
||||
|
@ -292,7 +292,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 worldToJointPoint(const glm::vec3& position, const int jointIndex = -1) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a direction in world coordinates to a direction in a joint's coordinates, or avatar coordinates if no joint
|
||||
* is specified.
|
||||
* @function MyAvatar.worldToJointDirection
|
||||
|
@ -302,7 +302,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 worldToJointDirection(const glm::vec3& direction, const int jointIndex = -1) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a rotation in world coordinates to a rotation in a joint's coordinates, or avatar coordinates if no joint is
|
||||
* specified.
|
||||
* @function MyAvatar.worldToJointRotation
|
||||
|
@ -312,7 +312,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::quat worldToJointRotation(const glm::quat& rotation, const int jointIndex = -1) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a position in a joint's coordinates, or avatar coordinates if no joint is specified, to a position in world
|
||||
* coordinates.
|
||||
* @function MyAvatar.jointToWorldPoint
|
||||
|
@ -322,7 +322,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 jointToWorldPoint(const glm::vec3& position, const int jointIndex = -1) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a direction in a joint's coordinates, or avatar coordinates if no joint is specified, to a direction in world
|
||||
* coordinates.
|
||||
* @function MyAvatar.jointToWorldDirection
|
||||
|
@ -332,7 +332,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 jointToWorldDirection(const glm::vec3& direction, const int jointIndex = -1) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Transforms a rotation in a joint's coordinates, or avatar coordinates if no joint is specified, to a rotation in world
|
||||
* coordinates.
|
||||
* @function MyAvatar.jointToWorldRotation
|
||||
|
@ -350,7 +350,7 @@ public:
|
|||
|
||||
virtual int parseDataFromBuffer(const QByteArray& buffer) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example,
|
||||
* with an offset of <code>{ x: 0, y: 0.1, z: 0 }</code>, your avatar will appear to be raised off the ground slightly.
|
||||
* @function MyAvatar.setSkeletonOffset
|
||||
|
@ -366,7 +366,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setSkeletonOffset(const glm::vec3& offset);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example,
|
||||
* with an offset of <code>{ x: 0, y: 0.1, z: 0 }</code>, your avatar will appear to be raised off the ground slightly.
|
||||
* @function MyAvatar.getSkeletonOffset
|
||||
|
@ -378,7 +378,7 @@ public:
|
|||
|
||||
virtual glm::vec3 getSkeletonPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of a joint in the current avatar.
|
||||
* @function MyAvatar.getJointPosition
|
||||
* @param {number} index - The index of the joint.
|
||||
|
@ -386,7 +386,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getJointPosition(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of a joint in the current avatar.
|
||||
* @function MyAvatar.getJointPosition
|
||||
* @param {string} name - The name of the joint.
|
||||
|
@ -396,7 +396,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getJointPosition(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the current avatar's neck in world coordinates.
|
||||
* @function MyAvatar.getNeckPosition
|
||||
* @returns {Vec3} The position of the neck in world coordinates.
|
||||
|
@ -405,7 +405,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getNeckPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current acceleration of the avatar.
|
||||
* @function MyAvatar.getAcceleration
|
||||
* @returns {Vec3} The current acceleration of the avatar.
|
||||
|
@ -431,7 +431,7 @@ public:
|
|||
|
||||
void getCapsule(glm::vec3& start, glm::vec3& end, float& radius);
|
||||
float computeMass();
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the current avatar's feet (or rather, bottom of its collision capsule) in world coordinates.
|
||||
* @function MyAvatar.getWorldFeetPosition
|
||||
* @returns {Vec3} The position of the avatar's feet in world coordinates.
|
||||
|
@ -441,7 +441,7 @@ public:
|
|||
void setPositionViaScript(const glm::vec3& position) override;
|
||||
void setOrientationViaScript(const glm::quat& orientation) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the entity or avatar that the avatar is parented to.
|
||||
* @function MyAvatar.getParentID
|
||||
* @returns {Uuid} The ID of the entity or avatar that the avatar is parented to. {@link Uuid(0)|Uuid.NULL} if not parented.
|
||||
|
@ -449,7 +449,7 @@ public:
|
|||
// This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript.
|
||||
Q_INVOKABLE virtual const QUuid getParentID() const override { return SpatiallyNestable::getParentID(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the ID of the entity or avatar that the avatar is parented to.
|
||||
* @function MyAvatar.setParentID
|
||||
* @param {Uuid} parentID - The ID of the entity or avatar that the avatar should be parented to. Set to
|
||||
|
@ -458,7 +458,7 @@ public:
|
|||
// This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript.
|
||||
Q_INVOKABLE virtual void setParentID(const QUuid& parentID) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the joint of the entity or avatar that the avatar is parented to.
|
||||
* @function MyAvatar.getParentJointIndex
|
||||
* @returns {number} The joint of the entity or avatar that the avatar is parented to. <code>65535</code> or
|
||||
|
@ -467,7 +467,7 @@ public:
|
|||
// This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript.
|
||||
Q_INVOKABLE virtual quint16 getParentJointIndex() const override { return SpatiallyNestable::getParentJointIndex(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the joint of the entity or avatar that the avatar is parented to.
|
||||
* @function MyAvatar.setParentJointIndex
|
||||
* @param {number} parentJointIndex - The joint of the entity or avatar that the avatar should be parented to. Use
|
||||
|
@ -477,7 +477,7 @@ public:
|
|||
// This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript.
|
||||
Q_INVOKABLE virtual void setParentJointIndex(quint16 parentJointIndex) override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information on all the joints in the avatar's skeleton.
|
||||
* @function MyAvatar.getSkeleton
|
||||
* @returns {SkeletonJoint[]} Information about each joint in the avatar's skeleton.
|
||||
|
@ -497,7 +497,7 @@ public:
|
|||
void setTargetScale(float targetScale) override;
|
||||
float getTargetScale() const { return _targetScale; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function MyAvatar.getSimulationRate
|
||||
* @param {AvatarSimulationRate} [rateName=""] - Rate name.
|
||||
* @returns {number} Simulation rate in Hz.
|
||||
|
@ -556,7 +556,7 @@ public:
|
|||
uint32_t appendSubMetaItems(render::ItemIDs& subItems);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's target scale is changed. The target scale is the desired scale of the avatar without any
|
||||
* restrictions on permissible scale values imposed by the domain.
|
||||
* @function MyAvatar.targetScaleChanged
|
||||
|
@ -570,7 +570,7 @@ public slots:
|
|||
// FIXME - these should be migrated to use Pose data instead
|
||||
// thread safe, will return last valid palm from cache
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the left palm in world coordinates.
|
||||
* @function MyAvatar.getLeftPalmPosition
|
||||
* @returns {Vec3} The position of the left palm in world coordinates.
|
||||
|
@ -579,7 +579,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getLeftPalmPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of the left palm in world coordinates.
|
||||
* @function MyAvatar.getLeftPalmRotation
|
||||
* @returns {Quat} The rotation of the left palm in world coordinates.
|
||||
|
@ -588,7 +588,7 @@ public slots:
|
|||
*/
|
||||
glm::quat getLeftPalmRotation() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the right palm in world coordinates.
|
||||
* @function MyAvatar.getRightPalmPosition
|
||||
* @returns {Vec3} The position of the right palm in world coordinates.
|
||||
|
@ -597,7 +597,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getRightPalmPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Get the rotation of the right palm in world coordinates.
|
||||
* @function MyAvatar.getRightPalmRotation
|
||||
* @returns {Quat} The rotation of the right palm in world coordinates.
|
||||
|
@ -606,7 +606,7 @@ public slots:
|
|||
*/
|
||||
glm::quat getRightPalmRotation() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function MyAvatar.setModelURLFinished
|
||||
* @param {boolean} success
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
|
@ -614,14 +614,14 @@ public slots:
|
|||
// hooked up to Model::setURLFinished signal
|
||||
void setModelURLFinished(bool success);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function MyAvatar.rigReady
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
// Hooked up to Model::rigReady signal
|
||||
void rigReady();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function MyAvatar.rigReset
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include "Avatar.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about an avatar.
|
||||
*
|
||||
* <p>Create using {@link MyAvatar.getTargetAvatar} or {@link AvatarList.getAvatar}.</p>
|
||||
|
@ -84,7 +84,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default rotation of a joint in the avatar relative to its parent.
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.</p>
|
||||
|
@ -95,7 +95,7 @@ public slots:
|
|||
*/
|
||||
glm::quat getDefaultJointRotation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the default translation of a joint in the avatar relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -108,7 +108,7 @@ public slots:
|
|||
glm::vec3 getDefaultJointTranslation(int index) const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the offset applied to the avatar for rendering.
|
||||
* @function ScriptAvatar.getSkeletonOffset
|
||||
* @returns {Vec3} The skeleton offset if avatar data are available, otherwise {@link Vec3(0)|Vec3.ZERO}.
|
||||
|
@ -116,7 +116,7 @@ public slots:
|
|||
glm::vec3 getSkeletonOffset() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of a joint in the avatar.
|
||||
* @function ScriptAvatar.getJointPosition
|
||||
* @param {number} index - The index of the joint.
|
||||
|
@ -125,7 +125,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getJointPosition(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of a joint in the current avatar.
|
||||
* @function ScriptAvatar.getJointPosition
|
||||
* @param {string} name - The name of the joint.
|
||||
|
@ -134,7 +134,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getJointPosition(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the current avatar's neck in world coordinates.
|
||||
* @function ScriptAvatar.getNeckPosition
|
||||
* @returns {Vec3} The position of the neck in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't
|
||||
|
@ -143,7 +143,7 @@ public slots:
|
|||
glm::vec3 getNeckPosition() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current acceleration of the avatar.
|
||||
* @function ScriptAvatar.getAcceleration
|
||||
* @returns {Vec3} The current acceleration of the avatar, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't available..
|
||||
|
@ -151,7 +151,7 @@ public slots:
|
|||
glm::vec3 getAcceleration() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the ID of the entity or avatar that the avatar is parented to.
|
||||
* @function ScriptAvatar.getParentID
|
||||
* @returns {Uuid} The ID of the entity or avatar that the avatar is parented to. {@link Uuid(0)|Uuid.NULL} if not parented
|
||||
|
@ -159,7 +159,7 @@ public slots:
|
|||
*/
|
||||
QUuid getParentID() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the joint of the entity or avatar that the avatar is parented to.
|
||||
* @function ScriptAvatar.getParentJointIndex
|
||||
* @returns {number} The joint of the entity or avatar that the avatar is parented to. <code>65535</code> or
|
||||
|
@ -169,7 +169,7 @@ public slots:
|
|||
quint16 getParentJointIndex() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information on all the joints in the avatar's skeleton.
|
||||
* @function ScriptAvatar.getSkeleton
|
||||
* @returns {SkeletonJoint[]} Information about each joint in the avatar's skeleton.
|
||||
|
@ -177,7 +177,7 @@ public slots:
|
|||
QVariantList getSkeleton() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function ScriptAvatar.getSimulationRate
|
||||
* @param {AvatarSimulationRate} [rateName=""] - Rate name.
|
||||
* @returns {number} Simulation rate in Hz, or <code>0.0</code> if avatar data aren't available.
|
||||
|
@ -186,7 +186,7 @@ public slots:
|
|||
float getSimulationRate(const QString& rateName = QString("")) const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the left palm in world coordinates.
|
||||
* @function ScriptAvatar.getLeftPalmPosition
|
||||
* @returns {Vec3} The position of the left palm in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't
|
||||
|
@ -194,7 +194,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getLeftPalmPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of the left palm in world coordinates.
|
||||
* @function ScriptAvatar.getLeftPalmRotation
|
||||
* @returns {Quat} The rotation of the left palm in world coordinates, or {@link Quat(0)|Quat.IDENTITY} if the avatar data
|
||||
|
@ -202,7 +202,7 @@ public slots:
|
|||
*/
|
||||
glm::quat getLeftPalmRotation() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the right palm in world coordinates.
|
||||
* @function ScriptAvatar.getLeftPalmPosition
|
||||
* @returns {Vec3} The position of the right palm in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't
|
||||
|
@ -210,7 +210,7 @@ public slots:
|
|||
*/
|
||||
glm::vec3 getRightPalmPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of the right palm in world coordinates.
|
||||
* @function ScriptAvatar.getLeftPalmRotation
|
||||
* @returns {Quat} The rotation of the right palm in world coordinates, or {@link Quat(0)|Quat.IDENTITY} if the avatar data
|
||||
|
|
|
@ -1491,7 +1491,7 @@ int AvatarData::parseDataFromBuffer(const QByteArray& buffer) {
|
|||
return numBytesRead;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The avatar mixer data comprises different types of data, with the data rates of each being tracked in kbps.</p>
|
||||
*
|
||||
* <table>
|
||||
|
@ -1596,7 +1596,7 @@ float AvatarData::getDataRate(const QString& rateName) const {
|
|||
return 0.0f;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The avatar mixer data comprises different types of data updated at different rates, in Hz.</p>
|
||||
*
|
||||
* <table>
|
||||
|
@ -2926,7 +2926,7 @@ glm::vec3 AvatarData::getAbsoluteJointTranslationInObjectFrame(int index) const
|
|||
return glm::vec3();
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information on an attachment worn by the avatar.
|
||||
* @typedef {object} AttachmentData
|
||||
* @property {string} modelUrl - The URL of the glTF, FBX, or OBJ model file. glTF models may be in JSON or binary format
|
||||
|
@ -3126,7 +3126,7 @@ glm::mat4 AvatarData::getControllerRightHandMatrix() const {
|
|||
return _controllerRightHandMatrixCache.get();
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about a ray-to-avatar intersection.
|
||||
* @typedef {object} RayToAvatarIntersectionResult
|
||||
* @property {boolean} intersects - <code>true</code> if an avatar is intersected, <code>false</code> if it isn't.
|
||||
|
@ -3182,7 +3182,7 @@ float AvatarData::_avatarSortCoefficientSize { 8.0f };
|
|||
float AvatarData::_avatarSortCoefficientCenter { 0.25f };
|
||||
float AvatarData::_avatarSortCoefficientAge { 1.0f };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An object with the UUIDs of avatar entities as keys and avatar entity properties objects as values.
|
||||
* @typedef {Object.<Uuid, Entities.EntityProperties>} AvatarEntityMap
|
||||
*/
|
||||
|
|
|
@ -114,7 +114,7 @@ const int PROCEDURAL_BLINK_FACE_MOVEMENT = 10; // 11th bit
|
|||
const int COLLIDE_WITH_OTHER_AVATARS = 11; // 12th bit
|
||||
const int HAS_HERO_PRIORITY = 12; // 13th bit (be scared)
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The pointing state of the hands is specified by the following values:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -712,7 +712,7 @@ public:
|
|||
void setHasAudioEnabledFaceMovement(bool hasAudioEnabledFaceMovement);
|
||||
bool getHasAudioEnabledFaceMovement() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the minimum scale allowed for this avatar in the current domain.
|
||||
* This value can change as the user changes avatars or when changing domains.
|
||||
* @function Avatar.getDomainMinScale
|
||||
|
@ -720,7 +720,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getDomainMinScale() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the maximum scale allowed for this avatar in the current domain.
|
||||
* This value can change as the user changes avatars or when changing domains.
|
||||
* @function Avatar.getDomainMaxScale
|
||||
|
@ -736,7 +736,7 @@ public:
|
|||
// not all subclasses of AvatarData have access to this data.
|
||||
virtual bool canMeasureEyeHeight() const { return false; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current eye height of the avatar.
|
||||
* This height is only an estimate and might be incorrect for avatars that are missing standard joints.
|
||||
* @function Avatar.getEyeHeight
|
||||
|
@ -744,7 +744,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual float getEyeHeight() const { return _targetScale * getUnscaledEyeHeight(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current height of the avatar.
|
||||
* This height is only an estimate and might be incorrect for avatars that are missing standard joints.
|
||||
* @function Avatar.getHeight
|
||||
|
@ -757,7 +757,7 @@ public:
|
|||
void setDomainMinimumHeight(float domainMinimumHeight);
|
||||
void setDomainMaximumHeight(float domainMaximumHeight);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the pointing state of the hands to control where the laser emanates from. If the right index finger is pointing, the
|
||||
* laser emanates from the tip of that finger, otherwise it emanates from the palm.
|
||||
* @function Avatar.setHandState
|
||||
|
@ -765,7 +765,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setHandState(char s) { _handState = s; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the pointing state of the hands to control where the laser emanates from. If the right index finger is pointing, the
|
||||
* laser emanates from the tip of that finger, otherwise it emanates from the palm.
|
||||
* @function Avatar.getHandState
|
||||
|
@ -775,7 +775,7 @@ public:
|
|||
|
||||
const QVector<JointData>& getRawJointData() const { return _jointData; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets joint translations and rotations from raw joint data.
|
||||
* @function Avatar.setRawJointData
|
||||
* @param {JointData[]} data - The raw joint data.
|
||||
|
@ -783,7 +783,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setRawJointData(QVector<JointData> data);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's rotation and position relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
|
@ -814,7 +814,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointData(int index, const glm::quat& rotation, const glm::vec3& translation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's rotation relative to its parent.
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
* kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints,
|
||||
|
@ -827,7 +827,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointRotation(int index, const glm::quat& rotation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's translation relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
|
@ -841,7 +841,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointTranslation(int index, const glm::vec3& translation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Clears joint translations and rotations set by script for a specific joint. This restores all motion from the default
|
||||
* animation system including inverse kinematics for that joint.
|
||||
* <p>Note: This is slightly faster than the function variation that specifies the joint name.</p>
|
||||
|
@ -850,7 +850,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void clearJointData(int index);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks that the data for a joint are valid.
|
||||
* @function Avatar.isJointDataValid
|
||||
* @param {number} index - The index of the joint.
|
||||
|
@ -858,7 +858,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isJointDataValid(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
|
||||
* @function Avatar.getJointRotation
|
||||
|
@ -867,7 +867,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::quat getJointRotation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -878,7 +878,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::vec3 getJointTranslation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's rotation and position relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
|
@ -893,7 +893,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointData(const QString& name, const glm::quat& rotation, const glm::vec3& translation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's rotation relative to its parent.
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
* kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints,
|
||||
|
@ -926,7 +926,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointRotation(const QString& name, const glm::quat& rotation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets a specific joint's translation relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
|
@ -952,7 +952,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointTranslation(const QString& name, const glm::vec3& translation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Clears joint translations and rotations set by script for a specific joint. This restores all motion from the default
|
||||
* animation system including inverse kinematics for that joint.
|
||||
* <p>Note: This is slightly slower than the function variation that specifies the joint index.</p>
|
||||
|
@ -971,7 +971,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void clearJointData(const QString& name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks if the data for a joint are valid.
|
||||
* @function Avatar.isJointDataValid
|
||||
* @param {string} name - The name of the joint.
|
||||
|
@ -979,7 +979,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual bool isJointDataValid(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
|
||||
* @function Avatar.getJointRotation
|
||||
|
@ -992,7 +992,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::quat getJointRotation(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -1007,7 +1007,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual glm::vec3 getJointTranslation(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotations of all joints in the current avatar. Each joint's rotation is relative to its parent joint.
|
||||
* @function Avatar.getJointRotations
|
||||
* @returns {Quat[]} The rotations of all joints relative to each's parent. The values are in the same order as the array
|
||||
|
@ -1019,7 +1019,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual QVector<glm::quat> getJointRotations() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translations of all joints in the current avatar. Each joint's translation is relative to its parent joint, in
|
||||
* model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
|
@ -1030,7 +1030,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual QVector<glm::vec3> getJointTranslations() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the rotations of all joints in the current avatar. Each joint's rotation is relative to its parent joint.
|
||||
* <p>Setting joint data completely overrides/replaces all motion from the default animation system including inverse
|
||||
* kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints,
|
||||
|
@ -1068,7 +1068,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointRotations(const QVector<glm::quat>& jointRotations);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the translations of all joints in the current avatar. Each joint's translation is relative to its parent joint, in
|
||||
* model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
|
@ -1084,7 +1084,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setJointTranslations(const QVector<glm::vec3>& jointTranslations);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Clears all joint translations and rotations that have been set by script. This restores all motion from the default
|
||||
* animation system including inverse kinematics for all joints.
|
||||
* @function Avatar.clearJointsData
|
||||
|
@ -1106,7 +1106,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void clearJointsData();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the joint index for a named joint. The joint index value is the position of the joint in the array returned by
|
||||
* {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the <code>Avatar</code> API.
|
||||
* @function Avatar.getJointIndex
|
||||
|
@ -1120,7 +1120,7 @@ public:
|
|||
/// Returns the index of the joint with the specified name, or -1 if not found/unknown.
|
||||
Q_INVOKABLE virtual int getJointIndex(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all the joints in the current avatar.
|
||||
* @function Avatar.getJointNames
|
||||
* @returns {string[]} The joint names.
|
||||
|
@ -1132,7 +1132,7 @@ public:
|
|||
Q_INVOKABLE virtual QStringList getJointNames() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the value of a blend shape to animate your avatar's face. In order for other users to see the resulting animations
|
||||
* on your avatar's face, set <code>hasScriptedBlendshapes</code> to <code>true</code>. When you are done using this API,
|
||||
* set <code>hasScriptedBlendshapes</code> back to <code>false</code> when the animation is complete.
|
||||
|
@ -1149,7 +1149,7 @@ public:
|
|||
Q_INVOKABLE void setBlendshape(QString name, float val) { _headData->setBlendshape(name, val); }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about the models currently attached to your avatar.
|
||||
* @function Avatar.getAttachmentsVariant
|
||||
* @returns {AttachmentData[]} Information about all models attached to your avatar.
|
||||
|
@ -1158,7 +1158,7 @@ public:
|
|||
// FIXME: Can this name be improved? Can it be deprecated?
|
||||
Q_INVOKABLE virtual QVariantList getAttachmentsVariant() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets all models currently attached to your avatar. For example, if you retrieve attachment data using
|
||||
* {@link MyAvatar.getAttachmentsVariant} or {@link Avatar.getAttachmentsVariant}, make changes to it, and then want to
|
||||
* update your avatar's attachments per the changed data.
|
||||
|
@ -1171,7 +1171,7 @@ public:
|
|||
|
||||
virtual void storeAvatarEntityDataPayload(const QUuid& entityID, const QByteArray& payload);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.updateAvatarEntity
|
||||
* @param {Uuid} entityID - The entity ID.
|
||||
* @param {ArrayBuffer} entityData - Entity data.
|
||||
|
@ -1179,7 +1179,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void updateAvatarEntity(const QUuid& entityID, const QByteArray& entityData);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.clearAvatarEntity
|
||||
* @param {Uuid} entityID - The entity ID.
|
||||
* @param {boolean} [requiresRemovalFromTree=true] - unused
|
||||
|
@ -1194,7 +1194,7 @@ public:
|
|||
|
||||
QList<QUuid> getAvatarEntityIDs() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables blend shapes set using {@link Avatar.setBlendshape} or {@link MyAvatar.setBlendshape} to be transmitted to other
|
||||
* users so that they can see the animation of your avatar's face.
|
||||
* <p class="important">Deprecated: This method is deprecated and will be removed. Use the
|
||||
|
@ -1243,7 +1243,7 @@ public:
|
|||
const QString& getSessionDisplayName() const { return _sessionDisplayName; }
|
||||
bool getLookAtSnappingEnabled() const { return _lookAtSnappingEnabled; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the avatar's skeleton model.
|
||||
* @function Avatar.setSkeletonModelURL
|
||||
* @param {string} url - The avatar's FST file.
|
||||
|
@ -1257,7 +1257,7 @@ public:
|
|||
}
|
||||
virtual bool isCertifyFailed() const { return _verificationFailed; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about the models currently attached to your avatar.
|
||||
* @function Avatar.getAttachmentData
|
||||
* @returns {AttachmentData[]} Information about all models attached to your avatar.
|
||||
|
@ -1272,7 +1272,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual QVector<AttachmentData> getAttachmentData() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets all models currently attached to your avatar. For example, if you retrieve attachment data using
|
||||
* {@link MyAvatar.getAttachmentData} or {@link Avatar.getAttachmentData}, make changes to it, and then want to update your avatar's attachments per the
|
||||
* changed data. You can also remove all attachments by using setting <code>attachmentData</code> to <code>null</code>.
|
||||
|
@ -1296,7 +1296,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void setAttachmentData(const QVector<AttachmentData>& attachmentData);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Attaches a model to your avatar. For example, you can give your avatar a hat to wear, a guitar to hold, or a surfboard to
|
||||
* stand on.
|
||||
* @function Avatar.attach
|
||||
|
@ -1340,7 +1340,7 @@ public:
|
|||
float scale = 1.0f, bool isSoft = false,
|
||||
bool allowDuplicates = false, bool useSaved = true);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Detaches the most recently attached instance of a particular model from either a specific joint or any joint.
|
||||
* @function Avatar.detachOne
|
||||
* @param {string} modelURL - The URL of the model to detach.
|
||||
|
@ -1350,7 +1350,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE virtual void detachOne(const QString& modelURL, const QString& jointName = QString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Detaches all instances of a particular model from either a specific joint or all joints.
|
||||
* @function Avatar.detachAll
|
||||
* @param {string} modelURL - The URL of the model to detach.
|
||||
|
@ -1394,7 +1394,7 @@ public:
|
|||
AABox getGlobalBoundingBox() const { return AABox(_globalPosition + _globalBoundingBoxOffset - _globalBoundingBoxDimensions, _globalBoundingBoxDimensions); }
|
||||
AABox getDefaultBubbleBox() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Documented in derived classes' JSDoc because implementations are different.
|
||||
*/
|
||||
// Get avatar entity data with all property values. Used in API.
|
||||
|
@ -1403,7 +1403,7 @@ public:
|
|||
// Get avatar entity data with non-default property values. Used internally.
|
||||
virtual AvatarEntityMap getAvatarEntityDataNonDefault() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @comment Documented in derived classes' JSDoc because implementations are different.
|
||||
*/
|
||||
Q_INVOKABLE virtual void setAvatarEntityData(const AvatarEntityMap& avatarEntityData);
|
||||
|
@ -1411,7 +1411,7 @@ public:
|
|||
void setAvatarEntityDataChanged(bool value) { _avatarEntityDataChanged = value; }
|
||||
AvatarEntityIDs getAndClearRecentlyRemovedIDs();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the transform from the user's real world to the avatar's size, orientation, and position in the virtual world.
|
||||
* @function Avatar.getSensorToWorldMatrix
|
||||
* @returns {Mat4} The scale, rotation, and translation transform from the user's real world to the avatar's size,
|
||||
|
@ -1428,7 +1428,7 @@ public:
|
|||
// thread safe
|
||||
Q_INVOKABLE glm::mat4 getSensorToWorldMatrix() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the scale that transforms dimensions in the user's real world to the avatar's size in the virtual world.
|
||||
* @function Avatar.getSensorToWorldScale
|
||||
* @returns {number} The scale that transforms dimensions in the user's real world to the avatar's size in the virtual
|
||||
|
@ -1437,7 +1437,7 @@ public:
|
|||
// thread safe
|
||||
Q_INVOKABLE float getSensorToWorldScale() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation and translation of the left hand controller relative to the avatar.
|
||||
* @function Avatar.getControllerLeftHandMatrix
|
||||
* @returns {Mat4} The rotation and translation of the left hand controller relative to the avatar.
|
||||
|
@ -1453,7 +1453,7 @@ public:
|
|||
// thread safe
|
||||
Q_INVOKABLE glm::mat4 getControllerLeftHandMatrix() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation and translation of the right hand controller relative to the avatar.
|
||||
* @function Avatar.getControllerRightHandMatrix
|
||||
* @returns {Mat4} The rotation and translation of the right hand controller relative to the avatar.
|
||||
|
@ -1462,7 +1462,7 @@ public:
|
|||
Q_INVOKABLE glm::mat4 getControllerRightHandMatrix() const;
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the amount of avatar mixer data being generated by the avatar.
|
||||
* @function Avatar.getDataRate
|
||||
* @param {AvatarDataRate} [rateName=""] - The type of avatar mixer data to get the data rate of.
|
||||
|
@ -1470,7 +1470,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getDataRate(const QString& rateName = QString("")) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the update rate of avatar mixer data being generated by the avatar.
|
||||
* @function Avatar.getUpdateRate
|
||||
* @param {AvatarUpdateRate} [rateName=""] - The type of avatar mixer data to get the update rate of.
|
||||
|
@ -1522,7 +1522,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>displayName</code> property value changes.
|
||||
* @function Avatar.displayNameChanged
|
||||
* @returns {Signal}
|
||||
|
@ -1535,7 +1535,7 @@ signals:
|
|||
*/
|
||||
void displayNameChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>sessionDisplayName</code> property value changes.
|
||||
* @function Avatar.sessionDisplayNameChanged
|
||||
* @returns {Signal}
|
||||
|
@ -1548,7 +1548,7 @@ signals:
|
|||
*/
|
||||
void sessionDisplayNameChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) changes.
|
||||
* @function Avatar.skeletonModelURLChanged
|
||||
* @returns {Signal}
|
||||
|
@ -1561,7 +1561,7 @@ signals:
|
|||
*/
|
||||
void skeletonModelURLChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>lookAtSnappingEnabled</code> property value changes.
|
||||
* @function Avatar.lookAtSnappingChanged
|
||||
* @param {boolean} enabled - <code>true</code> if look-at snapping is enabled, <code>false</code> if not.
|
||||
|
@ -1575,7 +1575,7 @@ signals:
|
|||
*/
|
||||
void lookAtSnappingChanged(bool enabled);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>sessionUUID</code> property value changes.
|
||||
* @function Avatar.sessionUUIDChanged
|
||||
* @returns {Signal}
|
||||
|
@ -1590,7 +1590,7 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.sendAvatarDataPacket
|
||||
* @param {boolean} [sendAll=false] - Send all.
|
||||
* @returns {number}
|
||||
|
@ -1598,14 +1598,14 @@ public slots:
|
|||
*/
|
||||
virtual int sendAvatarDataPacket(bool sendAll = false);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.sendIdentityPacket
|
||||
* @returns {number}
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
int sendIdentityPacket();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.setSessionUUID
|
||||
* @param {Uuid} sessionUUID - Session UUID.
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
|
@ -1622,7 +1622,7 @@ public slots:
|
|||
}
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>Avatar</code> API.</p>
|
||||
* @function Avatar.getAbsoluteJointRotationInObjectFrame
|
||||
|
@ -1631,7 +1631,7 @@ public slots:
|
|||
*/
|
||||
virtual glm::quat getAbsoluteJointRotationInObjectFrame(int index) const override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>Avatar</code> API.</p>
|
||||
* @function Avatar.getAbsoluteJointTranslationInObjectFrame
|
||||
|
@ -1640,7 +1640,7 @@ public slots:
|
|||
*/
|
||||
virtual glm::vec3 getAbsoluteJointTranslationInObjectFrame(int index) const override;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the rotation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>Avatar</code> API.</p>
|
||||
* @function Avatar.setAbsoluteJointRotationInObjectFrame
|
||||
|
@ -1650,7 +1650,7 @@ public slots:
|
|||
*/
|
||||
virtual bool setAbsoluteJointRotationInObjectFrame(int index, const glm::quat& rotation) override { return false; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the translation of a joint relative to the avatar.
|
||||
* <p><strong>Warning:</strong> Not able to be used in the <code>Avatar</code> API.</p>
|
||||
* @function Avatar.setAbsoluteJointTranslationInObjectFrame
|
||||
|
@ -1660,7 +1660,7 @@ public slots:
|
|||
*/
|
||||
virtual bool setAbsoluteJointTranslationInObjectFrame(int index, const glm::vec3& translation) override { return false; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the target scale of the avatar without any restrictions on permissible values imposed by the domain. In contrast, the
|
||||
* <code>scale</code> property's value may be limited by the domain's settings.
|
||||
* @function Avatar.getTargetScale
|
||||
|
@ -1673,7 +1673,7 @@ public slots:
|
|||
*/
|
||||
float getTargetScale() const { return _targetScale; } // why is this a slot?
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Avatar.resetLastSent
|
||||
* @deprecated This function is deprecated and will be removed.
|
||||
*/
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
const int CLIENT_TO_AVATAR_MIXER_BROADCAST_FRAMES_PER_SECOND = 50;
|
||||
const quint64 MIN_TIME_BETWEEN_MY_AVATAR_DATA_SENDS = USECS_PER_SECOND / CLIENT_TO_AVATAR_MIXER_BROADCAST_FRAMES_PER_SECOND;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>AvatarList</code> API provides information about avatars within the current domain.
|
||||
*
|
||||
* <p><strong>Warning:</strong> An API named "<code>AvatarList</code>" is also provided for Interface, client entity, and avatar
|
||||
|
@ -80,7 +80,7 @@ public:
|
|||
|
||||
// Currently, your own avatar will be included as the null avatar id.
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the IDs of all avatars in the domain.
|
||||
* <p><strong>Warning:</strong> If the AC script is acting as an avatar (i.e., <code>Agent.isAvatar == true</code>) the
|
||||
* avatar's ID is NOT included in results.</p>
|
||||
|
@ -92,7 +92,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVector<QUuid> getAvatarIdentifiers();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the IDs of all avatars within a specified distance from a point.
|
||||
* <p><strong>Warning:</strong> If the AC script is acting as an avatar (i.e., <code>Agent.isAvatar == true</code>) the
|
||||
* avatar's ID is NOT included in results.</p>
|
||||
|
@ -107,7 +107,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVector<QUuid> getAvatarsInRange(const glm::vec3& position, float rangeMeters) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about an avatar.
|
||||
* @function AvatarList.getAvatar
|
||||
* @param {Uuid} avatarID - The ID of the avatar.
|
||||
|
@ -126,7 +126,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an avatar arrives in the domain.
|
||||
* @function AvatarList.avatarAddedEvent
|
||||
* @param {Uuid} sessionUUID - The ID of the avatar that arrived in the domain.
|
||||
|
@ -140,7 +140,7 @@ signals:
|
|||
*/
|
||||
void avatarAddedEvent(const QUuid& sessionUUID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an avatar leaves the domain.
|
||||
* @function AvatarList.avatarRemovedEvent
|
||||
* @param {Uuid} sessionUUID - The ID of the avatar that left the domain.
|
||||
|
@ -154,7 +154,7 @@ signals:
|
|||
*/
|
||||
void avatarRemovedEvent(const QUuid& sessionUUID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an avatar's session ID changes.
|
||||
* @function AvatarList.avatarSessionChangedEvent
|
||||
* @param {Uuid} newSessionUUID - The new session ID.
|
||||
|
@ -171,7 +171,7 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether there is an avatar within a specified distance from a point.
|
||||
* @function AvatarList.isAvatarInRange
|
||||
* @param {string} position - The test position.
|
||||
|
@ -183,7 +183,7 @@ public slots:
|
|||
|
||||
protected slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarList.sessionUUIDChanged
|
||||
* @param {Uuid} sessionUUID - New session ID.
|
||||
* @param {Uuid} oldSessionUUID - Old session ID.
|
||||
|
@ -191,7 +191,7 @@ protected slots:
|
|||
*/
|
||||
void sessionUUIDChanged(const QUuid& sessionUUID, const QUuid& oldUUID);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarList.processAvatarDataPacket
|
||||
* @param {object} message - Message.
|
||||
* @param {object} sendingNode - Sending node.
|
||||
|
@ -199,7 +199,7 @@ protected slots:
|
|||
*/
|
||||
void processAvatarDataPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarList.processAvatarIdentityPacket
|
||||
* @param {object} message - Message.
|
||||
* @param {object} sendingNode - Sending node.
|
||||
|
@ -207,7 +207,7 @@ protected slots:
|
|||
*/
|
||||
void processAvatarIdentityPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarList.processBulkAvatarTraits
|
||||
* @param {object} message - Message.
|
||||
* @param {object} sendingNode - Sending node.
|
||||
|
@ -215,7 +215,7 @@ protected slots:
|
|||
*/
|
||||
void processBulkAvatarTraits(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function AvatarList.processKillAvatar
|
||||
* @param {object} message - Message.
|
||||
* @param {object} sendingNode - Sending node.
|
||||
|
|
|
@ -107,7 +107,7 @@ public:
|
|||
//
|
||||
QString getSkeletonModelURLFromScript() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the pointing state of the hands to control where the laser emanates from. If the right index finger is pointing, the
|
||||
* laser emanates from the tip of that finger, otherwise it emanates from the palm.
|
||||
* @function ScriptAvatar.getHandState
|
||||
|
@ -115,7 +115,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE char getHandState() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
|
||||
* @function ScriptAvatar.getJointRotation
|
||||
|
@ -125,7 +125,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::quat getJointRotation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -137,7 +137,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getJointTranslation(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see
|
||||
* <a href="https://docs.vircadia.dev/create/avatars/avatar-standards.html">Avatar Standards</a>.
|
||||
* @function ScriptAvatar.getJointRotation
|
||||
|
@ -147,7 +147,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::quat getJointRotation(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to its parent, in model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
* <p>For information on the joint hierarchy used, see
|
||||
|
@ -159,7 +159,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE glm::vec3 getJointTranslation(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotations of all joints in the avatar. Each joint's rotation is relative to its parent joint.
|
||||
* @function ScriptAvatar.getJointRotations
|
||||
* @returns {Quat[]} The rotations of all joints relative to each's parent, or <code>[]</code> if the avatar data aren't
|
||||
|
@ -167,7 +167,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVector<glm::quat> getJointRotations() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translations of all joints in the avatar. Each joint's translation is relative to its parent joint, in
|
||||
* model coordinates.
|
||||
* <p><strong>Warning:</strong> These coordinates are not necessarily in meters.</p>
|
||||
|
@ -178,7 +178,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVector<glm::vec3> getJointTranslations() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks that the data for a joint are valid.
|
||||
* @function ScriptAvatar.isJointDataValid
|
||||
* @param {number} index - The index of the joint.
|
||||
|
@ -187,7 +187,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isJointDataValid(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the joint index for a named joint. The joint index value is the position of the joint in the array returned by
|
||||
* {@linkScriptAvatar.getJointNames}.
|
||||
* @function ScriptAvatar.getJointIndex
|
||||
|
@ -196,14 +196,14 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE int getJointIndex(const QString& name) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all the joints in the avatar.
|
||||
* @function ScriptAvatar.getJointNames
|
||||
* @returns {string[]} The joint names, or <code>[]</code> if the avatar data aren't available.
|
||||
*/
|
||||
Q_INVOKABLE QStringList getJointNames() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets information about the models currently attached to the avatar.
|
||||
* @function ScriptAvatar.getAttachmentData
|
||||
* @returns {AttachmentData[]} Information about all models attached to the avatar, or <code>[]</code> if the avatar data
|
||||
|
@ -233,28 +233,28 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>displayName</code> property value changes.
|
||||
* @function ScriptAvatar.displayNameChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void displayNameChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>sessionDisplayName</code> property value changes.
|
||||
* @function ScriptAvatar.sessionDisplayNameChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void sessionDisplayNameChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's model (i.e., <code>skeletonModelURL</code> property value) changes.
|
||||
* @function ScriptAvatar.skeletonModelURLChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void skeletonModelURLChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the avatar's <code>lookAtSnappingEnabled</code> property value changes.
|
||||
* @function ScriptAvatar.lookAtSnappingChanged
|
||||
* @param {boolean} enabled - <code>true</code> if look-at snapping is enabled, <code>false</code> if not.
|
||||
|
@ -264,7 +264,7 @@ signals:
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the rotation of a joint relative to the avatar.
|
||||
* @function ScriptAvatar.getAbsoluteJointRotationInObjectFrame
|
||||
* @param {number} index - The index of the joint.
|
||||
|
@ -273,7 +273,7 @@ public slots:
|
|||
*/
|
||||
glm::quat getAbsoluteJointRotationInObjectFrame(int index) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the translation of a joint relative to the avatar.
|
||||
* @function ScriptAvatar.getAbsoluteJointTranslationInObjectFrame
|
||||
* @param {number} index - The index of the joint.
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace controller {
|
|||
return std::make_shared<ActionEndpoint>(input);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The <code>Controller.Actions</code> object has properties representing predefined actions on the user's avatar and
|
||||
* Interface. The property values are integer IDs, uniquely identifying each action. <em>Read-only.</em></p>
|
||||
* <p>These actions can be used as end points in the routes of a {@link MappingObject}. The data item routed to each action
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace controller {
|
|||
class Endpoint;
|
||||
using EndpointPointer = std::shared_ptr<Endpoint>;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>Some controller actions may be associated with one or both hands:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -52,7 +52,7 @@ enum Hand {
|
|||
BOTH
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The <code>Controller.Hardware</code> object has properties representing standard and hardware-specific controller and
|
||||
* computer outputs, plus predefined actions on Interface and the user's avatar. <em>Read-only.</em></p>
|
||||
* <p>The outputs can be mapped to actions or functions in a {@link RouteObject} mapping. Additionally, hardware-specific
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace controller {
|
|||
velocity == right.getVelocity() && angularVelocity == right.getAngularVelocity();
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The pose of a joint or other item relative to the world or a parent.
|
||||
* @typedef {object} Pose
|
||||
* @property {Vec3} translation - Translation.
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace controller {
|
|||
ScriptingInterface();
|
||||
virtual ~ScriptingInterface() {};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets a list of all available actions.
|
||||
* @function Controller.getAllActions
|
||||
* @returns {Action[]} All available actions.
|
||||
|
@ -81,7 +81,7 @@ namespace controller {
|
|||
// FIXME: This function causes a JavaScript crash: https://highfidelity.manuscript.com/f/cases/edit/13921
|
||||
Q_INVOKABLE QVector<Action> getAllActions();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets a list of all available inputs for a hardware device.
|
||||
* @function Controller.getAvailableInputs
|
||||
* @param {number} deviceID - Integer ID of the hardware device.
|
||||
|
@ -91,7 +91,7 @@ namespace controller {
|
|||
// FIXME: This function causes a JavaScript crash: https://highfidelity.manuscript.com/f/cases/edit/13922
|
||||
Q_INVOKABLE QVector<Input::NamedPair> getAvailableInputs(unsigned int device);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Finds the name of a particular controller from its device ID.
|
||||
* @function Controller.getDeviceName
|
||||
* @param {number} deviceID - The integer ID of the device.
|
||||
|
@ -105,7 +105,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE QString getDeviceName(unsigned int device);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the current value of an action.
|
||||
* @function Controller.getActionValue
|
||||
* @param {number} actionID - The integer ID of the action.
|
||||
|
@ -120,7 +120,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE float getActionValue(int action);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Finds the ID of a specific controller from its device name.
|
||||
* @function Controller.findDevice
|
||||
* @param {string} deviceName - The name of the device to find.
|
||||
|
@ -131,7 +131,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE int findDevice(QString name);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all currently available controller devices plus "Actions", "Application", and "Standard".
|
||||
* @function Controller.getDeviceNames
|
||||
* @returns {string[]} An array of device names.
|
||||
|
@ -142,7 +142,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE QVector<QString> getDeviceNames();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Finds the ID of an action from its name.
|
||||
* @function Controller.findAction
|
||||
* @param {string} actionName - The name of the action: one of the {@link Controller.Actions} property names.
|
||||
|
@ -155,7 +155,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE int findAction(QString actionName);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all actions available as properties of {@link Controller.Actions}.
|
||||
* @function Controller.getActionNames
|
||||
* @returns {string[]} An array of action names.
|
||||
|
@ -166,7 +166,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE QVector<QString> getActionNames() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the value of a controller button or axis output. Note: Also gets the value of a controller axis output.
|
||||
* @function Controller.getValue
|
||||
* @param {number} source - The {@link Controller.Standard} or {@link Controller.Hardware} item.
|
||||
|
@ -185,7 +185,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE float getValue(const int& source) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the value of a controller axis output. Note: Also gets the value of a controller button output.
|
||||
* @function Controller.getAxisValue
|
||||
* @param {number} source - The {@link Controller.Standard} or {@link Controller.Hardware} item.
|
||||
|
@ -195,7 +195,7 @@ namespace controller {
|
|||
// TODO: getAxisValue() should use const int& parameter? Or others shouldn't?
|
||||
Q_INVOKABLE float getAxisValue(int source) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the value of a controller pose output.
|
||||
* @function Controller.getPoseValue
|
||||
* @param {number} source - The {@link Controller.Standard} or {@link Controller.Hardware} pose output.
|
||||
|
@ -207,7 +207,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE Pose getPoseValue(const int& source) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a haptic pulse on connected and enabled devices that have the capability.
|
||||
* @function Controller.triggerHapticPulse
|
||||
* @param {number} strength - The strength of the haptic pulse, range <code>0.0</code> – <code>1.0</code>.
|
||||
|
@ -224,7 +224,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE bool triggerHapticPulse(float strength, float duration, uint16_t index = 2) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a 250ms haptic pulse on connected and enabled devices that have the capability.
|
||||
* @function Controller.triggerShortHapticPulse
|
||||
* @param {number} strength - The strength of the haptic pulse, range <code>0.0</code> – <code>1.0</code>.
|
||||
|
@ -235,7 +235,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE bool triggerShortHapticPulse(float strength, uint16_t index = 2) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a haptic pulse on a particular device if connected and enabled and it has the capability.
|
||||
* @function Controller.triggerHapticPulseOnDevice
|
||||
* @param {number} deviceID - The ID of the device to trigger the haptic pulse on.
|
||||
|
@ -255,7 +255,7 @@ namespace controller {
|
|||
Q_INVOKABLE bool triggerHapticPulseOnDevice(unsigned int device, float strength, float duration,
|
||||
uint16_t index = 2) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggers a 250ms haptic pulse on a particular device if connected and enabled and it has the capability.
|
||||
* @function Controller.triggerShortHapticPulseOnDevice
|
||||
* @param {number} deviceID - The ID of the device to trigger the haptic pulse on.
|
||||
|
@ -267,7 +267,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE bool triggerShortHapticPulseOnDevice(unsigned int device, float strength, uint16_t index = 2) const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new controller mapping. Routes can then be added to the mapping using {@link MappingObject} methods and
|
||||
* routed to <code>Standard</code> controls, <code>Actions</code>, or script functions using {@link RouteObject}
|
||||
* methods. The mapping can then be enabled using {@link Controller.enableMapping|enableMapping} for it to take effect.
|
||||
|
@ -288,7 +288,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE QObject* newMapping(const QString& mappingName = QUuid::createUuid().toString());
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables a controller mapping. When enabled, the routes in the mapping have effect.
|
||||
* @function Controller.enableMapping
|
||||
* @param {string} mappingName - The name of the mapping.
|
||||
|
@ -296,14 +296,14 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE void enableMapping(const QString& mappingName, bool enable = true);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables a controller mapping. When disabled, the routes in the mapping have no effect.
|
||||
* @function Controller.disableMapping
|
||||
* @param {string} mappingName - The name of the mapping.
|
||||
*/
|
||||
Q_INVOKABLE void disableMapping(const QString& mappingName) { enableMapping(mappingName, false); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new controller mapping from a {@link Controller.MappingJSON|MappingJSON} string. Use
|
||||
* {@link Controller.enableMapping|enableMapping} to enable the mapping for it to take effect.
|
||||
* @function Controller.parseMapping
|
||||
|
@ -326,7 +326,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE QObject* parseMapping(const QString& json);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new controller mapping from a {@link Controller.MappingJSON|MappingJSON} JSON file at a URL. Use
|
||||
* {@link Controller.enableMapping|enableMapping} to enable the mapping for it to take effect.
|
||||
* <p><strong>Warning:</strong> This function is not yet implemented; it doesn't load a mapping and just returns
|
||||
|
@ -338,7 +338,7 @@ namespace controller {
|
|||
Q_INVOKABLE QObject* loadMapping(const QString& jsonUrl);
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the {@link Controller.Hardware} property tree. Calling this function is the same as using the {@link Controller}
|
||||
* property, <code>Controller.Hardware</code>.
|
||||
* @function Controller.getHardware
|
||||
|
@ -346,7 +346,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE const QVariantMap getHardware() { return _hardware; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the {@link Controller.Actions} property tree. Calling this function is the same as using the {@link Controller}
|
||||
* property, <code>Controller.Actions</code>.
|
||||
* @function Controller.getActions
|
||||
|
@ -354,7 +354,7 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE const QVariantMap getActions() { return _actions; } //undefined
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the {@link Controller.Standard} property tree. Calling this function is the same as using the {@link Controller}
|
||||
* property, <code>Controller.Standard</code>.
|
||||
* @function Controller.getStandard
|
||||
|
@ -363,7 +363,7 @@ namespace controller {
|
|||
Q_INVOKABLE const QVariantMap getStandard() { return _standard; }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Starts making a recording of currently active controllers.
|
||||
* @function Controller.startInputRecording
|
||||
* @example <caption>Make a controller recording.</caption>
|
||||
|
@ -383,13 +383,13 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE void startInputRecording();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stops making a recording started by {@link Controller.startInputRecording|startInputRecording}.
|
||||
* @function Controller.stopInputRecording
|
||||
*/
|
||||
Q_INVOKABLE void stopInputRecording();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Plays back the current recording from the beginning. The current recording may have been recorded by
|
||||
* {@link Controller.startInputRecording|startInputRecording} and
|
||||
* {@link Controller.stopInputRecording|stopInputRecording}, or loaded by
|
||||
|
@ -412,13 +412,13 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE void startInputPlayback();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Stops play back of a recording started by {@link Controller.startInputPlayback|startInputPlayback}.
|
||||
* @function Controller.stopInputPlayback
|
||||
*/
|
||||
Q_INVOKABLE void stopInputPlayback();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Saves the current recording to a file. The current recording may have been recorded by
|
||||
* {@link Controller.startInputRecording|startInputRecording} and
|
||||
* {@link Controller.stopInputRecording|stopInputRecording}, or loaded by
|
||||
|
@ -428,21 +428,21 @@ namespace controller {
|
|||
*/
|
||||
Q_INVOKABLE void saveInputRecording();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Loads an input recording, ready for play back.
|
||||
* @function Controller.loadInputRecording
|
||||
* @param {string} file - The path to the recording file, prefixed by <code>"file:///"</code>.
|
||||
*/
|
||||
Q_INVOKABLE void loadInputRecording(const QString& file);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the directory in which input recordings are saved.
|
||||
* @function Controller.getInputRecorderSaveDirectory
|
||||
* @returns {string} The directory in which input recordings are saved.
|
||||
*/
|
||||
Q_INVOKABLE QString getInputRecorderSaveDirectory();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the names of all the active and running (enabled) input devices.
|
||||
* @function Controller.getRunningInputDevices
|
||||
* @returns {string[]} The list of current active and running input devices.
|
||||
|
@ -458,7 +458,7 @@ namespace controller {
|
|||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables processing of mouse "move", "press", "double-press", and "release" events into
|
||||
* {@link Controller.Hardware|Controller.Hardware.Keyboard} outputs.
|
||||
* @function Controller.captureMouseEvents
|
||||
|
@ -486,7 +486,7 @@ namespace controller {
|
|||
*/
|
||||
virtual void captureMouseEvents() { _mouseCaptured = true; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables processing of mouse "move", "press", "double-press", and "release" events into
|
||||
* {@link Controller.Hardware-Keyboard|Controller.Hardware.Keyboard} outputs that were disabled using
|
||||
* {@link Controller.captureMouseEvents|captureMouseEvents}.
|
||||
|
@ -495,7 +495,7 @@ namespace controller {
|
|||
virtual void releaseMouseEvents() { _mouseCaptured = false; }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables processing of touch "begin", "update", and "end" events into
|
||||
* {@link Controller.Hardware|Controller.Hardware.Keyboard},
|
||||
* {@link Controller.Hardware|Controller.Hardware.Touchscreen}, and
|
||||
|
@ -504,7 +504,7 @@ namespace controller {
|
|||
*/
|
||||
virtual void captureTouchEvents() { _touchCaptured = true; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables processing of touch "begin", "update", and "end" events into
|
||||
* {@link Controller.Hardware|Controller.Hardware.Keyboard},
|
||||
* {@link Controller.Hardware|Controller.Hardware.Touchscreen}, and
|
||||
|
@ -515,14 +515,14 @@ namespace controller {
|
|||
virtual void releaseTouchEvents() { _touchCaptured = false; }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables processing of mouse wheel rotation events into {@link Controller.Hardware|Controller.Hardware.Keyboard}
|
||||
* outputs.
|
||||
* @function Controller.captureWheelEvents
|
||||
*/
|
||||
virtual void captureWheelEvents() { _wheelCaptured = true; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables processing of mouse wheel rotation events into {@link Controller.Hardware|Controller.Hardware.Keyboard}
|
||||
* outputs that wer disabled using {@link Controller.captureWheelEvents|captureWheelEvents}.
|
||||
* @function Controller.releaseWheelEvents
|
||||
|
@ -530,7 +530,7 @@ namespace controller {
|
|||
virtual void releaseWheelEvents() { _wheelCaptured = false; }
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables translating and rotating the user's avatar in response to keyboard and controller controls.
|
||||
* @function Controller.captureActionEvents
|
||||
* @example <caption>Disable avatar translation and rotation for a short period.</caption>
|
||||
|
@ -544,14 +544,14 @@ namespace controller {
|
|||
*/
|
||||
virtual void captureActionEvents() { _actionsCaptured = true; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables translating and rotating the user's avatar in response to keyboard and controller controls that were disabled
|
||||
* using {@link Controller.captureActionEvents|captureActionEvents}.
|
||||
* @function Controller.releaseActionEvents
|
||||
*/
|
||||
virtual void releaseActionEvents() { _actionsCaptured = false; }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* @function Controller.updateRunningInputDevices
|
||||
* @param {string} deviceName - Device name.
|
||||
* @param {boolean} isRunning - Is running.
|
||||
|
@ -561,7 +561,7 @@ namespace controller {
|
|||
void updateRunningInputDevices(const QString& deviceName, bool isRunning, const QStringList& runningDevices);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an action occurs.
|
||||
* @function Controller.actionEvent
|
||||
* @param {number} actionID - The ID of the action, per {@link Controller.findAction|findAction}.
|
||||
|
@ -586,7 +586,7 @@ namespace controller {
|
|||
*/
|
||||
void actionEvent(int action, float state);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when there is a new controller input event.
|
||||
* @function Controller.inputEvent
|
||||
* @param {number} action - The input action, per {@link Controller.Standard}.
|
||||
|
@ -610,7 +610,7 @@ namespace controller {
|
|||
*/
|
||||
void inputEvent(int action, float state);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when a device is registered or unregistered by a plugin. Not all plugins generate
|
||||
* <code>hardwareChanged</code> events: for example, connecting or disconnecting a mouse will not generate an event but
|
||||
* connecting or disconnecting an Xbox controller will.
|
||||
|
@ -619,7 +619,7 @@ namespace controller {
|
|||
*/
|
||||
void hardwareChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when an input device starts or stops being active and running (enabled). For example, enabling or
|
||||
* disabling the LeapMotion in Settings > Controls > Calibration will trigger this signal.
|
||||
* @function Controller.inputDeviceRunningChanged
|
||||
|
|
|
@ -27,7 +27,7 @@ void StandardController::focusOutEvent() {
|
|||
_buttonPressedMap.clear();
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>The <code>Controller.Standard</code> object has properties representing standard controller outputs. Those for physical
|
||||
* controllers are based on the XBox controller, with aliases for PlayStation. The property values are integer IDs, uniquely
|
||||
* identifying each output. <em>Read-only.</em></p>
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace controller {
|
|||
class ScriptingInterface;
|
||||
class UserInputMapper;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A {@link Controller} mapping object that can contain a set of routes that map:</p>
|
||||
* <ul>
|
||||
* <li>{@link Controller.Standard} outputs to {@link Controller.Actions} actions or script functions.</li>
|
||||
|
@ -61,7 +61,7 @@ class UserInputMapper;
|
|||
* @hifi-avatar
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A {@link MappingObject} can be specified in JSON format. A simple example is provided below. Full examples — the
|
||||
* default mappings provided in Interface — can be found at
|
||||
* <a href="https://github.com/highfidelity/hifi/tree/master/interface/resources/controllers">
|
||||
|
@ -82,7 +82,7 @@ class UserInputMapper;
|
|||
* }
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A route in a {@link Controller.MappingJSON}.
|
||||
* @typedef {object} Controller.MappingJSONRoute
|
||||
* @property {string|Controller.MappingJSONAxis} from - The name of a {@link Controller.Hardware} property or an axis made from
|
||||
|
@ -97,7 +97,7 @@ class UserInputMapper;
|
|||
* <code>"Controller."</code> can be omitted.
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An axis pair in a {@link Controller.MappingJSONRoute}.
|
||||
* @typedef {object} Controller.MappingJSONAxis
|
||||
* @property {string[][]} makeAxis - A two-member array of single-member arrays of {@link Controller.Hardware} property names.
|
||||
|
@ -110,7 +110,7 @@ class UserInputMapper;
|
|||
* }
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* A filter in a {@link Controller.MappingJSONRoute}.
|
||||
* @typedef {object} Controller.MappingJSONFilter
|
||||
* @property {string} type - The name of the filter, being the name of the one of the {@link RouteObject}'s filter methods.
|
||||
|
@ -134,7 +134,7 @@ public:
|
|||
MappingBuilderProxy(UserInputMapper& parent, Mapping::Pointer mapping)
|
||||
: _parent(parent), _mapping(mapping) { }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new {@link RouteObject} from a controller output, ready to be mapped to a standard control, action, or
|
||||
* function.
|
||||
* <p>This is a QML-specific version of {@link MappingObject#from|from}: use this version in QML files.</p>
|
||||
|
@ -145,7 +145,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QObject* fromQml(const QJSValue& source);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new {@link RouteObject} from two numeric {@link Controller.Hardware} outputs, one applied in the negative
|
||||
* direction and the other in the positive direction, ready to be mapped to a standard control, action, or function.
|
||||
* <p>This is a QML-specific version of {@link MappingObject#makeAxis|makeAxis}: use this version in QML files.</p>
|
||||
|
@ -157,7 +157,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QObject* makeAxisQml(const QJSValue& source1, const QJSValue& source2);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new {@link RouteObject} from a controller output, ready to be mapped to a standard control, action, or
|
||||
* function.
|
||||
* @function MappingObject#from
|
||||
|
@ -167,7 +167,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QObject* from(const QScriptValue& source);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Creates a new {@link RouteObject} from two numeric {@link Controller.Hardware} outputs, one applied in the negative
|
||||
* direction and the other in the positive direction, ready to be mapped to a standard control, action, or function.
|
||||
* @function MappingObject#makeAxis
|
||||
|
@ -189,7 +189,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QObject* makeAxis(const QScriptValue& source1, const QScriptValue& source2);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables the mapping. When enabled, the routes in the mapping take effect.
|
||||
* <p>Synonymous with {@link Controller.enableMapping}.</p>
|
||||
* @function MappingObject#enable
|
||||
|
@ -198,7 +198,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QObject* enable(bool enable = true);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Disables the mapping. When disabled, the routes in the mapping have no effect.
|
||||
* <p>Synonymous with {@link Controller.disableMapping}.</p>
|
||||
* @function MappingObject#disable
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace controller {
|
|||
|
||||
class ScriptingInterface;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>A route in a {@link MappingObject} used by the {@link Controller} API.</p>
|
||||
*
|
||||
* <p>Create a route using {@link MappingObject} methods and apply this object's methods to process it, terminating with
|
||||
|
@ -51,7 +51,7 @@ class RouteBuilderProxy : public QObject {
|
|||
RouteBuilderProxy(UserInputMapper& parent, Mapping::Pointer mapping, Route::Pointer route)
|
||||
: _parent(parent), _mapping(mapping), _route(route) { }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Terminates the route with a standard control, an action, or a script function. The output value from the route is
|
||||
* sent to the specified destination.
|
||||
* <p>This is a QML-specific version of {@link MappingObject#to|to}: use this version in QML files.</p>
|
||||
|
@ -62,7 +62,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE void toQml(const QJSValue& destination);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Processes the route only if a condition is satisfied. The condition is evaluated before the route input is read, and
|
||||
* the input is read only if the condition is <code>true</code>. Thus, if the condition is not met then subsequent
|
||||
* routes using the same input are processed.
|
||||
|
@ -81,7 +81,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* whenQml(const QJSValue& expression);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Terminates the route with a standard control, an action, or a script function. The output value from the route is
|
||||
* sent to the specified destination.
|
||||
* @function RouteObject#to
|
||||
|
@ -117,7 +117,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE void to(const QScriptValue& destination);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Enables or disables writing debug information for a route to the program log.
|
||||
* @function RouteObject#debug
|
||||
* @param {boolean} [enable=true] - If <code>true</code> then writing debug information is enabled for the route,
|
||||
|
@ -147,7 +147,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* debug(bool enable = true);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Processes the route without marking the controller output as having been read, so that other routes from the same
|
||||
* controller output can also process.
|
||||
* @function RouteObject#peek
|
||||
|
@ -157,7 +157,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* peek(bool enable = true);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Processes the route only if a condition is satisfied. The condition is evaluated before the route input is read, and
|
||||
* the input is read only if the condition is <code>true</code>. Thus, if the condition is not met then subsequent
|
||||
* routes using the same input are processed.
|
||||
|
@ -195,7 +195,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* when(const QScriptValue& expression);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values to lie between two values; values outside this range are not passed on through the
|
||||
* route.
|
||||
* @function RouteObject#clamp
|
||||
|
@ -216,7 +216,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* clamp(float min, float max);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values such that they are rounded to <code>0</code> or <code>1</code> without output values
|
||||
* flickering when the input value hovers around <code>0.5</code>. For example, this enables you to use an analog input
|
||||
* as if it were a toggle.
|
||||
|
@ -241,7 +241,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* hysteresis(float min, float max);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values to send at a specified interval.
|
||||
* @function RouteObject#pulse
|
||||
* @param {number} interval - The interval between sending values, in seconds.
|
||||
|
@ -260,7 +260,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* pulse(float interval);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric and {@link Pose} route values to be scaled by a constant amount.
|
||||
* @function RouteObject#scale
|
||||
* @param {number} multiplier - The scale to multiply the value by.
|
||||
|
@ -282,7 +282,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* scale(float multiplier);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric and {@link Pose} route values to have the opposite sign, e.g., <code>0.5</code> is changed to
|
||||
* <code>-0.5</code>.
|
||||
* @function RouteObject#invert
|
||||
|
@ -304,7 +304,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* invert();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values such that they're sent only when the input value is outside a dead-zone. When the input
|
||||
* passes the dead-zone value, output is sent starting at <code>0.0</code> and catching up with the input value. As the
|
||||
* input returns toward the dead-zone value, output values reduce to <code>0.0</code> at the dead-zone value.
|
||||
|
@ -326,7 +326,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* deadZone(float min);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values such that they are rounded to <code>-1</code>, <code>0</code>, or <code>1</code>.
|
||||
* For example, this enables you to use an analog input as if it were a toggle or, in the case of a bidirectional axis,
|
||||
* a tri-state switch.
|
||||
|
@ -347,7 +347,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* constrainToInteger();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values such that they are rounded to <code>0</code> or <code>1</code>. For example, this
|
||||
* enables you to use an analog input as if it were a toggle.
|
||||
* @function RouteObject#constrainToPositiveInteger
|
||||
|
@ -366,7 +366,7 @@ class RouteBuilderProxy : public QObject {
|
|||
*/
|
||||
Q_INVOKABLE QObject* constrainToPositiveInteger();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to have a pre-translation applied.
|
||||
* @function RouteObject#translate
|
||||
* @param {Vec3} translate - The pre-translation to add to the pose.
|
||||
|
@ -375,7 +375,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter not currently used.
|
||||
Q_INVOKABLE QObject* translate(glm::vec3 translate);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to have a pre-transform applied.
|
||||
* @function RouteObject#transform
|
||||
* @param {Mat4} transform - The pre-transform to apply.
|
||||
|
@ -384,7 +384,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter not currently used.
|
||||
Q_INVOKABLE QObject* transform(glm::mat4 transform);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to have a post-transform applied.
|
||||
* @function RouteObject#postTransform
|
||||
* @param {Mat4} transform - The post-transform to apply.
|
||||
|
@ -393,7 +393,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter not currently used.
|
||||
Q_INVOKABLE QObject* postTransform(glm::mat4 transform);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to have a pre-rotation applied.
|
||||
* @function RouteObject#rotate
|
||||
* @param {Quat} rotation - The pre-rotation to add to the pose.
|
||||
|
@ -402,7 +402,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter not currently used.
|
||||
Q_INVOKABLE QObject* rotate(glm::quat rotation);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to be smoothed by a low velocity filter. The filter's rotation and translation
|
||||
* values are calculated as: <code>(1 - f) * currentValue + f * previousValue</code> where
|
||||
* <code>f = currentVelocity / filterConstant</code>. At low velocities, the filter value is largely the previous
|
||||
|
@ -417,7 +417,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter not currently used.
|
||||
Q_INVOKABLE QObject* lowVelocity(float rotationConstant, float translationConstant);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters {@link Pose} route values to be smoothed by an exponential decay filter. The filter's rotation and
|
||||
* translation values are calculated as: <code>filterConstant * currentValue + (1 - filterConstant) *
|
||||
* previousValue</code>. Values near 1 are less smooth with lower latency; values near 0 are more smooth with higher
|
||||
|
@ -430,7 +430,7 @@ class RouteBuilderProxy : public QObject {
|
|||
// No JSDoc example because filter used only in Vive.json.
|
||||
Q_INVOKABLE QObject* exponentialSmoothing(float rotationConstant, float translationConstant);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Filters numeric route values such that a value of <code>0.0</code> is changed to <code>1.0</code>, and other values
|
||||
* are changed to <code>0.0</code>.
|
||||
* @function RouteObject#logicalNot
|
||||
|
|
|
@ -33,14 +33,14 @@ public:
|
|||
virtual bool isMounted() const = 0;
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the <code>HMD.ipdScale</code> property value changes.
|
||||
* @function HMD.IPDScaleChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void IPDScaleChanged();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when Interface's display mode changes and when the user puts on or takes off their HMD.
|
||||
* @function HMD.displayModeChanged
|
||||
* @param {boolean} isHMDMode - <code>true</code> if the display mode is HMD, otherwise <code>false</code>. This is the
|
||||
|
@ -56,7 +56,7 @@ signals:
|
|||
*/
|
||||
void displayModeChanged(bool isHMDMode);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when the <code>HMD.mounted</code> property value changes.
|
||||
* @function HMD.mountedChanged
|
||||
* @returns {Signal}
|
||||
|
|
|
@ -175,7 +175,7 @@ private:
|
|||
ReticleInterface* _reticleInterface { nullptr };
|
||||
};
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>Reticle</code> API provides access to the mouse cursor. The cursor may be an arrow or a reticle circle, depending
|
||||
* on Interface settings. The mouse cursor is visible in HMD mode if controllers aren't being used.
|
||||
*
|
||||
|
@ -221,7 +221,7 @@ class ReticleInterface : public QObject {
|
|||
public:
|
||||
ReticleInterface(CompositorHelper* outer) : QObject(outer), _compositor(outer) {}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Checks whether the mouse cursor is captured, displaying only in Interface and not on the rest of the desktop. The mouse
|
||||
* cursor is captured when in HMD mode and the Interface window content (excluding menu items) has focus, if capturing is
|
||||
* enabled (<code>allowMouseCapture</code> property value is <code>true</code>).
|
||||
|
@ -231,7 +231,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isMouseCaptured() { return _compositor->shouldCaptureMouse(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether the mouse cursor will be captured when in HMD mode and the Interface window content (excluding menu items)
|
||||
* has focus. When captured, the mouse cursor displays only in Interface, not on the rest of the desktop.
|
||||
* @function Reticle.getAllowMouseCapture
|
||||
|
@ -240,7 +240,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool getAllowMouseCapture() { return _compositor->getAllowMouseCapture(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether the mouse cursor will be captured when in HMD mode and the Interface window content (excluding menu items)
|
||||
* has focus. When captured, the mouse cursor displays only in Interface, not on the rest of desktop.
|
||||
* @function Reticle.setAllowMouseCapture
|
||||
|
@ -249,7 +249,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setAllowMouseCapture(bool value) { return _compositor->setAllowMouseCapture(value); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether the mouse cursor is pointing at UI in the Interface window in desktop mode or on the HUD surface in HMD
|
||||
* mode.
|
||||
* @function Reticle.isPointingAtSystemOverlay
|
||||
|
@ -258,7 +258,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool isPointingAtSystemOverlay() { return !_compositor->getReticleOverDesktop(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets whether the reticle circle is visible in desktop mode, or the arrow or reticle circle are visible in HMD mode.
|
||||
* @function Reticle.getVisible
|
||||
* @returns {boolean} <code>true</code> if the reticle circle is visible in desktop mode, and the arrow or
|
||||
|
@ -267,7 +267,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE bool getVisible() { return _compositor->getReticleVisible(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets whether the reticle circle is visible in desktop mode, or the arrow or reticle circle are visible in HMD mode.
|
||||
* @function Reticle.setVisible
|
||||
* @param {boolean} visible - <code>true</code> if the reticle circle is visible in desktop mode, and the arrow or reticle
|
||||
|
@ -276,21 +276,21 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setVisible(bool visible) { _compositor->setReticleVisible(visible); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the depth (distance) that the reticle is displayed at relative to the HMD view, in HMD mode.
|
||||
* @function Reticle.getDepth
|
||||
* @returns {number} The depth (distance) that the reticle is displayed at relative to the HMD view, in HMD mode.
|
||||
*/
|
||||
Q_INVOKABLE float getDepth() { return _compositor->getReticleDepth(); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the depth (distance) that the reticle is displayed at relative to the HMD view, in HMD mode.
|
||||
* @function Reticle.setDepth
|
||||
* @param {number} depth - The depth (distance) that the reticle is displayed at relative to the HMD view, in HMD mode.
|
||||
*/
|
||||
Q_INVOKABLE void setDepth(float depth) { _compositor->setReticleDepth(depth); }
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the scale of the reticle circle in desktop mode, and the arrow and reticle circle in HMD mode. (Does not affect the
|
||||
* size of the arrow in desktop mode.) The default scale is <code>1.0</code>.
|
||||
* @function Reticle.getScale
|
||||
|
@ -298,7 +298,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE float getScale() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the scale of the reticle circle in desktop mode, and the arrow and reticle circle in HMD mode. (Does not affect the
|
||||
* size of the arrow in desktop mode.) The default scale is <code>1.0</code>.
|
||||
* @function Reticle.setScale
|
||||
|
@ -306,7 +306,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setScale(float scale);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the position of the cursor. This is the position relative to the Interface window in desktop mode, and the HUD
|
||||
* surface in HMD mode.
|
||||
* <p><strong>Note:</strong> The position values may be negative.</p>
|
||||
|
@ -315,7 +315,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE QVariant getPosition() const;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Sets the position of the cursor. This is the position relative to the Interface window in desktop mode, and the HUD
|
||||
* surface in HMD mode.
|
||||
* <p><strong>Note:</strong> The position values may be negative.</p>
|
||||
|
@ -324,7 +324,7 @@ public:
|
|||
*/
|
||||
Q_INVOKABLE void setPosition(QVariant position);
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Gets the maximum reticle coordinates on the display device in desktop mode or the HUD surface in HMD mode. (The minimum
|
||||
* reticle coordinates on the desktop display device or HUD surface are <code>0</code>, <code>0</code>.)
|
||||
* @function Reticle.getMaximumPosition
|
||||
|
|
|
@ -27,7 +27,7 @@ class OctreePacketData;
|
|||
class EntityTreeElementExtraEncodeData;
|
||||
class ReadBitstreamToTreeParams;
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Ambient light is defined by the following properties:
|
||||
* @typedef {object} Entities.AmbientLight
|
||||
* @property {number} ambientIntensity=0.5 - The intensity of the light.
|
||||
|
|
|
@ -47,7 +47,7 @@ bool operator!=(const AnimationPropertyGroup& a, const AnimationPropertyGroup& b
|
|||
}
|
||||
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* An animation is configured by the following properties:
|
||||
* @typedef {object} Entities.AnimationProperties
|
||||
* @property {string} url="" - The URL of the glTF or FBX file that has the animation. glTF files may be in JSON or binary
|
||||
|
|
|
@ -30,7 +30,7 @@ static const float INITIAL_BLOOM_INTENSITY { 0.25f };
|
|||
static const float INITIAL_BLOOM_THRESHOLD { 0.7f };
|
||||
static const float INITIAL_BLOOM_SIZE { 0.9f };
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Bloom is defined by the following properties:
|
||||
* @typedef {object} Entities.Bloom
|
||||
* @property {number} bloomIntensity=0.25 - The intensity of the bloom effect.
|
||||
|
|
|
@ -93,7 +93,7 @@ variables. These argument variables are used by the code which is run when bull
|
|||
|
||||
#include "EntityItem.h"
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* <p>An entity action may be one of the following types:</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
|
|
@ -664,7 +664,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
return changedProperties;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Different entity types have different properties: some common to all entities (listed in the table) and some specific to
|
||||
* each {@link Entities.EntityType|EntityType} (linked to below).
|
||||
*
|
||||
|
@ -871,7 +871,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @see {@link Entities.EntityProperties-Zone|EntityProperties-Zone}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Box"</code> {@link Entities.EntityType|EntityType} is the same as the <code>"Shape"</code>
|
||||
* {@link Entities.EntityType|EntityType} except that its <code>shape</code> value is always set to <code>"Cube"</code>
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
|
@ -882,7 +882,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @see {@link Entities.EntityProperties-Shape|EntityProperties-Shape}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Light"</code> {@link Entities.EntityType|EntityType} adds local lighting effects. It has properties in addition
|
||||
* to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -911,7 +911,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Line"</code> {@link Entities.EntityType|EntityType} draws thin, straight lines between a sequence of two or more
|
||||
* points. It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
* <p class=important>Deprecated: Use {@link Entities.EntityProperties-PolyLine|PolyLine} entities instead.</p>
|
||||
|
@ -939,7 +939,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Material"</code> {@link Entities.EntityType|EntityType} modifies existing materials on entities and avatars. It
|
||||
* has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
* <p>To apply a material to an entity, set the material entity's <code>parentID</code> property to the entity ID.
|
||||
|
@ -1005,7 +1005,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Model"</code> {@link Entities.EntityType|EntityType} displays a glTF, FBX, or OBJ model. When adding an entity,
|
||||
* if no <code>dimensions</code> value is specified then the model is automatically sized to its
|
||||
* <code>{@link Entities.EntityProperties|naturalDimensions}</code>. It has properties in addition to the common
|
||||
|
@ -1077,7 +1077,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"ParticleEffect"</code> {@link Entities.EntityType|EntityType} displays a particle system that can be used to
|
||||
* simulate things such as fire, smoke, snow, magic spells, etc. The particles emanate from an ellipsoid or part thereof.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
|
@ -1194,7 +1194,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"PolyLine"</code> {@link Entities.EntityType|EntityType} draws textured, straight lines between a sequence of
|
||||
* points. It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1244,7 +1244,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"PolyVox"</code> {@link Entities.EntityType|EntityType} displays a set of textured voxels.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
* If you have two or more neighboring PolyVox entities of the same size abutting each other, you can display them as joined by
|
||||
|
@ -1298,7 +1298,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* Entities.setVoxelSphere(polyVox, position, 0.8, 255);
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Shape"</code> {@link Entities.EntityType|EntityType} displays an entity of a specified <code>shape</code>.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1319,7 +1319,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Sphere"</code> {@link Entities.EntityType|EntityType} is the same as the <code>"Shape"</code>
|
||||
* {@link Entities.EntityType|EntityType} except that its <code>shape</code> value is always set to <code>"Sphere"</code>
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
|
@ -1330,7 +1330,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @see {@link Entities.EntityProperties-Shape|EntityProperties-Shape}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Text"</code> {@link Entities.EntityType|EntityType} displays a 2D rectangle of text in the domain.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1376,7 +1376,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Web"</code> {@link Entities.EntityType|EntityType} displays a browsable web page. Each user views their own copy
|
||||
* of the web page: if one user navigates to another page on the entity, other users do not see the change; if a video is being
|
||||
* played, users don't see it in sync. It has properties in addition to the common
|
||||
|
@ -1430,7 +1430,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Zone"</code> {@link Entities.EntityType|EntityType} is a volume of lighting effects and avatar permissions.
|
||||
* Avatar interaction events such as {@link Entities.enterEntity} are also often used with a Zone entity. It has properties in
|
||||
* addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
|
@ -1496,7 +1496,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Image"</code> {@link Entities.EntityType|EntityType} displays an image on a 2D rectangle in the domain.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1531,7 +1531,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Grid"</code> {@link Entities.EntityType|EntityType} displays a grid on a 2D plane.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1559,7 +1559,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* });
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>"Gizmo"</code> {@link Entities.EntityType|EntityType} displays an entity that could be used as UI.
|
||||
* It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
|
@ -1943,7 +1943,7 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
|||
_ring.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The axis-aligned bounding box of an entity.
|
||||
* @typedef {object} Entities.BoundingBox
|
||||
* @property {Vec3} brn - The bottom right near (minimum axes values) corner of the AA box.
|
||||
|
@ -1978,7 +1978,7 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
|||
|
||||
QScriptValue renderInfo = engine->newObject();
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information on how an entity is rendered. Properties are only filled in for <code>Model</code> entities; other
|
||||
* entity types have an empty object, <code>{}</code>.
|
||||
* @typedef {object} Entities.RenderInfo
|
||||
|
@ -3005,7 +3005,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
return false;
|
||||
}
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Information about an entity property.
|
||||
* @typedef {object} Entities.EntityPropertyInfo
|
||||
* @property {number} propertyEnum - The internal number of the property.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include <NodeList.h>
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* The <code>EntityScriptServerLog</code> API makes server log file output written by server entity scripts available to client
|
||||
* scripts.
|
||||
*
|
||||
|
@ -34,7 +34,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
/*@jsdoc
|
||||
* Triggered when one or more lines are written to the server log by server entity scripts.
|
||||
* @function EntityScriptServerLog.receivedNewLogLines
|
||||
* @param {string} logLines - The server log lines written by server entity scripts. If there are multiple lines they are
|
||||
|
|
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue