diff --git a/domain-server/resources/web/wizard/index.shtml b/domain-server/resources/web/wizard/index.shtml index 6d56a99682..f140ba8686 100644 --- a/domain-server/resources/web/wizard/index.shtml +++ b/domain-server/resources/web/wizard/index.shtml @@ -24,7 +24,7 @@
- Place names are similar to web addresses. Users who want to visit your domain can + Place names are similar to web addresses. Users who want to visit your domain can enter its Place Name in Vircadia's Interface. You can choose a Place Name for your domain.
Your domain may also be reachable by IP address.
@@ -196,8 +196,8 @@
- Would you like use automatic threading for your server's avatars and audio? - If you are hosting this server on your local computer and it is not very powerful, then consider leaving this off because the server will use more resources if it is being utilized extensively, thereby slowing down your computer. + Would you like use automatic threading for your server's avatars and audio? + If you are hosting this server on your local computer and it is not very powerful, then consider leaving this off because the server will use more resources if it is being utilized extensively, thereby slowing down your computer. If you are running this server on a powerful system and intend to have a large audience, then turn this setting on.
diff --git a/interface/resources/html/tabletHelp.html b/interface/resources/html/tabletHelp.html index 17b41a1979..f9dc7034f5 100644 --- a/interface/resources/html/tabletHelp.html +++ b/interface/resources/html/tabletHelp.html @@ -53,7 +53,7 @@ position: absolute; top: 0; left: 0; bottom: 0; right: 0; } - + #image_button { position: absolute; width: 463; @@ -77,13 +77,13 @@ var handControllerImageURL = null; var index = 0; var count = 3; - var handControllerRefURL = "https://docs.vircadia.dev/explore/get-started/vr-controls.html#vr-controls"; - var keyboardRefURL = "https://docs.vircadia.dev/explore/get-started/desktop.html#movement-controls"; - var gamepadRefURL = "https://docs.vircadia.dev/explore/get-started/vr-controls.html#gamepad"; + var handControllerRefURL = "https://docs.vircadia.com/explore/get-started/vr-controls.html#vr-controls"; + var keyboardRefURL = "https://docs.vircadia.com/explore/get-started/desktop.html#movement-controls"; + var gamepadRefURL = "https://docs.vircadia.com/explore/get-started/vr-controls.html#gamepad"; function showKbm() { document.getElementById("main_image").setAttribute("src", "img/tablet-help-keyboard.jpg"); - document.getElementById("image_button").setAttribute("href", keyboardRefURL); + document.getElementById("image_button").setAttribute("href", keyboardRefURL); } function showHandControllers() { @@ -107,7 +107,7 @@ } function chooseIcon() { - switch (index) + switch (index) { case 0: showGamepad(); diff --git a/interface/resources/qml/hifi/avatarPackager/AvatarPackagerApp.qml b/interface/resources/qml/hifi/avatarPackager/AvatarPackagerApp.qml index 00d8a29561..3c82fdb32b 100644 --- a/interface/resources/qml/hifi/avatarPackager/AvatarPackagerApp.qml +++ b/interface/resources/qml/hifi/avatarPackager/AvatarPackagerApp.qml @@ -229,7 +229,7 @@ Item { } function openDocs() { - Qt.openUrlExternally("https://docs.vircadia.dev/create/avatars/package-avatar.html"); + Qt.openUrlExternally("https://docs.vircadia.com/create/avatars/package-avatar.html"); } function openVideo() { diff --git a/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml b/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml index 9b59303a7e..62540d34d7 100644 --- a/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml +++ b/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml @@ -150,7 +150,7 @@ Item { id: uploadingItemFooter anchors.fill: parent - anchors.topMargin: 1 + anchors.topMargin: 1 visible: !!root.uploader && !root.finished && root.uploader.state === 4 color: "#00B4EF" @@ -205,7 +205,7 @@ Item { function showConfirmUploadPopup() { popup.titleText = 'Overwrite Avatar'; - popup.bodyText = 'You have previously uploaded the avatar file from this project.' + + popup.bodyText = 'You have previously uploaded the avatar file from this project.' + ' This will overwrite that avatar and you won’t be able to access the older version.'; popup.button1text = 'CREATE NEW'; @@ -318,7 +318,7 @@ Item { text: "This item is not for sale yet, learn more." onLinkActivated: { - Qt.openUrlExternally("https://docs.vircadia.dev/sell/add-item/upload-avatar.html"); + Qt.openUrlExternally("https://docs.vircadia.com/sell/add-item/upload-avatar.html"); } } diff --git a/interface/resources/qml/hifi/avatarapp/MessageBoxes.qml b/interface/resources/qml/hifi/avatarapp/MessageBoxes.qml index ccc28174a1..290bf14877 100644 --- a/interface/resources/qml/hifi/avatarapp/MessageBoxes.qml +++ b/interface/resources/qml/hifi/avatarapp/MessageBoxes.qml @@ -7,7 +7,7 @@ MessageBox { popup.onButton2Clicked = callback; popup.titleText = 'Specify Avatar URL' popup.bodyText = 'This will not overwrite your existing favorite if you are wearing one.
' + - '' + + '' + 'Learn to make a custom avatar by opening this link on your desktop.' + '' popup.inputText.visible = true; diff --git a/interface/resources/qml/hifi/commerce/checkout/Checkout.qml b/interface/resources/qml/hifi/commerce/checkout/Checkout.qml index 424b4d616d..3d320abe47 100644 --- a/interface/resources/qml/hifi/commerce/checkout/Checkout.qml +++ b/interface/resources/qml/hifi/commerce/checkout/Checkout.qml @@ -196,7 +196,7 @@ Rectangle { root.availableUpdatesReceived = false; root.currentUpdatesPage = 1; Commerce.getAvailableUpdates(root.itemId); - + var MARKETPLACE_API_URL = Account.metaverseServerURL + "/api/v1/marketplace/items/"; http.request({uri: MARKETPLACE_API_URL + root.itemId}, updateCheckoutQMLFromHTTP); } @@ -327,7 +327,7 @@ Rectangle { } } } - } + } HifiCommerceCommon.FirstUseTutorial { id: firstUseTutorial; @@ -374,7 +374,7 @@ Rectangle { hoverEnabled: true; propagateComposedEvents: false; } - + AnimatedImage { id: loadingImage; source: "../common/images/loader-blue.gif" @@ -397,7 +397,7 @@ Rectangle { color: hifi.colors.black; size: 28; } - + HifiControlsUit.Separator { id: separator; colorScheme: 1; @@ -475,7 +475,7 @@ Rectangle { } FiraSansSemiBold { id: itemPriceText; - text: isTradingIn ? "FREE\nUPDATE" : + text: isTradingIn ? "FREE\nUPDATE" : (isStocking ? "Free for creator" : ((root.itemPrice === -1) ? "--" : ((root.itemPrice > 0) ? root.itemPrice : "FREE"))); // Text size @@ -491,7 +491,7 @@ Rectangle { } } } - + HifiControlsUit.Separator { id: separator2; colorScheme: 1; @@ -728,7 +728,7 @@ Rectangle { sendToScript({method: 'checkout_itemLinkClicked', itemId: itemId}); } } - + Rectangle { id: rezzedNotifContainer; z: 997; @@ -778,7 +778,7 @@ Rectangle { lightboxPopup.bodyText = "Rezzing this content set will replace the existing environment and all of the items in this domain. " + "If you want to save the state of the content in this domain, create a backup before proceeding.

" + "For more information about backing up and restoring content, " + - "" + + "" + "click here to open info on your desktop browser."; lightboxPopup.button1text = "CANCEL"; lightboxPopup.button1method = function() { @@ -1069,7 +1069,7 @@ Rectangle { buyButton.color = hifi.buttons.red; root.shouldBuyWithControlledFailure = true; } else { - buyButton.text = (root.isCertified ? + buyButton.text = (root.isCertified ? (dataReady ? (root.alreadyOwned ? "Buy Another" : "Buy") : "--") : @@ -1079,7 +1079,7 @@ Rectangle { } } } - + HifiCommon.RootHttpRequest { id: http; @@ -1211,7 +1211,7 @@ Rectangle { // Else if the user HAS NOT selected a specific edition to update... } else { handleBuyAgainLogic(); - } + } // If the user IS NOT on the checkout page for the updated verison of an owned item... // (i.e. they are checking out an item "normally") } else { diff --git a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml index 8ccfceb03c..b873d34d90 100644 --- a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml +++ b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml @@ -115,7 +115,7 @@ Rectangle { Component.onCompleted: { isStandalone = PlatformInfo.isStandalone(); } - + HifiCommerceCommon.CommerceLightbox { id: lightboxPopup; z: 999; @@ -174,7 +174,7 @@ Rectangle { Commerce.getWalletStatus(); } } - + Item { id: installedAppsContainer; z: 998; @@ -210,7 +210,7 @@ Rectangle { delegate: Item { width: parent.width; height: 40; - + RalewayRegular { text: model.appUrl; // Text size @@ -251,7 +251,7 @@ Rectangle { Commerce.openApp(model.appUrl); } } - + HiFiGlyphs { id: uninstallGlyph; text: hifi.glyphs.close; @@ -292,7 +292,7 @@ Rectangle { height: 40; text: "SIDELOAD APP FROM LOCAL DISK"; onClicked: { - Window.browseChanged.connect(onFileOpenChanged); + Window.browseChanged.connect(onFileOpenChanged); Window.browseAsync("Locate your app's .app.json file", "", "*.app.json"); } } @@ -602,7 +602,7 @@ Rectangle { lightboxPopup.bodyText = "Rezzing this content set will replace the existing environment and all of the items in this domain. " + "If you want to save the state of the content in this domain, create a backup before proceeding.

" + "For more information about backing up and restoring content, " + - "
" + + "" + "click here to open info on your desktop browser."; lightboxPopup.button1text = "CANCEL"; lightboxPopup.button1method = function() { @@ -823,7 +823,7 @@ Rectangle { anchors.right: parent.right; height: 75; color: "#B5EAFF"; - + Rectangle { id: updatesAvailableGlyph; anchors.verticalCenter: parent.verticalCenter; @@ -991,7 +991,7 @@ Rectangle { // // FUNCTION DEFINITIONS START // - + function updateCurrentlyWornWearables(wearables) { for (var i = 0; i < purchasesModel.count; i++) { for (var j = 0; j < wearables.length; j++) { diff --git a/interface/resources/qml/hifi/commerce/wallet/Help.qml b/interface/resources/qml/hifi/commerce/wallet/Help.qml index dbdefc4c79..26c9296297 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Help.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Help.qml @@ -207,7 +207,7 @@ At the moment, there is currently no way to convert HFC to other currencies. Sta if (link === "#privateKeyPath") { Qt.openUrlExternally("file:///" + root.keyFilePath.substring(0, root.keyFilePath.lastIndexOf('/'))); } else if (link === "#blockchain") { - Qt.openUrlExternally("https://docs.vircadia.dev/explore/shop.html"); + Qt.openUrlExternally("https://docs.vircadia.com/explore/shop.html"); } else if (link === "#bank") { if ((Account.metaverseServerURL).toString().indexOf("staging") >= 0) { Qt.openUrlExternally("hifi://hifiqa-master-metaverse-staging"); // So that we can test in staging. diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 807b5e55a5..4deea9ca0c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1972,7 +1972,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo loadSettings(); updateVerboseLogging(); - + setCachebustRequire(); // Make sure we don't time out during slow operations at startup @@ -2624,7 +2624,7 @@ void Application::setCachebustRequire() { return; } bool enable = menu->isOptionChecked(MenuOption::CachebustRequire); - + Setting::Handle{ CACHEBUST_SCRIPT_REQUIRE_SETTING_NAME, false }.set(enable); } @@ -3246,7 +3246,7 @@ void Application::initializeUi() { safeURLS += settingsSafeURLS; // END PULL SAFEURLS FROM INTERFACE.JSON Settings - + if (AUTHORIZED_EXTERNAL_QML_SOURCE.isParentOf(url)) { return true; } else { @@ -4022,7 +4022,7 @@ void Application::handleSandboxStatus(QNetworkReply* reply) { DependencyManager::get()->setHomeLocationToAddress(NetworkingConstants::DEFAULT_VIRCADIA_ADDRESS); Menu::getInstance()->triggerOption(MenuOption::HomeLocation); } - + if (!_overrideEntry) { DependencyManager::get()->goToEntry(); sentTo = SENT_TO_ENTRY; @@ -7198,7 +7198,7 @@ void Application::updateWindowTitle() const { QString buildVersion = " - Vircadia - " + (BuildInfo::BUILD_TYPE == BuildInfo::BuildType::Stable ? QString("Version") : QString("Build")) + " " + applicationVersion(); - + if (BuildInfo::RELEASE_NAME != "") { buildVersion += " - " + BuildInfo::RELEASE_NAME; } @@ -7901,7 +7901,7 @@ bool Application::askToReplaceDomainContent(const QString& url) { static const QString infoText = simpleWordWrap("Your domain's content will be replaced with a new content set. " "If you want to save what you have now, create a backup before proceeding. For more information about backing up " "and restoring content, visit the documentation page at: ", MAX_CHARACTERS_PER_LINE) + - "\nhttps://docs.vircadia.dev/host/maintain-domain/backup-domain.html"; + "\nhttps://docs.vircadia.com/host/maintain-domain/backup-domain.html"; ModalDialogListener* dig = OffscreenUi::asyncQuestion("Are you sure you want to replace this domain's content set?", infoText, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); diff --git a/interface/src/avatar/AvatarDoctor.cpp b/interface/src/avatar/AvatarDoctor.cpp index d84383cf4f..14b37c7fb5 100644 --- a/interface/src/avatar/AvatarDoctor.cpp +++ b/interface/src/avatar/AvatarDoctor.cpp @@ -55,7 +55,7 @@ static QStringList HAND_MAPPING_SUFFIXES = { "HandThumb1", }; -const QUrl PACKAGE_AVATAR_DOCS_BASE_URL = QUrl("https://docs.vircadia.dev/create/avatars/package-avatar.html"); +const QUrl PACKAGE_AVATAR_DOCS_BASE_URL = QUrl("https://docs.vircadia.com/create/avatars/package-avatar.html"); AvatarDoctor::AvatarDoctor(const QUrl& avatarFSTFileUrl) : _avatarFSTFileUrl(avatarFSTFileUrl) { @@ -71,7 +71,7 @@ void AvatarDoctor::startDiagnosing() { return; } _isDiagnosing = true; - + _errors.clear(); _externalTextureCount = 0; @@ -107,7 +107,7 @@ void AvatarDoctor::startDiagnosing() { if (avatarModel.joints.length() > NETWORKED_JOINTS_LIMIT) { addError(tr( "Avatar has over %n bones.", "", NETWORKED_JOINTS_LIMIT), "maximum-bone-limit"); } - // Avatar does not have Hips bone mapped + // Avatar does not have Hips bone mapped if (!jointNames.contains("Hips")) { addError("Hips are not mapped.", "hips-not-mapped"); } @@ -236,7 +236,7 @@ void AvatarDoctor::startDiagnosing() { for (const auto& jointVariant: jointNameMappings.values()) { jointValues << jointVariant.toString(); } - + const auto& uniqueJointValues = jointValues.toSet(); for (const auto& jointName: uniqueJointValues) { if (jointValues.count(jointName) > 1) { @@ -279,7 +279,7 @@ void AvatarDoctor::startDiagnosing() { } else { connect(materialMappingResource.data(), &NetworkTexture::finished, this, [materialMappingHandled](bool success) mutable { - + materialMappingHandled(); }); } @@ -302,7 +302,7 @@ void AvatarDoctor::startDiagnosing() { } else { addError("Model file cannot be opened", "missing-file"); emit complete(getErrors()); - } + } } void AvatarDoctor::diagnoseTextures() { diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index cd9f929a62..466047fb69 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -47,11 +47,11 @@ class DetailedMotionState; * ValueNameDescription * * - * 0DefaultYour walking speed is constant; it doesn't change depending on how far + * 0DefaultYour walking speed is constant; it doesn't change depending on how far * forward you push your controller's joystick. Fully pushing your joystick forward makes your avatar run. - * 1AnalogYour walking speed changes in steps based on how far forward you push your + * 1AnalogYour walking speed changes in steps based on how far forward you push your * controller's joystick. Fully pushing your joystick forward makes your avatar run. - * 2AnalogPlusYour walking speed changes proportionally to how far forward you push + * 2AnalogPlusYour walking speed changes proportionally to how far forward you push * your controller's joystick. Fully pushing your joystick forward makes your avatar run. * * @@ -154,11 +154,11 @@ class MyAvatar : public Avatar { *

Note: This property will automatically be set to true if the controller system has * valid facial blend shape actions.

* @property {boolean} hasProceduralBlinkFaceMovement=true - true if avatars blink automatically by animating - * facial blend shapes, false if automatic blinking is disabled. Set to false to fully control + * facial blend shapes, false if automatic blinking is disabled. Set to false to fully control * the blink facial blend shapes via the {@link MyAvatar.setBlendshape} method. * @property {boolean} hasProceduralEyeFaceMovement=true - true if the facial blend shapes for an avatar's eyes * adjust automatically as the eyes move, false if this automatic movement is disabled. Set this property - * to true to prevent the iris from being obscured by the upper or lower lids. Set to false to + * to true to prevent the iris from being obscured by the upper or lower lids. Set to false to * fully control the eye blend shapes via the {@link MyAvatar.setBlendshape} method. * @property {boolean} hasAudioEnabledFaceMovement=true - true if the avatar's mouth blend shapes animate * automatically based on detected microphone input, false if this automatic movement is disabled. Set @@ -175,16 +175,16 @@ class MyAvatar : public Avatar { * @property {boolean} shouldRenderLocally=true - If true then your avatar is rendered for you in Interface, * otherwise it is not rendered for you (but it is still rendered for other users). * @property {Vec3} motorVelocity=Vec3.ZERO - The target velocity of your avatar to be achieved by a scripted motor. - * @property {number} motorTimescale=1000000 - The timescale for the scripted motor to achieve the target + * @property {number} motorTimescale=1000000 - The timescale for the scripted motor to achieve the target * motorVelocity avatar velocity. Smaller values result in higher acceleration. - * @property {string} motorReferenceFrame="camera" - Reference frame of the motorVelocity. Must be one of the + * @property {string} motorReferenceFrame="camera" - Reference frame of the motorVelocity. Must be one of the * following: "camera", "avatar", and "world". - * @property {string} motorMode="simple" - The Type of scripted motor behavior: "simple" to use the + * @property {string} motorMode="simple" - The Type of scripted motor behavior: "simple" to use the * motorTimescale time scale; "dynamic" to use character controller timescales. - * @property {string} collisionSoundURL="Body_Hits_Impact.wav" - The sound that's played when the avatar experiences a - * collision. It can be a mono or stereo 16-bit WAV file running at either 24kHz or 48kHz. The latter is down-sampled + * @property {string} collisionSoundURL="Body_Hits_Impact.wav" - The sound that's played when the avatar experiences a + * collision. It can be a mono or stereo 16-bit WAV file running at either 24kHz or 48kHz. The latter is down-sampled * by the audio mixer, so all audio effectively plays back at a 24khz. 48kHz RAW files are also supported. - * @property {number} audioListenerMode=0 - Specifies the listening position when hearing spatialized audio. Must be one + * @property {number} audioListenerMode=0 - Specifies the listening position when hearing spatialized audio. Must be one * of the following property values: *
    *
  • MyAvatar.audioListenerModeHead
  • @@ -193,93 +193,93 @@ class MyAvatar : public Avatar { *
* @property {number} audioListenerModeHead=0 - The audio listening position is at the avatar's head. Read-only. * @property {number} audioListenerModeCamera=1 - The audio listening position is at the camera. Read-only. - * @property {number} audioListenerModeCustom=2 - The audio listening position is at a the position specified by set by the + * @property {number} audioListenerModeCustom=2 - The audio listening position is at a the position specified by set by the * customListenPosition and customListenOrientation property values. Read-only. * @property {Vec3} customListenPosition=Vec3.ZERO - The listening position used when the audioListenerMode * property value is audioListenerModeCustom. * @property {Quat} customListenOrientation=Quat.IDENTITY - The listening orientation used when the * audioListenerMode property value is audioListenerModeCustom. - * @property {number} rotationRecenterFilterLength - Configures how quickly the avatar root rotates to recenter its facing - * direction to match that of the user's torso based on head and hands orientation. A smaller value makes the + * @property {number} rotationRecenterFilterLength - Configures how quickly the avatar root rotates to recenter its facing + * direction to match that of the user's torso based on head and hands orientation. A smaller value makes the * recentering happen more quickly. The minimum value is 0.01. - * @property {number} rotationThreshold - The angle in radians that the user's torso facing direction (based on head and + * @property {number} rotationThreshold - The angle in radians that the user's torso facing direction (based on head and * hands orientation) can differ from that of the avatar before the avatar's root is rotated to match the user's torso. - * @property {boolean} enableStepResetRotation - If true then after the user's avatar takes a step, the - * avatar's root immediately rotates to recenter its facing direction to match that of the user's torso based on head + * @property {boolean} enableStepResetRotation - If true then after the user's avatar takes a step, the + * avatar's root immediately rotates to recenter its facing direction to match that of the user's torso based on head * and hands orientation. - * @property {boolean} enableDrawAverageFacing - If true, debug graphics are drawn that show the average - * facing direction of the user's torso (based on head and hands orientation). This can be useful if you want to try + * @property {boolean} enableDrawAverageFacing - If true, debug graphics are drawn that show the average + * facing direction of the user's torso (based on head and hands orientation). This can be useful if you want to try * out different filter lengths and thresholds. * - * @property {Vec3} leftHandPosition - The position of the left hand in avatar coordinates if it's being positioned by + * @property {Vec3} leftHandPosition - The position of the left hand in avatar coordinates if it's being positioned by * controllers, otherwise {@link Vec3(0)|Vec3.ZERO}. Read-only. * @property {Vec3} rightHandPosition - The position of the right hand in avatar coordinates if it's being positioned by * controllers, otherwise {@link Vec3(0)|Vec3.ZERO}. Read-only. - * @property {Vec3} leftHandTipPosition - The position 0.3m in front of the left hand's position, in the direction along the - * palm, in avatar coordinates. If the hand isn't being positioned by a controller, the value is + * @property {Vec3} leftHandTipPosition - The position 0.3m in front of the left hand's position, in the direction along the + * palm, in avatar coordinates. If the hand isn't being positioned by a controller, the value is * {@link Vec3(0)|Vec3.ZERO}. Read-only. - * @property {Vec3} rightHandTipPosition - The position 0.3m in front of the right hand's position, in the direction along - * the palm, in avatar coordinates. If the hand isn't being positioned by a controller, the value is + * @property {Vec3} rightHandTipPosition - The position 0.3m in front of the right hand's position, in the direction along + * the palm, in avatar coordinates. If the hand isn't being positioned by a controller, the value is * {@link Vec3(0)|Vec3.ZERO}. Read-only. * - * @property {Pose} leftHandPose - The left hand's pose as determined by the hand controllers, relative to the avatar. + * @property {Pose} leftHandPose - The left hand's pose as determined by the hand controllers, relative to the avatar. * Read-only. * @property {Pose} rightHandPose - The right hand's pose as determined by the hand controllers, relative to the avatar. * Read-only. - * @property {Pose} leftHandTipPose - The left hand's pose as determined by the hand controllers, relative to the avatar, + * @property {Pose} leftHandTipPose - The left hand's pose as determined by the hand controllers, relative to the avatar, * with the position adjusted by 0.3m along the direction of the palm. Read-only. - * @property {Pose} rightHandTipPose - The right hand's pose as determined by the hand controllers, relative to the avatar, + * @property {Pose} rightHandTipPose - The right hand's pose as determined by the hand controllers, relative to the avatar, * with the position adjusted by 0.3m along the direction of the palm. Read-only. * * @property {number} energy - Deprecated: This property will be removed. - * @property {boolean} isAway - true if your avatar is away (i.e., inactive), false if it is + * @property {boolean} isAway - true if your avatar is away (i.e., inactive), false if it is * active. * * @property {boolean} centerOfGravityModelEnabled=true - true if the avatar hips are placed according to * the center of gravity model that balances the center of gravity over the base of support of the feet. Set the * value to false for default behavior where the hips are positioned under the head. - * @property {boolean} hmdLeanRecenterEnabled=true - true IF the avatar is re-centered to be under the - * head's position. In room-scale VR, this behavior is what causes your avatar to follow your HMD as you walk around + * @property {boolean} hmdLeanRecenterEnabled=true - true IF the avatar is re-centered to be under the + * head's position. In room-scale VR, this behavior is what causes your avatar to follow your HMD as you walk around * the room. Setting the value false is useful if you want to pin the avatar to a fixed position. - * @property {boolean} collisionsEnabled - Set to true to enable the avatar to collide with the environment, - * false to disable collisions with the environment. May return true even though the value + * @property {boolean} collisionsEnabled - Set to true to enable the avatar to collide with the environment, + * false to disable collisions with the environment. May return true even though the value * was set false because the zone may disallow collisionless avatars. - * @property {boolean} otherAvatarsCollisionsEnabled - Set to true to enable the avatar to collide with other + * @property {boolean} otherAvatarsCollisionsEnabled - Set to true to enable the avatar to collide with other * avatars, false to disable collisions with other avatars. * @property {boolean} characterControllerEnabled - Synonym of collisionsEnabled. - *

Deprecated: This property is deprecated and will be removed. Use collisionsEnabled + *

Deprecated: This property is deprecated and will be removed. Use collisionsEnabled * instead.

- * @property {boolean} useAdvancedMovementControls - Returns and sets the value of the Interface setting, Settings > + * @property {boolean} useAdvancedMovementControls - Returns and sets the value of the Interface setting, Settings > * Controls > Walking. Note: Setting the value has no effect unless Interface is restarted. - * @property {boolean} showPlayArea - Returns and sets the value of the Interface setting, Settings > Controls > Show room + * @property {boolean} showPlayArea - Returns and sets the value of the Interface setting, Settings > Controls > Show room * boundaries while teleporting. *

Note: Setting the value has no effect unless Interface is restarted.

* * @property {number} yawSpeed=75 - The mouse X sensitivity value in Settings > General. Read-only. * @property {number} pitchSpeed=50 - The mouse Y sensitivity value in Settings > General. Read-only. * - * @property {boolean} hmdRollControlEnabled=true - If true, the roll angle of your HMD turns your avatar + * @property {boolean} hmdRollControlEnabled=true - If true, the roll angle of your HMD turns your avatar * while flying. - * @property {number} hmdRollControlDeadZone=8 - The amount of HMD roll, in degrees, required before your avatar turns if + * @property {number} hmdRollControlDeadZone=8 - The amount of HMD roll, in degrees, required before your avatar turns if * hmdRollControlEnabled is enabled. - * @property {number} hmdRollControlRate If MyAvatar.hmdRollControlEnabled is true, this value determines the + * @property {number} hmdRollControlRate If MyAvatar.hmdRollControlEnabled is true, this value determines the * maximum turn rate of your avatar when rolling your HMD in degrees per second. * * @property {number} userHeight=1.75 - The height of the user in sensor space. * @property {number} userEyeHeight=1.65 - The estimated height of the user's eyes in sensor space. Read-only. * - * @property {Uuid} SELF_ID - UUID representing "my avatar". Only use for local-only entities in situations - * where MyAvatar.sessionUUID is not available (e.g., if not connected to a domain). Note: Likely to be deprecated. + * @property {Uuid} SELF_ID - UUID representing "my avatar". Only use for local-only entities in situations + * where MyAvatar.sessionUUID is not available (e.g., if not connected to a domain). Note: Likely to be deprecated. * Read-only. * - * @property {number} walkSpeed - The walk speed of your avatar for the current control scheme (see + * @property {number} walkSpeed - The walk speed of your avatar for the current control scheme (see * {@link MyAvatar.getControlScheme|getControlScheme}). - * @property {number} walkBackwardSpeed - The walk backward speed of your avatar for the current control scheme (see + * @property {number} walkBackwardSpeed - The walk backward speed of your avatar for the current control scheme (see * {@link MyAvatar.getControlScheme|getControlScheme}). - * @property {number} sprintSpeed - The sprint (run) speed of your avatar for the current control scheme (see + * @property {number} sprintSpeed - The sprint (run) speed of your avatar for the current control scheme (see * {@link MyAvatar.getControlScheme|getControlScheme}). * @property {number} analogPlusWalkSpeed - The walk speed of your avatar for the "AnalogPlus" control scheme. - *

Warning: Setting this value also sets the value of analogPlusSprintSpeed to twice + *

Warning: Setting this value also sets the value of analogPlusSprintSpeed to twice * the value.

* @property {number} analogPlusSprintSpeed - The sprint (run) speed of your avatar for the "AnalogPlus" control scheme. * @property {MyAvatar.SitStandModelType} userRecenterModel - Controls avatar leaning and recentering behavior. @@ -289,11 +289,11 @@ class MyAvatar : public Avatar { * is allowed to stand, lean or recenter its footing, depending on user preferences. * The property value automatically updates as the user sits or stands. Setting the property value overrides the current * sitting / standing state, which is updated when the user next sits or stands. - * @property {boolean} isSitStandStateLocked - true to lock the avatar sitting/standing state, i.e., use this + * @property {boolean} isSitStandStateLocked - true to lock the avatar sitting/standing state, i.e., use this * to disable automatically changing state. - *

Deprecated: This property is deprecated and will be removed. + *

Deprecated: This property is deprecated and will be removed. * See also: getUserRecenterModel and setUserRecenterModel.

- * @property {boolean} allowTeleporting - true if teleporting is enabled in the Interface settings, + * @property {boolean} allowTeleporting - true if teleporting is enabled in the Interface settings, * false if it isn't. Read-only. * * @borrows Avatar.getDomainMinScale as getDomainMinScale @@ -435,7 +435,7 @@ class MyAvatar : public Avatar { public: /*@jsdoc - * The DriveKeys API provides constant numeric values that represent different logical keys that drive your + * The DriveKeys API provides constant numeric values that represent different logical keys that drive your * avatar and camera. * * @namespace DriveKeys @@ -444,27 +444,27 @@ public: * @hifi-client-entity * @hifi-avatar * - * @property {number} TRANSLATE_X - Move the user's avatar in the direction of its x-axis, if the camera isn't in + * @property {number} TRANSLATE_X - Move the user's avatar in the direction of its x-axis, if the camera isn't in * independent or mirror modes. - * @property {number} TRANSLATE_Y - Move the user's avatar in the direction of its y-axis, if the camera isn't in + * @property {number} TRANSLATE_Y - Move the user's avatar in the direction of its y-axis, if the camera isn't in * independent or mirror modes. - * @property {number} TRANSLATE_Z - Move the user's avatar in the direction of its z-axis, if the camera isn't in + * @property {number} TRANSLATE_Z - Move the user's avatar in the direction of its z-axis, if the camera isn't in * independent or mirror modes. - * @property {number} YAW - Rotate the user's avatar about its y-axis at a rate proportional to the control value, if the + * @property {number} YAW - Rotate the user's avatar about its y-axis at a rate proportional to the control value, if the * camera isn't in independent or mirror modes. * @property {number} STEP_TRANSLATE_X - No action. * @property {number} STEP_TRANSLATE_Y - No action. * @property {number} STEP_TRANSLATE_Z - No action. - * @property {number} STEP_YAW - Rotate the user's avatar about its y-axis in a step increment, if the camera isn't in + * @property {number} STEP_YAW - Rotate the user's avatar about its y-axis in a step increment, if the camera isn't in * independent or mirror modes. - * @property {number} PITCH - Rotate the user's avatar head and attached camera about its negative x-axis (i.e., positive - * values pitch down) at a rate proportional to the control value, if the camera isn't in HMD, independent, or mirror + * @property {number} PITCH - Rotate the user's avatar head and attached camera about its negative x-axis (i.e., positive + * values pitch down) at a rate proportional to the control value, if the camera isn't in HMD, independent, or mirror * modes. * @property {number} ZOOM - Zoom the camera in or out. - * @property {number} DELTA_YAW - Rotate the user's avatar about its y-axis by an amount proportional to the control value, + * @property {number} DELTA_YAW - Rotate the user's avatar about its y-axis by an amount proportional to the control value, * if the camera isn't in independent or mirror modes. - * @property {number} DELTA_PITCH - Rotate the user's avatar head and attached camera about its negative x-axis (i.e., - * positive values pitch down) by an amount proportional to the control value, if the camera isn't in HMD, independent, + * @property {number} DELTA_PITCH - Rotate the user's avatar head and attached camera about its negative x-axis (i.e., + * positive values pitch down) by an amount proportional to the control value, if the camera isn't in HMD, independent, * or mirror modes. */ @@ -475,27 +475,27 @@ public: * ValueDescription * * - * {@link DriveKeys|DriveKeys.TRANSLATE_X}Move the user's avatar in the direction of its + * {@link DriveKeys|DriveKeys.TRANSLATE_X}Move the user's avatar in the direction of its * x-axis, if the camera isn't in independent or mirror modes. - * {@link DriveKeys|DriveKeys.TRANSLATE_Y}Move the user's avatar in the direction of its + * {@link DriveKeys|DriveKeys.TRANSLATE_Y}Move the user's avatar in the direction of its * -axis, if the camera isn't in independent or mirror modes. - * {@link DriveKeys|DriveKeys.TRANSLATE_Z}Move the user's avatar in the direction of its + * {@link DriveKeys|DriveKeys.TRANSLATE_Z}Move the user's avatar in the direction of its * z-axis, if the camera isn't in independent or mirror modes. - * {@link DriveKeys|DriveKeys.YAW}Rotate the user's avatar about its y-axis at a rate + * {@link DriveKeys|DriveKeys.YAW}Rotate the user's avatar about its y-axis at a rate * proportional to the control value, if the camera isn't in independent or mirror modes. * {@link DriveKeys|DriveKeys.STEP_TRANSLATE_X}No action. * {@link DriveKeys|DriveKeys.STEP_TRANSLATE_Y}No action. * {@link DriveKeys|DriveKeys.STEP_TRANSLATE_Z}No action. - * {@link DriveKeys|DriveKeys.STEP_YAW}Rotate the user's avatar about its y-axis in a + * {@link DriveKeys|DriveKeys.STEP_YAW}Rotate the user's avatar about its y-axis in a * step increment, if the camera isn't in independent or mirror modes. - * {@link DriveKeys|DriveKeys.PITCH}Rotate the user's avatar head and attached camera - * about its negative x-axis (i.e., positive values pitch down) at a rate proportional to the control value, if the + * {@link DriveKeys|DriveKeys.PITCH}Rotate the user's avatar head and attached camera + * about its negative x-axis (i.e., positive values pitch down) at a rate proportional to the control value, if the * camera isn't in HMD, independent, or mirror modes. * {@link DriveKeys|DriveKeys.ZOOM}Zoom the camera in or out. - * {@link DriveKeys|DriveKeys.DELTA_YAW}Rotate the user's avatar about its y-axis by an + * {@link DriveKeys|DriveKeys.DELTA_YAW}Rotate the user's avatar about its y-axis by an * amount proportional to the control value, if the camera isn't in independent or mirror modes. - * {@link DriveKeys|DriveKeys.DELTA_PITCH}Rotate the user's avatar head and attached - * camera about its negative x-axis (i.e., positive values pitch down) by an amount proportional to the control + * {@link DriveKeys|DriveKeys.DELTA_PITCH}Rotate the user's avatar head and attached + * camera about its negative x-axis (i.e., positive values pitch down) by an amount proportional to the control * value, if the camera isn't in HMD, independent, or mirror modes. * * @@ -526,16 +526,16 @@ public: * ValueNameDescription * * - * 0ForceSitAssumes the user is seated in the real world. Disables avatar + * 0ForceSitAssumes the user is seated in the real world. Disables avatar * leaning regardless of what the avatar is doing in the virtual world (i.e., avatar always recenters). - * 1ForceStandAssumes the user is standing in the real world. Enables avatar - * leaning regardless of what the avatar is doing in the virtual world (i.e., avatar leans, then if leans too far it + * 1ForceStandAssumes the user is standing in the real world. Enables avatar + * leaning regardless of what the avatar is doing in the virtual world (i.e., avatar leans, then if leans too far it * recenters). - * 2AutoInterface detects when the user is standing or seated in the real world. - * Avatar leaning is disabled when the user is sitting (i.e., avatar always recenters), and avatar leaning is enabled + * 2AutoInterface detects when the user is standing or seated in the real world. + * Avatar leaning is disabled when the user is sitting (i.e., avatar always recenters), and avatar leaning is enabled * when the user is standing (i.e., avatar leans, then if leans too far it recenters). - * 3DisableHMDLean

Both avatar leaning and recentering are disabled regardless of - * what the user is doing in the real world and no matter what their avatar is doing in the virtual world. Enables + * 3DisableHMDLean

Both avatar leaning and recentering are disabled regardless of + * what the user is doing in the real world and no matter what their avatar is doing in the virtual world. Enables * the avatar to sit on the floor when the user sits on the floor.

*

Note: Experimental.

* @@ -597,7 +597,7 @@ public: Q_INVOKABLE void resetSensorsAndBody(); /*@jsdoc - * Moves and orients the avatar, such that it is directly underneath the HMD, with toes pointed forward in the direction of + * Moves and orients the avatar, such that it is directly underneath the HMD, with toes pointed forward in the direction of * the HMD. * @function MyAvatar.centerBody */ @@ -606,7 +606,7 @@ public: /*@jsdoc * Clears inverse kinematics joint limit history. - *

The internal inverse-kinematics system maintains a record of which joints are "locked". Sometimes it is useful to + *

The internal inverse-kinematics system maintains a record of which joints are "locked". Sometimes it is useful to * forget this history to prevent contorted joints, e.g., after finishing with an override animation.

* @function MyAvatar.clearIKJointLimitHistory */ @@ -657,7 +657,7 @@ public: /*@jsdoc * Gets the position in world coordinates of the point directly between your avatar's eyes assuming your avatar was in its - * default pose. This is a reference position; it does not change as your avatar's head moves relative to the avatar + * default pose. This is a reference position; it does not change as your avatar's head moves relative to the avatar * position. * @function MyAvatar.getDefaultEyePosition * @returns {Vec3} Default position between your avatar's eyes in world coordinates. @@ -672,17 +672,17 @@ public: /*@jsdoc * Overrides the default avatar animations. *

The avatar animation system includes a set of default animations along with rules for how those animations are blended - * together with procedural data (such as look at vectors, hand sensors etc.). overrideAnimation() is used to - * completely override all motion from the default animation system (including inverse kinematics for hand and head - * controllers) and play a set of specified animations. To end these animations and restore the default animations, use + * together with procedural data (such as look at vectors, hand sensors etc.). overrideAnimation() is used to + * completely override all motion from the default animation system (including inverse kinematics for hand and head + * controllers) and play a set of specified animations. To end these animations and restore the default animations, use * {@link MyAvatar.restoreAnimation}.

- *

Note: When using pre-built animation data, it's critical that the joint orientation of the source animation and target - * rig are equivalent, since the animation data applies absolute values onto the joints. If the orientations are different, - * the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see - * Avatar Standards.

+ *

Note: When using pre-built animation data, it's critical that the joint orientation of the source animation and target + * rig are equivalent, since the animation data applies absolute values onto the joints. If the orientations are different, + * the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see + * Avatar Standards.

* @function MyAvatar.overrideAnimation - * @param {string} url - The URL to the animation file. Animation files may be in glTF or FBX format, but only need to - * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs + * @param {string} url - The URL to the animation file. Animation files may be in glTF or FBX format, but only need to + * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs * respectively). *

Warning: glTF animations currently do not always animate correctly.

* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. @@ -704,8 +704,8 @@ public: * Use {@link MyAvatar.restoreHandAnimation} to restore the default poses. * @function MyAvatar.overrideHandAnimation * @param isLeft {boolean} true to override the left hand, false to override the right hand. - * @param {string} url - The URL of the animation file. Animation files need to be in glTF or FBX format, but only need to - * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs + * @param {string} url - The URL of the animation file. Animation files need to be in glTF or FBX format, but only need to + * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs * respectively). *

Warning: glTF animations currently do not always animate correctly.

* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. @@ -723,10 +723,10 @@ public: /*@jsdoc * Restores the default animations. - *

The avatar animation system includes a set of default animations along with rules for how those animations are blended - * together with procedural data (such as look at vectors, hand sensors etc.). Playing your own custom animations will - * override the default animations. restoreAnimation() is used to restore all motion from the default - * animation system including inverse kinematics for hand and head controllers. If you aren't currently playing an override + *

The avatar animation system includes a set of default animations along with rules for how those animations are blended + * together with procedural data (such as look at vectors, hand sensors etc.). Playing your own custom animations will + * override the default animations. restoreAnimation() is used to restore all motion from the default + * animation system including inverse kinematics for hand and head controllers. If you aren't currently playing an override * animation, this function has no effect.

* @function MyAvatar.restoreAnimation * @example Play a clapping animation on your avatar for three seconds. @@ -757,10 +757,10 @@ public: /*@jsdoc * Gets the current animation roles. - *

Each avatar has an avatar-animation.json file that defines which animations are used and how they are blended together - * with procedural data (such as look at vectors, hand sensors etc.). Each animation specified in the avatar-animation.json - * file is known as an animation role. Animation roles map to easily understandable actions that the avatar can perform, - * such as "idleStand", "idleTalk", or "walkFwd". getAnimationRoles() + *

Each avatar has an avatar-animation.json file that defines which animations are used and how they are blended together + * with procedural data (such as look at vectors, hand sensors etc.). Each animation specified in the avatar-animation.json + * file is known as an animation role. Animation roles map to easily understandable actions that the avatar can perform, + * such as "idleStand", "idleTalk", or "walkFwd". getAnimationRoles() * is used get the list of animation roles defined in the avatar-animation.json.

* @function MyAvatar.getAnimationRoles * @returns {string[]} Array of role strings. @@ -775,23 +775,23 @@ public: /*@jsdoc * Overrides a specific animation role. - *

Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily - * understandable actions that the avatar can perform, such as "idleStand", "idleTalk", or + *

Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily + * understandable actions that the avatar can perform, such as "idleStand", "idleTalk", or * "walkFwd". To get the full list of roles, use {@ link MyAvatar.getAnimationRoles}. - * For each role, the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and + * For each role, the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and * how animations are blended together with procedural data (such as look at vectors, hand sensors etc.). - * overrideRoleAnimation() is used to change the animation clip (glTF or FBX) associated with a specified + * overrideRoleAnimation() is used to change the animation clip (glTF or FBX) associated with a specified * animation role. To end the role animation and restore the default, use {@link MyAvatar.restoreRoleAnimation}.

- *

Note: Hand roles only affect the hand. Other "main" roles, like "idleStand", "idleTalk", and "takeoffStand", are full + *

Note: Hand roles only affect the hand. Other "main" roles, like "idleStand", "idleTalk", and "takeoffStand", are full * body.

*

Note: When using pre-built animation data, it's critical that the joint orientation of the source animation and target * rig are equivalent, since the animation data applies absolute values onto the joints. If the orientations are different, - * the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see - * Avatar Standards. + * the avatar will move in unpredictable ways. For more information about avatar joint orientation standards, see + * Avatar Standards. * @function MyAvatar.overrideRoleAnimation * @param {string} role - The animation role to override - * @param {string} url - The URL to the animation file. Animation files need to be in glTF or FBX format, but only need to - * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs + * @param {string} url - The URL to the animation file. Animation files need to be in glTF or FBX format, but only need to + * contain the avatar skeleton and animation data. glTF models may be in JSON or binary format (".gltf" or ".glb" URLs * respectively). *

Warning: glTF animations currently do not always animate correctly.

* @param {number} fps - The frames per second (FPS) rate for the animation playback. 30 FPS is normal speed. @@ -815,13 +815,13 @@ public: /*@jsdoc * Restores a default role animation. - *

Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily - * understandable actions that the avatar can perform, such as "idleStand", "idleTalk", or + *

Each avatar has an avatar-animation.json file that defines a set of animation roles. Animation roles map to easily + * understandable actions that the avatar can perform, such as "idleStand", "idleTalk", or * "walkFwd". To get the full list of roles, use {@link MyAvatar.getAnimationRoles}. For each role, - * the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and how animations - * are blended together with procedural data (such as look-at vectors, hand sensors etc.). You can change the animation + * the avatar-animation.json defines when the animation is used, the animation clip (glTF or FBX) used, and how animations + * are blended together with procedural data (such as look-at vectors, hand sensors etc.). You can change the animation * clip (glTF or FBX) associated with a specified animation role using {@link MyAvatar.overrideRoleAnimation}. - * restoreRoleAnimation() is used to restore a specified animation role's default animation clip. If you have + * restoreRoleAnimation() is used to restore a specified animation role's default animation clip. If you have * not specified an override animation for the specified role, this function has no effect. * @function MyAvatar.restoreRoleAnimation * @param role {string} The animation role clip to restore. @@ -838,31 +838,31 @@ public: // a handler must not remove properties from animStateDictionaryIn, nor change property values that it does not intend to change. // It is not specified in what order multiple handlers are called. /*@jsdoc - * Adds an animation state handler function that is invoked just before each animation graph update. More than one - * animation state handler function may be added by calling addAnimationStateHandler multiple times. It is not + * Adds an animation state handler function that is invoked just before each animation graph update. More than one + * animation state handler function may be added by calling addAnimationStateHandler multiple times. It is not * specified in what order multiple handlers are called. *

The animation state handler function is called with an {@link MyAvatar.AnimStateDictionary|AnimStateDictionary} - * "animStateDictionaryIn" parameter and is expected to return an - * {@link MyAvatar.AnimStateDictionary|AnimStateDictionary} "animStateDictionaryOut" object. The - * animStateDictionaryOut object can be the same object as animStateDictionaryIn, or it can be a - * different object. The animStateDictionaryIn may be shared among multiple handlers and thus may contain + * "animStateDictionaryIn" parameter and is expected to return an + * {@link MyAvatar.AnimStateDictionary|AnimStateDictionary} "animStateDictionaryOut" object. The + * animStateDictionaryOut object can be the same object as animStateDictionaryIn, or it can be a + * different object. The animStateDictionaryIn may be shared among multiple handlers and thus may contain * additional properties specified when adding the different handlers.

- *

A handler may change a value from animStateDictionaryIn or add different values in the - * animStateDictionaryOut returned. Any property values set in animStateDictionaryOut will + *

A handler may change a value from animStateDictionaryIn or add different values in the + * animStateDictionaryOut returned. Any property values set in animStateDictionaryOut will * override those of the internal animation machinery.

* @function MyAvatar.addAnimationStateHandler * @param {function} handler - The animation state handler function to add. - * @param {Array|null} propertiesList - The list of {@link MyAvatar.AnimStateDictionary|AnimStateDictionary} - * properties that should be included in the parameter that the handler function is called with. If null + * @param {Array|null} propertiesList - The list of {@link MyAvatar.AnimStateDictionary|AnimStateDictionary} + * properties that should be included in the parameter that the handler function is called with. If null * then all properties are included in the call parameter. * @returns {number} The ID of the animation state handler function if successfully added, undefined if not. * @example Log all the animation state dictionary parameters for a short while. * function animStateHandler(dictionary) { * print("Anim state dictionary: " + JSON.stringify(dictionary)); * } - * + * * var handler = MyAvatar.addAnimationStateHandler(animStateHandler, null); - * + * * Script.setTimeout(function () { * MyAvatar.removeAnimationStateHandler(handler); * }, 100); @@ -881,7 +881,7 @@ public: /*@jsdoc * Gets whether you do snap turns in HMD mode. * @function MyAvatar.getSnapTurn - * @returns {boolean} true if you do snap turns in HMD mode; false if you do smooth turns in HMD + * @returns {boolean} true if you do snap turns in HMD mode; false if you do smooth turns in HMD * mode. */ Q_INVOKABLE bool getSnapTurn() const { return _useSnapTurn; } @@ -906,11 +906,11 @@ public: * @param {MyAvatar.LocomotionControlsMode} controlScheme - The control scheme to use. */ Q_INVOKABLE void setControlScheme(int index) { _controlSchemeIndex = (index >= 0 && index <= 2) ? index : 0; } - + /*@jsdoc * Gets whether your avatar hovers when its feet are not on the ground. * @function MyAvatar.hoverWhenUnsupported - * @returns {boolean} true if your avatar hovers when its feet are not on the ground, false if it + * @returns {boolean} true if your avatar hovers when its feet are not on the ground, false if it * falls. */ // FIXME: Should be named, getHoverWhenUnsupported(). @@ -919,7 +919,7 @@ public: /*@jsdoc * Sets whether your avatar hovers when its feet are not on the ground. * @function MyAvatar.setHoverWhenUnsupported - * @param {boolean} hover - true if your avatar hovers when its feet are not on the ground, false + * @param {boolean} hover - true if your avatar hovers when its feet are not on the ground, false * if it falls. */ Q_INVOKABLE void setHoverWhenUnsupported(bool on) { _hoverWhenUnsupported = on; } @@ -927,7 +927,7 @@ public: /*@jsdoc * Sets the avatar's dominant hand. * @function MyAvatar.setDominantHand - * @param {string} hand - The dominant hand: "left" for the left hand or "right" for the right + * @param {string} hand - The dominant hand: "left" for the left hand or "right" for the right * hand. Any other value has no effect. */ Q_INVOKABLE void setDominantHand(const QString& hand); @@ -956,7 +956,7 @@ public: /*@jsdoc * Sets the HMD alignment relative to your avatar. * @function MyAvatar.setHmdAvatarAlignmentType - * @param {string} type - "head" to align your head and your avatar's head, "eyes" to align your + * @param {string} type - "head" to align your head and your avatar's head, "eyes" to align your * eyes and your avatar's eyes. */ Q_INVOKABLE void setHmdAvatarAlignmentType(const QString& type); @@ -964,7 +964,7 @@ public: /*@jsdoc * Gets the HMD alignment relative to your avatar. * @function MyAvatar.getHmdAvatarAlignmentType - * @returns {string} "head" if aligning your head and your avatar's head, "eyes" if aligning your + * @returns {string} "head" if aligning your head and your avatar's head, "eyes" if aligning your * eyes and your avatar's eyes. */ Q_INVOKABLE QString getHmdAvatarAlignmentType() const; @@ -972,7 +972,7 @@ public: /*@jsdoc * Sets whether the avatar's hips are balanced over the feet or positioned under the head. * @function MyAvatar.setCenterOfGravityModelEnabled - * @param {boolean} enabled - true to balance the hips over the feet, false to position the hips + * @param {boolean} enabled - true to balance the hips over the feet, false to position the hips * under the head. */ Q_INVOKABLE void setCenterOfGravityModelEnabled(bool value) { _centerOfGravityModelEnabled = value; } @@ -980,17 +980,17 @@ public: /*@jsdoc * Gets whether the avatar hips are being balanced over the feet or placed under the head. * @function MyAvatar.getCenterOfGravityModelEnabled - * @returns {boolean} true if the hips are being balanced over the feet, false if the hips are + * @returns {boolean} true if the hips are being balanced over the feet, false if the hips are * being positioned under the head. */ Q_INVOKABLE bool getCenterOfGravityModelEnabled() const { return _centerOfGravityModelEnabled; } /*@jsdoc - * Sets whether the avatar's position updates to recenter the avatar under the head. In room-scale VR, recentering - * causes your avatar to follow your HMD as you walk around the room. Disabling recentering is useful if you want to pin + * Sets whether the avatar's position updates to recenter the avatar under the head. In room-scale VR, recentering + * causes your avatar to follow your HMD as you walk around the room. Disabling recentering is useful if you want to pin * the avatar to a fixed position. * @function MyAvatar.setHMDLeanRecenterEnabled - * @param {boolean} enabled - true to recenter the avatar under the head as it moves, false to + * @param {boolean} enabled - true to recenter the avatar under the head as it moves, false to * disable recentering. */ Q_INVOKABLE void setHMDLeanRecenterEnabled(bool value) { _hmdLeanRecenterEnabled = value; } @@ -1004,9 +1004,9 @@ public: Q_INVOKABLE bool getHMDLeanRecenterEnabled() const { return _hmdLeanRecenterEnabled; } /*@jsdoc - * Requests that the hand touch effect is disabled for your avatar. Any resulting change in the status of the hand touch + * Requests that the hand touch effect is disabled for your avatar. Any resulting change in the status of the hand touch * effect will be signaled by {@link MyAvatar.shouldDisableHandTouchChanged}. - *

The hand touch effect makes the avatar's fingers adapt to the shape of any object grabbed, creating the effect that + *

The hand touch effect makes the avatar's fingers adapt to the shape of any object grabbed, creating the effect that * it is really touching that object.

* @function MyAvatar.requestEnableHandTouch */ @@ -1081,7 +1081,7 @@ public: Q_INVOKABLE float getRawDriveKey(DriveKeys key) const; void relayDriveKeysToCharacterController(); - + /*@jsdoc * Disables the action associated with a drive key. * @function MyAvatar.disableDriveKey @@ -1097,7 +1097,7 @@ public: Q_INVOKABLE void disableDriveKey(DriveKeys key); /*@jsdoc - * Enables the action associated with a drive key. The action may have been disabled with + * Enables the action associated with a drive key. The action may have been disabled with * {@link MyAvatar.disableDriveKey|disableDriveKey}. * @function MyAvatar.enableDriveKey * @param {DriveKey} key - The drive key to enable. @@ -1114,14 +1114,14 @@ public: /*@jsdoc - * Recenter the avatar in the vertical direction, if {@link MyAvatar|MyAvatar.hmdLeanRecenterEnabled} is + * Recenter the avatar in the vertical direction, if {@link MyAvatar|MyAvatar.hmdLeanRecenterEnabled} is * false. * @function MyAvatar.triggerVerticalRecenter */ Q_INVOKABLE void triggerVerticalRecenter(); /*@jsdoc - * Recenter the avatar in the horizontal direction, if {@link MyAvatar|MyAvatar.hmdLeanRecenterEnabled} is + * Recenter the avatar in the horizontal direction, if {@link MyAvatar|MyAvatar.hmdLeanRecenterEnabled} is * false. * @function MyAvatar.triggerHorizontalRecenter */ @@ -1136,7 +1136,7 @@ public: /*@jsdoc * Gets whether the avatar is configured to keep its center of gravity under its head. * @function MyAvatar.isRecenteringHorizontally - * @returns {boolean} true if the avatar is keeping its center of gravity under its head position, + * @returns {boolean} true if the avatar is keeping its center of gravity under its head position, * false if not. */ Q_INVOKABLE bool isRecenteringHorizontally() const; @@ -1176,7 +1176,7 @@ public: Q_INVOKABLE float getHeadFinalPitch() const { return getHead()->getFinalPitch(); } /*@jsdoc - * If a face tracker is connected and being used, gets the estimated pitch of the user's head scaled. This is scale such + * If a face tracker is connected and being used, gets the estimated pitch of the user's head scaled. This is scale such * that the avatar looks at the edge of the view frustum when the user looks at the edge of their screen. * @function MyAvatar.getHeadDeltaPitch * @returns {number} The pitch that the avatar's head should be if a face tracker is connected and being used, otherwise @@ -1201,7 +1201,7 @@ public: * @example Report the position of the avatar you're currently looking at. * print(JSON.stringify(MyAvatar.getTargetAvatarPosition())); */ - // FIXME: If not looking at an avatar, the most recently looked-at position is returned. This should be fixed to return + // FIXME: If not looking at an avatar, the most recently looked-at position is returned. This should be fixed to return // undefined or {NaN, NaN, NaN} or similar. Q_INVOKABLE glm::vec3 getTargetAvatarPosition() const { return _targetAvatarPosition; } @@ -1210,18 +1210,18 @@ public: * @function MyAvatar.getTargetAvatar * @returns {ScriptAvatar} Information on the avatar being looked at, null if no avatar is being looked at. */ - // FIXME: The return type doesn't have a conversion to a script value so the function always returns undefined in + // FIXME: The return type doesn't have a conversion to a script value so the function always returns undefined in // JavaScript. Note: When fixed, JSDoc is needed for the return type. Q_INVOKABLE ScriptAvatarData* getTargetAvatar() const; /*@jsdoc - * Gets the position of the avatar's left hand, relative to the avatar, as positioned by a hand controller (e.g., Oculus + * Gets the position of the avatar's left hand, relative to the avatar, as positioned by a hand controller (e.g., Oculus * Touch or Vive). - *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints + *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints * for hand animation.)

* @function MyAvatar.getLeftHandPosition - * @returns {Vec3} The position of the left hand in avatar coordinates if positioned by a hand controller, otherwise + * @returns {Vec3} The position of the left hand in avatar coordinates if positioned by a hand controller, otherwise * {@link Vec3(0)|Vec3.ZERO}. * @example Report the position of your left hand relative to your avatar. * print(JSON.stringify(MyAvatar.getLeftHandPosition())); @@ -1229,12 +1229,12 @@ public: Q_INVOKABLE glm::vec3 getLeftHandPosition() const; /*@jsdoc - * Gets the position of the avatar's right hand, relative to the avatar, as positioned by a hand controller (e.g., Oculus + * Gets the position of the avatar's right hand, relative to the avatar, as positioned by a hand controller (e.g., Oculus * Touch or Vive). - *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints + *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints * for hand animation.)

* @function MyAvatar.getRightHandPosition - * @returns {Vec3} The position of the right hand in avatar coordinates if positioned by a hand controller, otherwise + * @returns {Vec3} The position of the right hand in avatar coordinates if positioned by a hand controller, otherwise * {@link Vec3(0)|Vec3.ZERO}. * @example Report the position of your right hand relative to your avatar. * print(JSON.stringify(MyAvatar.getLeftHandPosition())); @@ -1242,10 +1242,10 @@ public: Q_INVOKABLE glm::vec3 getRightHandPosition() const; /*@jsdoc - * Gets the position 0.3m in front of the left hand's position in the direction along the palm, in avatar coordinates, as + * Gets the position 0.3m in front of the left hand's position in the direction along the palm, in avatar coordinates, as * positioned by a hand controller. * @function MyAvatar.getLeftHandTipPosition - * @returns {Vec3} The position 0.3m in front of the left hand's position in the direction along the palm, in avatar + * @returns {Vec3} The position 0.3m in front of the left hand's position in the direction along the palm, in avatar * coordinates. If the hand isn't being positioned by a controller, {@link Vec3(0)|Vec3.ZERO} is returned. */ Q_INVOKABLE glm::vec3 getLeftHandTipPosition() const; @@ -1254,17 +1254,17 @@ public: * Gets the position 0.3m in front of the right hand's position in the direction along the palm, in avatar coordinates, as * positioned by a hand controller. * @function MyAvatar.getRightHandTipPosition - * @returns {Vec3} The position 0.3m in front of the right hand's position in the direction along the palm, in avatar + * @returns {Vec3} The position 0.3m in front of the right hand's position in the direction along the palm, in avatar * coordinates. If the hand isn't being positioned by a controller, {@link Vec3(0)|Vec3.ZERO} is returned. */ Q_INVOKABLE glm::vec3 getRightHandTipPosition() const; /*@jsdoc - * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand as positioned by a + * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand as positioned by a * hand controller (e.g., Oculus Touch or Vive). - *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints - * for hand animation.) If you are using the Leap Motion, the return value's valid property will be + *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints + * for hand animation.) If you are using the Leap Motion, the return value's valid property will be * false and any pose values returned will not be meaningful.

* @function MyAvatar.getLeftHandPose * @returns {Pose} The pose of the avatar's left hand, relative to the avatar, as positioned by a hand controller. @@ -1274,26 +1274,26 @@ public: Q_INVOKABLE controller::Pose getLeftHandPose() const; /*@jsdoc - * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand as positioned by a + * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand as positioned by a * hand controller (e.g., Oculus Touch or Vive). - *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints - * for hand animation.) If you are using the Leap Motion, the return value's valid property will be + *

Note: The Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints + * for hand animation.) If you are using the Leap Motion, the return value's valid property will be * false and any pose values returned will not be meaningful.

* @function MyAvatar.getRightHandPose - * @returns {Pose} The pose of the avatar's right hand, relative to the avatar, as positioned by a hand controller. + * @returns {Pose} The pose of the avatar's right hand, relative to the avatar, as positioned by a hand controller. * @example Report the pose of your avatar's right hand. * print(JSON.stringify(MyAvatar.getRightHandPose())); */ Q_INVOKABLE controller::Pose getRightHandPose() const; /*@jsdoc - * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand, relative to the avatar, as + * Gets the pose (position, rotation, velocity, and angular velocity) of the avatar's left hand, relative to the avatar, as * positioned by a hand controller (e.g., Oculus Touch or Vive), and translated 0.3m along the palm. *

Note: Leap Motion isn't part of the hand controller input system. (Instead, it manipulates the avatar's joints * for hand animation.) If you are using Leap Motion, the return value's valid property will be * false and any pose values returned will not be meaningful.

* @function MyAvatar.getLeftHandTipPose - * @returns {Pose} The pose of the avatar's left hand, relative to the avatar, as positioned by a hand controller, and + * @returns {Pose} The pose of the avatar's left hand, relative to the avatar, as positioned by a hand controller, and * translated 0.3m along the palm. */ Q_INVOKABLE controller::Pose getLeftHandTipPose() const; @@ -1466,34 +1466,34 @@ public: /*@jsdoc * Checks whether your avatar is in the air. * @function MyAvatar.isInAir - * @returns {boolean} true if your avatar is taking off, flying, or falling, otherwise false + * @returns {boolean} true if your avatar is taking off, flying, or falling, otherwise false * because your avatar is on the ground. */ Q_INVOKABLE bool isInAir(); /*@jsdoc - * Sets your preference for flying in your current desktop or HMD display mode. Note that your ability to fly also depends + * Sets your preference for flying in your current desktop or HMD display mode. Note that your ability to fly also depends * on whether the domain you're in allows you to fly. * @function MyAvatar.setFlyingEnabled - * @param {boolean} enabled - Set true if you want to enable flying in your current desktop or HMD display + * @param {boolean} enabled - Set true if you want to enable flying in your current desktop or HMD display * mode, otherwise set false. */ Q_INVOKABLE void setFlyingEnabled(bool enabled); /*@jsdoc - * Gets your preference for flying in your current desktop or HMD display mode. Note that your ability to fly also depends + * Gets your preference for flying in your current desktop or HMD display mode. Note that your ability to fly also depends * on whether the domain you're in allows you to fly. * @function MyAvatar.getFlyingEnabled - * @returns {boolean} true if your preference is to enable flying in your current desktop or HMD display mode, + * @returns {boolean} true if your preference is to enable flying in your current desktop or HMD display mode, * otherwise false. */ Q_INVOKABLE bool getFlyingEnabled(); /*@jsdoc - * Sets your preference for flying in desktop display mode. Note that your ability to fly also depends on whether the domain + * Sets your preference for flying in desktop display mode. Note that your ability to fly also depends on whether the domain * you're in allows you to fly. * @function MyAvatar.setFlyingDesktopPref - * @param {boolean} enabled - Set true if you want to enable flying in desktop display mode, otherwise set + * @param {boolean} enabled - Set true if you want to enable flying in desktop display mode, otherwise set * false. */ Q_INVOKABLE void setFlyingDesktopPref(bool enabled); @@ -1502,7 +1502,7 @@ public: * Gets your preference for flying in desktop display mode. Note that your ability to fly also depends on whether the domain * you're in allows you to fly. * @function MyAvatar.getFlyingDesktopPref - * @returns {boolean} true if your preference is to enable flying in desktop display mode, otherwise + * @returns {boolean} true if your preference is to enable flying in desktop display mode, otherwise * false. */ Q_INVOKABLE bool getFlyingDesktopPref(); @@ -1624,8 +1624,8 @@ public: Q_INVOKABLE float getAvatarScale() const; /*@jsdoc - * Sets the target scale of the avatar. The target scale is the desired scale of the avatar without any restrictions on - * permissible scale values imposed by the domain. + * Sets the target scale of the avatar. The target scale is the desired scale of the avatar without any restrictions on + * permissible scale values imposed by the domain. * @function MyAvatar.setAvatarScale * @param {number} scale - The target scale for the avatar, range 0.0051000.0. */ @@ -1633,11 +1633,11 @@ public: /*@jsdoc * Sets whether the avatar should collide with entities. - *

Note: A false value won't disable collisions if the avatar is in a zone that disallows - * collisionless avatars. However, the false value will be set so that collisions are disabled as soon as the + *

Note: A false value won't disable collisions if the avatar is in a zone that disallows + * collisionless avatars. However, the false value will be set so that collisions are disabled as soon as the * avatar moves to a position where collisionless avatars are allowed. * @function MyAvatar.setCollisionsEnabled - * @param {boolean} enabled - true to enable the avatar to collide with entities, false to + * @param {boolean} enabled - true to enable the avatar to collide with entities, false to * disable. */ Q_INVOKABLE void setCollisionsEnabled(bool enabled); @@ -1653,7 +1653,7 @@ public: /*@jsdoc * Sets whether the avatar should collide with other avatars. * @function MyAvatar.setOtherAvatarsCollisionsEnabled - * @param {boolean} enabled - true to enable the avatar to collide with other avatars, false + * @param {boolean} enabled - true to enable the avatar to collide with other avatars, false * to disable. */ Q_INVOKABLE void setOtherAvatarsCollisionsEnabled(bool enabled); @@ -1667,7 +1667,7 @@ public: /*@jsdoc * Gets the avatar's collision capsule: a cylinder with hemispherical ends that approximates the extents or the avatar. - *

Warning: The values returned are in world coordinates but aren't necessarily up to date with the + *

Warning: The values returned are in world coordinates but aren't necessarily up to date with the * avatar's current position.

* @function MyAvatar.getCollisionCapsule * @returns {MyAvatar.CollisionCapsule} The avatar's collision capsule. @@ -1746,21 +1746,21 @@ public: glm::mat4 deriveBodyUsingCgModel(); /*@jsdoc - * Tests whether a vector is pointing in the general direction of the avatar's "up" direction (i.e., dot product of vectors + * Tests whether a vector is pointing in the general direction of the avatar's "up" direction (i.e., dot product of vectors * is > 0). * @function MyAvatar.isUp * @param {Vec3} direction - The vector to test. - * @returns {boolean} true if the direction vector is pointing generally in the direction of the avatar's "up" + * @returns {boolean} true if the direction vector is pointing generally in the direction of the avatar's "up" * direction. */ Q_INVOKABLE bool isUp(const glm::vec3& direction) { return glm::dot(direction, _worldUpDirection) > 0.0f; }; // true iff direction points up wrt avatar's definition of up. /*@jsdoc - * Tests whether a vector is pointing in the general direction of the avatar's "down" direction (i.e., dot product of + * Tests whether a vector is pointing in the general direction of the avatar's "down" direction (i.e., dot product of * vectors is < 0). * @function MyAvatar.isDown * @param {Vec3} direction - The vector to test. - * @returns {boolean} true if the direction vector is pointing generally in the direction of the avatar's + * @returns {boolean} true if the direction vector is pointing generally in the direction of the avatar's * "down" direction. */ Q_INVOKABLE bool isDown(const glm::vec3& direction) { return glm::dot(direction, _worldUpDirection) < 0.0f; }; @@ -1844,7 +1844,7 @@ public: /*@jsdoc * Forces the avatar's eyes to look at a specified location. Once this method is called, API calls - * full control of the eyes for a limited time. If this method is not called for 2 seconds, + * full control of the eyes for a limited time. If this method is not called for 2 seconds, * the engine regains control of the eyes. * @function MyAvatar.setEyesLookAt * @param {Vec3} lookAtTarget - The target point in world coordinates. @@ -1865,7 +1865,7 @@ public: Q_INVOKABLE void releaseEyesLookAtControl(); /*@jsdoc - * Sets the point-at target for the "point" reaction that may be started with {@link MyAvatar.beginReaction}. + * Sets the point-at target for the "point" reaction that may be started with {@link MyAvatar.beginReaction}. * The point-at target is set only if it is in front of the avatar. *

Note: The "point" reaction should be started before calling this method.

* @function MyAvatar.setPointAt @@ -1946,20 +1946,20 @@ public: * @comment Uses the base class's JSDoc. */ int sendAvatarDataPacket(bool sendAll = false) override; - + void addAvatarHandsToFlow(const std::shared_ptr& otherAvatar); /*@jsdoc - * Enables and disables flow simulation of physics on the avatar's hair, clothes, and body parts. See - * {@link https://docs.vircadia.dev/create/avatars/add-flow.html|Add Flow to Your Avatar} for more + * Enables and disables flow simulation of physics on the avatar's hair, clothes, and body parts. See + * {@link https://docs.vircadia.com/create/avatars/add-flow.html|Add Flow to Your Avatar} for more * information. * @function MyAvatar.useFlow * @param {boolean} isActive - true if flow simulation is enabled on the joint, false if it isn't. - * @param {boolean} isCollidable - true to enable collisions in the flow simulation, false to + * @param {boolean} isCollidable - true to enable collisions in the flow simulation, false to * disable. - * @param {Object} [physicsConfig] - Physics configurations for particular entity + * @param {Object} [physicsConfig] - Physics configurations for particular entity * and avatar joints. - * @param {Object} [collisionsConfig] - Collision configurations for particular + * @param {Object} [collisionsConfig] - Collision configurations for particular * entity and avatar joints. */ Q_INVOKABLE void useFlow(bool isActive, bool isCollidable, const QVariantMap& physicsConfig = QVariantMap(), const QVariantMap& collisionsConfig = QVariantMap()); @@ -2078,7 +2078,7 @@ public slots: void setGravity(float gravity); /*@jsdoc - * Sets the amount of gravity applied to the avatar in the y-axis direction. (Negative values are downward.) The default + * Sets the amount of gravity applied to the avatar in the y-axis direction. (Negative values are downward.) The default * value is -5 m/s2. * @function MyAvatar.getGravity * @returns {number} The amount of gravity currently applied to the avatar, in m/s2. @@ -2086,7 +2086,7 @@ public slots: float getGravity(); /*@jsdoc - * Moves the avatar to a new position and/or orientation in the domain, with safe landing, while taking into account avatar + * Moves the avatar to a new position and/or orientation in the domain, with safe landing, while taking into account avatar * leg length. * @function MyAvatar.goToFeetLocation * @param {Vec3} position - The new position for the avatar, in world coordinates. @@ -2095,7 +2095,7 @@ public slots: * @param {boolean} [shouldFaceLocation=false] - Set to true to position the avatar a short distance away from * the new position and orientate the avatar to face the position. */ - void goToFeetLocation(const glm::vec3& newPosition, bool hasOrientation = false, + void goToFeetLocation(const glm::vec3& newPosition, bool hasOrientation = false, const glm::quat& newOrientation = glm::quat(), bool shouldFaceLocation = false); /*@jsdoc @@ -2104,7 +2104,7 @@ public slots: * @param {Vec3} position - The new position for the avatar, in world coordinates. * @param {boolean} [hasOrientation=false] - Set to true to set the orientation of the avatar. * @param {Quat} [orientation=Quat.IDENTITY] - The new orientation for the avatar. - * @param {boolean} [shouldFaceLocation=false] - Set to true to position the avatar a short distance away from + * @param {boolean} [shouldFaceLocation=false] - Set to true to position the avatar a short distance away from * the new position and orientate the avatar to face the position. * @param {boolean} [withSafeLanding=true] - Set to false to disable safe landing when teleporting. */ @@ -2152,7 +2152,7 @@ public slots: * Adds a thrust to your avatar's current thrust to be applied for a short while. * @function MyAvatar.addThrust * @param {Vec3} thrust - The thrust direction and magnitude. - * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related + * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related * properties instead. */ // Set/Get update the thrust that will move the avatar around @@ -2162,7 +2162,7 @@ public slots: * Gets the thrust currently being applied to your avatar. * @function MyAvatar.getThrust * @returns {Vec3} The thrust currently being applied to your avatar. - * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related + * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related * properties instead. */ glm::vec3 getThrust() { return _thrust; }; @@ -2171,14 +2171,14 @@ public slots: * Sets the thrust to be applied to your avatar for a short while. * @function MyAvatar.setThrust * @param {Vec3} thrust - The thrust direction and magnitude. - * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related + * @deprecated This function is deprecated and will be removed. Use {@link MyAvatar|MyAvatar.motorVelocity} and related * properties instead. */ void setThrust(glm::vec3 newThrust) { _thrust = newThrust; } /*@jsdoc - * Updates avatar motion behavior from the Developer > Avatar > Enable Default Motor Control and Enable Scripted + * Updates avatar motion behavior from the Developer > Avatar > Enable Default Motor Control and Enable Scripted * Motor Control menu items. * @function MyAvatar.updateMotionBehaviorFromMenu */ @@ -2192,8 +2192,8 @@ public slots: void setToggleHips(bool followHead); /*@jsdoc - * Displays the base of support area debug graphics if in HMD mode. If your head goes outside this area your avatar's hips - * are moved to counterbalance your avatar, and if your head moves too far then your avatar's position is moved (i.e., a + * Displays the base of support area debug graphics if in HMD mode. If your head goes outside this area your avatar's hips + * are moved to counterbalance your avatar, and if your head moves too far then your avatar's position is moved (i.e., a * step happens). * @function MyAvatar.setEnableDebugDrawBaseOfSupport * @param {boolean} enabled - true to show the debug graphics, false to hide. @@ -2208,7 +2208,7 @@ public slots: void setEnableDebugDrawDefaultPose(bool isEnabled); /*@jsdoc - * Displays animation debug graphics. By default, the animation poses used for rendering are displayed. However, + * Displays animation debug graphics. By default, the animation poses used for rendering are displayed. However, * {@link MyAvatar.setDebugDrawAnimPoseName} can be used to set a specific animation node to display. * @function MyAvatar.setEnableDebugDrawAnimPose * @param {boolean} enabled - true to show the debug graphics, false to hide. @@ -2216,10 +2216,10 @@ public slots: void setEnableDebugDrawAnimPose(bool isEnabled); /*@jsdoc - * Sets the animation node to display when animation debug graphics are enabled with + * Sets the animation node to display when animation debug graphics are enabled with * {@link MyAvatar.setEnableDebugDrawAnimPose}. * @function MyAvatar.setDebugDrawAnimPoseName - * @param {string} poseName - The name of the animation node to display debug graphics for. Use "" to reset to + * @param {string} poseName - The name of the animation node to display debug graphics for. Use "" to reset to * default. */ void setDebugDrawAnimPoseName(QString poseName); @@ -2314,17 +2314,17 @@ public slots: /*@jsdoc * Gets the URL of the override animation graph. - *

See {@link https://docs.vircadia.dev/create/avatars/custom-animations.html|Custom Avatar Animations} for + *

See {@link https://docs.vircadia.com/create/avatars/custom-animations.html|Custom Avatar Animations} for * information on animation graphs.

* @function MyAvatar.getAnimGraphOverrideUrl - * @returns {string} The URL of the override animation graph JSON file. "" if there is no override animation + * @returns {string} The URL of the override animation graph JSON file. "" if there is no override animation * graph. */ QUrl getAnimGraphOverrideUrl() const; // thread-safe /*@jsdoc * Sets the animation graph to use in preference to the default animation graph. - *

See {@link https://docs.vircadia.dev/create/avatars/custom-animations.html|Custom Avatar Animations} for + *

See {@link https://docs.vircadia.com/create/avatars/custom-animations.html|Custom Avatar Animations} for * information on animation graphs.

* @function MyAvatar.setAnimGraphOverrideUrl * @param {string} url - The URL of the animation graph JSON file to use. Set to "" to clear an override. @@ -2333,7 +2333,7 @@ public slots: /*@jsdoc * Gets the URL of animation graph (i.e., the avatar animation JSON) that's currently being used for avatar animations. - *

See {@link https://docs.vircadia.dev/create/avatars/custom-animations.html|Custom Avatar Animations} for + *

See {@link https://docs.vircadia.com/create/avatars/custom-animations.html|Custom Avatar Animations} for * information on animation graphs.

* @function MyAvatar.getAnimGraphUrl * @returns {string} The URL of the current animation graph JSON file. @@ -2344,7 +2344,7 @@ public slots: /*@jsdoc * Sets the current animation graph (i.e., the avatar animation JSON) to use for avatar animations and makes it the default. - *

See {@link https://docs.vircadia.dev/create/avatars/custom-animations.html|Custom Avatar Animations} for + *

See {@link https://docs.vircadia.com/create/avatars/custom-animations.html|Custom Avatar Animations} for * information on animation graphs.

* @function MyAvatar.setAnimGraphUrl * @param {string} url - The URL of the animation graph JSON file to use. @@ -2360,7 +2360,7 @@ public slots: glm::vec3 getPositionForAudio(); /*@jsdoc - * Gets the orientation of your listening position for spatialized audio. The orientation depends on the value of the + * Gets the orientation of your listening position for spatialized audio. The orientation depends on the value of the * {@link Myavatar|audioListenerMode} property. * @function MyAvatar.getOrientationForAudio * @returns {Quat} The orientation of your listening position. @@ -2386,7 +2386,7 @@ public slots: /*@jsdoc - * Gets the list of reactions names that can be enabled using {@link MyAvatar.beginReaction} and + * Gets the list of reactions names that can be enabled using {@link MyAvatar.beginReaction} and * {@link MyAvatar.endReaction}. *

See also: {@link MyAvatar.getTriggerReactions}. * @function MyAvatar.getBeginEndReactions @@ -2407,7 +2407,7 @@ public slots: bool triggerReaction(QString reactionName); /*@jsdoc - * Starts playing a reaction on the avatar. The reaction will continue to play until stopped using + * Starts playing a reaction on the avatar. The reaction will continue to play until stopped using * {@link MyAvatar.endReaction} or superseded by another reaction. *

Only reactions returned by {@link MyAvatar.getBeginEndReactions} are available.

* @function MyAvatar.beginReaction @@ -2429,7 +2429,7 @@ signals: /*@jsdoc * Triggered when the {@link MyAvatar|audioListenerMode} property value changes. * @function MyAvatar.audioListenerModeChanged - * @returns {Signal} + * @returns {Signal} */ void audioListenerModeChanged(); @@ -2437,7 +2437,7 @@ signals: * Triggered when the walk speed set for the "AnalogPlus" control scheme changes. * @function MyAvatar.analogPlusWalkSpeedChanged * @param {number} speed - The new walk speed set for the "AnalogPlus" control scheme. - * @returns {Signal} + * @returns {Signal} */ void analogPlusWalkSpeedChanged(float value); @@ -2445,31 +2445,31 @@ signals: * Triggered when the sprint (run) speed set for the "AnalogPlus" control scheme changes. * @function MyAvatar.analogPlusSprintSpeedChanged * @param {number} speed - The new sprint speed set for the "AnalogPlus" control scheme. - * @returns {Signal} + * @returns {Signal} */ void analogPlusSprintSpeedChanged(float value); /*@jsdoc - * Triggered when the sprint (run) speed set for the current control scheme (see + * Triggered when the sprint (run) speed set for the current control scheme (see * {@link MyAvatar.getControlScheme|getControlScheme}) changes. * @function MyAvatar.sprintSpeedChanged * @param {number} speed -The new sprint speed set for the current control scheme. - * @returns {Signal} + * @returns {Signal} */ void sprintSpeedChanged(float value); /*@jsdoc - * Triggered when the walk backward speed set for the current control scheme (see + * Triggered when the walk backward speed set for the current control scheme (see * {@link MyAvatar.getControlScheme|getControlScheme}) changes. * @function MyAvatar.walkBackwardSpeedChanged * @param {number} speed - The new walk backward speed set for the current control scheme. - * @returns {Signal} + * @returns {Signal} */ void walkBackwardSpeedChanged(float value); /*@jsdoc * @function MyAvatar.transformChanged - * @returns {Signal} + * @returns {Signal} * @deprecated This signal is deprecated and will be removed. */ void transformChanged(); @@ -2478,7 +2478,7 @@ signals: * Triggered when the {@link MyAvatar|collisionSoundURL} property value changes. * @function MyAvatar.newCollisionSoundURL * @param {string} url - The URL of the new collision sound. - * @returns {Signal} + * @returns {Signal} */ void newCollisionSoundURL(const QUrl& url); @@ -2497,7 +2497,7 @@ signals: /*@jsdoc * Triggered when collisions with the environment are enabled or disabled. * @function MyAvatar.collisionsEnabledChanged - * @param {boolean} enabled - true if collisions with the environment are enabled, false if + * @param {boolean} enabled - true if collisions with the environment are enabled, false if * they're not. * @returns {Signal} */ @@ -2506,7 +2506,7 @@ signals: /*@jsdoc * Triggered when collisions with other avatars are enabled or disabled. * @function MyAvatar.otherAvatarsCollisionsEnabledChanged - * @param {boolean} enabled - true if collisions with other avatars are enabled, false if they're + * @param {boolean} enabled - true if collisions with other avatars are enabled, false if they're * not. * @returns {Signal} */ @@ -2526,7 +2526,7 @@ signals: /*@jsdoc * @function MyAvatar.energyChanged * @param {number} energy - Avatar energy. - * @returns {Signal} + * @returns {Signal} * @deprecated This signal is deprecated and will be removed. */ void energyChanged(float newEnergy); @@ -2534,7 +2534,7 @@ signals: /*@jsdoc * Triggered when the avatar has been moved to a new position by one of the MyAvatar "goTo" functions. * @function MyAvatar.positionGoneTo - * @returns {Signal} + * @returns {Signal} */ // FIXME: Better name would be goneToLocation(). void positionGoneTo(); @@ -2556,7 +2556,7 @@ signals: /*@jsdoc * Triggered when your avatar changes from being active to being away. * @function MyAvatar.wentAway - * @returns {Signal} + * @returns {Signal} * @example Report when your avatar goes away. * MyAvatar.wentAway.connect(function () { * print("My avatar went away"); @@ -2568,7 +2568,7 @@ signals: /*@jsdoc * Triggered when your avatar changes from being away to being active. * @function MyAvatar.wentActive - * @returns {Signal} + * @returns {Signal} */ void wentActive(); @@ -2576,7 +2576,7 @@ signals: * Triggered when the avatar's model (i.e., {@link MyAvatar|skeletonModelURL} property value) is changed. *

Synonym of {@link MyAvatar.skeletonModelURLChanged|skeletonModelURLChanged}.

* @function MyAvatar.skeletonChanged - * @returns {Signal} + * @returns {Signal} */ void skeletonChanged(); @@ -2584,14 +2584,14 @@ signals: * Triggered when the avatar's dominant hand changes. * @function MyAvatar.dominantHandChanged * @param {string} hand - The dominant hand: "left" for the left hand, "right" for the right hand. - * @returns {Signal} + * @returns {Signal} */ void dominantHandChanged(const QString& hand); /*@jsdoc * Triggered when the HMD alignment for your avatar changes. * @function MyAvatar.hmdAvatarAlignmentTypeChanged - * @param {string} type - "head" if aligning your head and your avatar's head, "eyes" if aligning + * @param {string} type - "head" if aligning your head and your avatar's head, "eyes" if aligning * your eyes and your avatar's eyes. * @returns {Signal} */ @@ -2600,27 +2600,27 @@ signals: /*@jsdoc * Triggered when the avatar's sensorToWorldScale property value changes. * @function MyAvatar.sensorToWorldScaleChanged - * @param {number} scale - The scale that transforms dimensions in the user's real world to the avatar's size in the virtual + * @param {number} scale - The scale that transforms dimensions in the user's real world to the avatar's size in the virtual * world. - * @returns {Signal} + * @returns {Signal} */ void sensorToWorldScaleChanged(float sensorToWorldScale); /*@jsdoc - * Triggered when the a model is attached to or detached from one of the avatar's joints using one of - * {@link MyAvatar.attach|attach}, {@link MyAvatar.detachOne|detachOne}, {@link MyAvatar.detachAll|detachAll}, or + * Triggered when the a model is attached to or detached from one of the avatar's joints using one of + * {@link MyAvatar.attach|attach}, {@link MyAvatar.detachOne|detachOne}, {@link MyAvatar.detachAll|detachAll}, or * {@link MyAvatar.setAttachmentData|setAttachmentData}. * @function MyAvatar.attachmentsChanged - * @returns {Signal} + * @returns {Signal} * @deprecated This signal is deprecated and will be removed. Use avatar entities instead. */ void attachmentsChanged(); /*@jsdoc - * Triggered when the avatar's size changes. This can be due to the user changing the size of their avatar or the domain + * Triggered when the avatar's size changes. This can be due to the user changing the size of their avatar or the domain * limiting the size of their avatar. * @function MyAvatar.scaleChanged - * @returns {Signal} + * @returns {Signal} */ void scaleChanged(); @@ -2629,7 +2629,7 @@ signals: *

The hand touch effect makes the avatar's fingers adapt to the shape of any object grabbed, creating the effect that * it is really touching that object.

* @function MyAvatar.shouldDisableHandTouchChanged - * @param {boolean} disabled - true if the hand touch effect is disabled for the avatar, + * @param {boolean} disabled - true if the hand touch effect is disabled for the avatar, * false if it isn't disabled. * @returns {Signal} */ @@ -2703,7 +2703,7 @@ private: virtual void detachOne(const QString& modelURL, const QString& jointName = QString()) override; virtual void detachAll(const QString& modelURL, const QString& jointName = QString()) override; - + // Attachments/Avatar Entity void attachmentDataToEntityProperties(const AttachmentData& data, EntityItemProperties& properties); AttachmentData entityPropertiesToAttachmentData(const EntityItemProperties& properties) const; diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.h b/libraries/avatars-renderer/src/avatars-renderer/Avatar.h index 3f5faccb3b..986121054b 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.h +++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.h @@ -207,7 +207,7 @@ public: /*@jsdoc * Gets the default rotation of a joint (in the current avatar) relative to its parent. *

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function MyAvatar.getDefaultJointRotation * @param {number} index - The joint index. * @returns {Quat} The default rotation of the joint if the joint index is valid, otherwise {@link Quat(0)|Quat.IDENTITY}. @@ -218,10 +218,10 @@ public: * Gets the default translation of a joint (in the current avatar) relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function MyAvatar.getDefaultJointTranslation * @param {number} index - The joint index. - * @returns {Vec3} The default translation of the joint (in model coordinates) if the joint index is valid, otherwise + * @returns {Vec3} The default translation of the joint (in model coordinates) if the joint index is valid, otherwise * {@link Vec3(0)|Vec3.ZERO}. */ Q_INVOKABLE virtual glm::vec3 getDefaultJointTranslation(int index) const; @@ -283,7 +283,7 @@ public: // world-space to avatar-space rigconversion functions /*@jsdoc - * Transforms a position in world coordinates to a position in a joint's coordinates, or avatar coordinates if no joint is + * 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 * @param {Vec3} position - The position in world coordinates. @@ -293,7 +293,7 @@ public: Q_INVOKABLE glm::vec3 worldToJointPoint(const glm::vec3& position, const int jointIndex = -1) const; /*@jsdoc - * Transforms a direction in world coordinates to a direction in a joint's coordinates, or avatar coordinates if no joint + * 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 * @param {Vec3} direction - The direction in world coordinates. @@ -303,7 +303,7 @@ public: Q_INVOKABLE glm::vec3 worldToJointDirection(const glm::vec3& direction, const int jointIndex = -1) const; /*@jsdoc - * Transforms a rotation in world coordinates to a rotation in a joint's coordinates, or avatar coordinates if no joint is + * 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 * @param {Quat} rotation - The rotation in world coordinates. @@ -313,7 +313,7 @@ public: Q_INVOKABLE glm::quat worldToJointRotation(const glm::quat& rotation, const int jointIndex = -1) const; /*@jsdoc - * Transforms a position in a joint's coordinates, or avatar coordinates if no joint is specified, to a position in world + * 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 * @param {Vec3} position - The position in joint coordinates, or avatar coordinates if no joint is specified. @@ -323,7 +323,7 @@ public: Q_INVOKABLE glm::vec3 jointToWorldPoint(const glm::vec3& position, const int jointIndex = -1) const; /*@jsdoc - * Transforms a direction in a joint's coordinates, or avatar coordinates if no joint is specified, to a direction in world + * 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 * @param {Vec3} direction - The direction in joint coordinates, or avatar coordinates if no joint is specified. @@ -333,7 +333,7 @@ public: Q_INVOKABLE glm::vec3 jointToWorldDirection(const glm::vec3& direction, const int jointIndex = -1) const; /*@jsdoc - * Transforms a rotation in a joint's coordinates, or avatar coordinates if no joint is specified, to a rotation in world + * 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 * @param {Quat} rotation - The rotation in joint coordinates, or avatar coordinates if no joint is specified. @@ -351,7 +351,7 @@ public: virtual int parseDataFromBuffer(const QByteArray& buffer) override; /*@jsdoc - * Sets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example, + * Sets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example, * with an offset of { x: 0, y: 0.1, z: 0 }, your avatar will appear to be raised off the ground slightly. * @function MyAvatar.setSkeletonOffset * @param {Vec3} offset - The skeleton offset to set. @@ -367,7 +367,7 @@ public: Q_INVOKABLE void setSkeletonOffset(const glm::vec3& offset); /*@jsdoc - * Gets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example, + * Gets the offset applied to the current avatar. The offset adjusts the position that the avatar is rendered. For example, * with an offset of { x: 0, y: 0.1, z: 0 }, your avatar will appear to be raised off the ground slightly. * @function MyAvatar.getSkeletonOffset * @returns {Vec3} The current skeleton offset. @@ -452,7 +452,7 @@ public: /*@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 + * @param {Uuid} parentID - The ID of the entity or avatar that the avatar should be parented to. Set to * {@link Uuid(0)|Uuid.NULL} to unparent. */ // This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript. @@ -461,17 +461,17 @@ public: /*@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. 65535 or + * @returns {number} The joint of the entity or avatar that the avatar is parented to. 65535 or * -1 if parented to the entity or avatar's position and orientation rather than a joint. */ // 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 - * Sets the joint of the entity or avatar that the avatar is parented to. + * 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 - * 65535 or -1 to parent to the entity or avatar's position and orientation rather than a + * 65535 or -1 to parent to the entity or avatar's position and orientation rather than a * joint. */ // This calls through to the SpatiallyNestable versions, but is here to expose these to JavaScript. @@ -557,7 +557,7 @@ public: signals: /*@jsdoc - * Triggered when the avatar's target scale is changed. The target scale is the desired scale of the avatar without any + * 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 * @param {number} targetScale - The avatar's target scale. @@ -758,7 +758,7 @@ protected: static void metaBlendshapeOperator(render::ItemID renderItemID, int blendshapeNumber, const QVector& blendshapeOffsets, const QVector& blendedMeshSizes, const render::ItemIDs& subItemIDs); - + std::vector _multiSphereShapes; AABox _fitBoundingBox; void clearAvatarGrabData(const QUuid& grabID) override; diff --git a/libraries/avatars-renderer/src/avatars-renderer/ScriptAvatar.h b/libraries/avatars-renderer/src/avatars-renderer/ScriptAvatar.h index f434498204..190653881e 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/ScriptAvatar.h +++ b/libraries/avatars-renderer/src/avatars-renderer/ScriptAvatar.h @@ -87,10 +87,10 @@ public slots: /*@jsdoc * Gets the default rotation of a joint in the avatar relative to its parent. *

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function ScriptAvatar.getDefaultJointRotation * @param {number} index - The joint index. - * @returns {Quat} The default rotation of the joint if avatar data are available and the joint index is valid, otherwise + * @returns {Quat} The default rotation of the joint if avatar data are available and the joint index is valid, otherwise * {@link Quat(0)|Quat.IDENTITY}. */ glm::quat getDefaultJointRotation(int index) const; @@ -99,7 +99,7 @@ public slots: * Gets the default translation of a joint in the avatar relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function ScriptAvatar.getDefaultJointTranslation * @param {number} index - The joint index. * @returns {Vec3} The default translation of the joint (in model coordinates) if avatar data are available and the joint @@ -120,7 +120,7 @@ public slots: * Gets the position of a joint in the avatar. * @function ScriptAvatar.getJointPosition * @param {number} index - The index of the joint. - * @returns {Vec3} The position of the joint in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't + * @returns {Vec3} The position of the joint in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't * available. */ glm::vec3 getJointPosition(int index) const; @@ -154,7 +154,7 @@ public slots: /*@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 + * @returns {Uuid} The ID of the entity or avatar that the avatar is parented to. {@link Uuid(0)|Uuid.NULL} if not parented * or avatar data aren't available. */ QUuid getParentID() const; @@ -163,7 +163,7 @@ public slots: * 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. 65535 or - * -1 if parented to the entity or avatar's position and orientation rather than a joint, or avatar data + * -1 if parented to the entity or avatar's position and orientation rather than a joint, or avatar data * aren't available. */ quint16 getParentJointIndex() const; @@ -189,7 +189,7 @@ public slots: /*@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 + * @returns {Vec3} The position of the left palm in world coordinates, or {@link Vec3(0)|Vec3.ZERO} if avatar data aren't * available. */ glm::vec3 getLeftPalmPosition() const; @@ -197,7 +197,7 @@ public slots: /*@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 + * @returns {Quat} The rotation of the left palm in world coordinates, or {@link Quat(0)|Quat.IDENTITY} if the avatar data * aren't available. */ glm::quat getLeftPalmRotation() const; diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index ff00f9d68b..75f65540d4 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -530,23 +530,23 @@ class AvatarData : public QObject, public SpatiallyNestable { * avatar. Read-only. * @property {number} sensorToWorldScale - The scale that transforms dimensions in the user's real world to the avatar's * size in the virtual world. Read-only. - * @property {boolean} hasPriority - true if the avatar is in a "hero" zone, false if it isn't. + * @property {boolean} hasPriority - true if the avatar is in a "hero" zone, false if it isn't. * Read-only. - * @property {boolean} hasScriptedBlendshapes=false - true if blend shapes are controlled by scripted actions, - * otherwise false. Set this to true before using the {@link Avatar.setBlendshape} method, + * @property {boolean} hasScriptedBlendshapes=false - true if blend shapes are controlled by scripted actions, + * otherwise false. Set this to true before using the {@link Avatar.setBlendshape} method, * and set back to false after you no longer want scripted control over the blend shapes. - *

Note: This property will automatically be set to true if the controller system has + *

Note: This property will automatically be set to true if the controller system has * valid facial blend shape actions.

- * @property {boolean} hasProceduralBlinkFaceMovement=true - true if avatars blink automatically by animating - * facial blend shapes, false if automatic blinking is disabled. Set to false to fully control + * @property {boolean} hasProceduralBlinkFaceMovement=true - true if avatars blink automatically by animating + * facial blend shapes, false if automatic blinking is disabled. Set to false to fully control * the blink facial blend shapes via the {@link Avatar.setBlendshape} method. - * @property {boolean} hasProceduralEyeFaceMovement=true - true if the facial blend shapes for an avatar's eyes - * adjust automatically as the eyes move, false if this automatic movement is disabled. Set this property + * @property {boolean} hasProceduralEyeFaceMovement=true - true if the facial blend shapes for an avatar's eyes + * adjust automatically as the eyes move, false if this automatic movement is disabled. Set this property * to true to prevent the iris from being obscured by the upper or lower lids. Set to false to * fully control the eye blend shapes via the {@link Avatar.setBlendshape} method. - * @property {boolean} hasAudioEnabledFaceMovement=true - true if the avatar's mouth blend shapes animate - * automatically based on detected microphone input, false if this automatic movement is disabled. Set - * this property to false to fully control the mouth facial blend shapes via the + * @property {boolean} hasAudioEnabledFaceMovement=true - true if the avatar's mouth blend shapes animate + * automatically based on detected microphone input, false if this automatic movement is disabled. Set + * this property to false to fully control the mouth facial blend shapes via the * {@link Avatar.setBlendshape} method. */ Q_PROPERTY(glm::vec3 position READ getWorldPosition WRITE setPositionViaScript) @@ -758,7 +758,7 @@ public: void setDomainMaximumHeight(float domainMaximumHeight); /*@jsdoc - * Sets the pointing state of the hands to control where the laser emanates from. If the right index finger is pointing, the + * 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 * @param {HandState} state - The pointing state of the hand. @@ -787,9 +787,9 @@ public: * Sets a specific joint's rotation and position relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + * kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointData * @param {number} index - The index of the joint. @@ -816,10 +816,10 @@ public: /*@jsdoc * Sets a specific joint's rotation relative to its parent. - *

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + *

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, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointRotation * @param {number} index - The index of the joint. @@ -831,9 +831,9 @@ public: * Sets a specific joint's translation relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + * kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointTranslation * @param {number} index - The index of the joint. @@ -842,7 +842,7 @@ public: Q_INVOKABLE virtual void setJointTranslation(int index, const glm::vec3& translation); /*@jsdoc - * Clears joint translations and rotations set by script for a specific joint. This restores all motion from the default + * 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. *

Note: This is slightly faster than the function variation that specifies the joint name.

* @function Avatar.clearJointData @@ -859,8 +859,8 @@ public: Q_INVOKABLE bool isJointDataValid(int index) const; /*@jsdoc - * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see - * Avatar Standards. + * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see + * Avatar Standards. * @function Avatar.getJointRotation * @param {number} index - The index of the joint. * @returns {Quat} The rotation of the joint relative to its parent. @@ -870,8 +870,8 @@ public: /*@jsdoc * Gets the translation of a joint relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

- *

For information on the joint hierarchy used, see - * Avatar Standards.

+ *

For information on the joint hierarchy used, see + * Avatar Standards.

* @function Avatar.getJointTranslation * @param {number} index - The index of the joint. * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates. @@ -882,9 +882,9 @@ public: * Sets a specific joint's rotation and position relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + * kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointData * @param {string} name - The name of the joint. @@ -895,10 +895,10 @@ public: /*@jsdoc * Sets a specific joint's rotation relative to its parent. - *

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + *

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, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointRotation * @param {string} name - The name of the joint. @@ -930,19 +930,19 @@ public: * Sets a specific joint's translation relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

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, - * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate - * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set + * kinematics, but just for the specified joint. So for example, if you were to procedurally manipulate the finger joints, + * the avatar's hand and head would still do inverse kinematics properly. However, as soon as you start to manipulate + * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointTranslation * @param {string} name - The name of the joint. * @param {Vec3} translation - The translation of the joint relative to its parent, in model coordinates. - * @example Stretch your avatar's neck. Depending on the avatar you are using, you will either see a gap between + * @example Stretch your avatar's neck. Depending on the avatar you are using, you will either see a gap between * the head and body or you will see the neck stretched.
* Avatar with neck stretched * // Stretch your avatar's neck. * MyAvatar.setJointTranslation("Neck", Vec3.multiply(2, MyAvatar.getJointTranslation("Neck"))); - * + * * // Restore your avatar's neck after 5s. * Script.setTimeout(function () { * MyAvatar.clearJointData("Neck"); @@ -953,7 +953,7 @@ public: Q_INVOKABLE virtual void setJointTranslation(const QString& name, const glm::vec3& translation); /*@jsdoc - * Clears joint translations and rotations set by script for a specific joint. This restores all motion from the default + * 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. *

Note: This is slightly slower than the function variation that specifies the joint index.

* @function Avatar.clearJointData @@ -980,8 +980,8 @@ public: Q_INVOKABLE virtual bool isJointDataValid(const QString& name) const; /*@jsdoc - * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see - * Avatar Standards. + * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see + * Avatar Standards. * @function Avatar.getJointRotation * @param {string} name - The name of the joint. * @returns {Quat} The rotation of the joint relative to its parent. @@ -996,7 +996,7 @@ public: * Gets the translation of a joint relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function Avatar.getJointTranslation * @param {number} name - The name of the joint. * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates. @@ -1010,7 +1010,7 @@ public: /*@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 + * @returns {Quat[]} The rotations of all joints relative to each's parent. The values are in the same order as the array * returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the Avatar API. * @example Report the rotations of all your avatar's joints. * print(JSON.stringify(MyAvatar.getJointRotations())); @@ -1024,8 +1024,8 @@ public: * model coordinates. *

Warning: These coordinates are not necessarily in meters.

* @function Avatar.getJointTranslations - * @returns {Vec3[]} The translations of all joints relative to each's parent, in model coordinates. The values are in the - * same order as the array returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the + * @returns {Vec3[]} The translations of all joints relative to each's parent, in model coordinates. The values are in the + * same order as the array returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the * Avatar API. */ Q_INVOKABLE virtual QVector getJointTranslations() const; @@ -1038,7 +1038,7 @@ public: * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointRotations - * @param {Quat[]} jointRotations - The rotations for all joints in the avatar. The values are in the same order as the + * @param {Quat[]} jointRotations - The rotations for all joints in the avatar. The values are in the same order as the * array returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the Avatar API. * @example Set your avatar to its default T-pose then rotate its right arm.
* Avatar in T-pose @@ -1051,7 +1051,7 @@ public: * } * * // Get all join rotations. - * var jointRotations = MyAvatar.getJointRotations(); + * var jointRotations = MyAvatar.getJointRotations(); * * // Update the rotation of the right arm in the array. * jointRotations[MyAvatar.getJointIndex("RightArm")] = { x: 0.47, y: 0.22, z: -0.02, w: 0.87 }; @@ -1067,9 +1067,9 @@ public: * // Note: If using from the Avatar API, replace all occurrences of "MyAvatar" with "Avatar". */ Q_INVOKABLE virtual void setJointRotations(const QVector& jointRotations); - + /*@jsdoc - * Sets the translations of all joints in the current avatar. Each joint's translation is relative to its parent joint, in + * Sets the translations of all joints in the current avatar. Each joint's translation is relative to its parent joint, in * model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

Setting joint data completely overrides/replaces all motion from the default animation system including inverse @@ -1078,14 +1078,14 @@ public: * joints in the inverse kinematics chain, the inverse kinematics might not function as you expect. For example, if you set * the rotation of the elbow, the hand inverse kinematics position won't end up in the right place.

* @function Avatar.setJointTranslations - * @param {Vec3[]} translations - The translations for all joints in the avatar, in model coordinates. The values are in - * the same order as the array returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the + * @param {Vec3[]} translations - The translations for all joints in the avatar, in model coordinates. The values are in + * the same order as the array returned by {@link MyAvatar.getJointNames}, or {@link Avatar.getJointNames} if using the * Avatar API. */ Q_INVOKABLE virtual void setJointTranslations(const QVector& jointTranslations); /*@jsdoc - * Clears all joint translations and rotations that have been set by script. This restores all motion from the default + * 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 * @example Set your avatar to it's default T-pose for a while. @@ -1107,7 +1107,7 @@ public: Q_INVOKABLE virtual void clearJointsData(); /*@jsdoc - * Gets the joint index for a named joint. The joint index value is the position of the joint in the array returned by + * 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 Avatar API. * @function Avatar.getJointIndex * @param {string} name - The name of the joint. @@ -1133,12 +1133,12 @@ public: /*@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 hasScriptedBlendshapes to true. When you are done using this API, - * set hasScriptedBlendshapes back to false when the animation is complete. + * 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 hasScriptedBlendshapes to true. When you are done using this API, + * set hasScriptedBlendshapes back to false when the animation is complete. * @function Avatar.setBlendshape - * @param {string} name - The name of the blendshape, per the - * {@link https://docs.vircadia.dev/create/avatars/avatar-standards.html#blendshapes Avatar Standards}. + * @param {string} name - The name of the blendshape, per the + * {@link https://docs.vircadia.com/create/avatars/avatar-standards.html#blendshapes Avatar Standards}. * @param {number} value - A value between 0.0 and 1.0. * @example Open your avatar's mouth wide. * MyAvatar.hasScriptedBlendshapes = true; @@ -1160,7 +1160,7 @@ public: /*@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 + * {@link MyAvatar.getAttachmentsVariant} or {@link Avatar.getAttachmentsVariant}, make changes to it, and then want to * update your avatar's attachments per the changed data. * @function Avatar.setAttachmentsVariant * @param {AttachmentData[]} variant - The attachment data defining the models to have attached to your avatar. @@ -1186,7 +1186,7 @@ public: * @deprecated This function is deprecated and will be removed. */ Q_INVOKABLE virtual void clearAvatarEntity(const QUuid& entityID, bool requiresRemovalFromTree = true); - + // FIXME: Rename to clearAvatarEntity() once the API call is removed. virtual void clearAvatarEntityInternal(const QUuid& entityID); @@ -1195,12 +1195,12 @@ public: QList getAvatarEntityIDs() const; /*@jsdoc - * Enables blend shapes set using {@link Avatar.setBlendshape} or {@link MyAvatar.setBlendshape} to be transmitted to other + * 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. - *

Deprecated: This method is deprecated and will be removed. Use the + *

Deprecated: This method is deprecated and will be removed. Use the * Avatar.hasScriptedBlendshapes or MyAvatar.hasScriptedBlendshapes property instead.

* @function Avatar.setForceFaceTrackerConnected - * @param {boolean} connected - true to enable blend shape changes to be transmitted to other users, + * @param {boolean} connected - true to enable blend shape changes to be transmitted to other users, * false to disable. */ Q_INVOKABLE void setForceFaceTrackerConnected(bool connected) { setHasScriptedBlendshapes(connected); } @@ -1274,7 +1274,7 @@ public: /*@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 + * {@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 attachmentData to null. * @function Avatar.setAttachmentData * @param {AttachmentData[]} attachmentData - The attachment data defining the models to have attached to your avatar. Use @@ -1300,19 +1300,19 @@ public: * 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 - * @param {string} modelURL - The URL of the glTF, FBX, or OBJ model to attach. glTF models may be in JSON or binary format + * @param {string} modelURL - The URL of the glTF, FBX, or OBJ model to attach. glTF models may be in JSON or binary format * (".gltf" or ".glb" URLs respectively). - * @param {string} [jointName=""] - The name of the avatar joint (see {@link MyAvatar.getJointNames} or + * @param {string} [jointName=""] - The name of the avatar joint (see {@link MyAvatar.getJointNames} or * {@link Avatar.getJointNames}) to attach the model to. * @param {Vec3} [translation=Vec3.ZERO] - The offset to apply to the model relative to the joint position. * @param {Quat} [rotation=Quat.IDENTITY] - The rotation to apply to the model relative to the joint orientation. * @param {number} [scale=1.0] - The scale to apply to the model. - * @param {boolean} [isSoft=false] - If the model has a skeleton, set this to true so that the bones of the - * attached model's skeleton are rotated to fit the avatar's current pose. isSoft is used, for example, + * @param {boolean} [isSoft=false] - If the model has a skeleton, set this to true so that the bones of the + * attached model's skeleton are rotated to fit the avatar's current pose. isSoft is used, for example, * to have clothing that moves with the avatar. - *

If true, the translation, rotation, and scale parameters are + *

If true, the translation, rotation, and scale parameters are * ignored.

- * @param {boolean} [allowDuplicates=false] - If true then more than one copy of any particular model may be + * @param {boolean} [allowDuplicates=false] - If true then more than one copy of any particular model may be * attached to the same joint; if false then the same model cannot be attached to the same joint. * @param {boolean} [useSaved=true] - Not used. * @deprecated This function is deprecated and will be removed. Use avatar entities instead. @@ -1344,7 +1344,7 @@ public: * 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. - * @param {string} [jointName=""] - The name of the joint to detach the model from. If "", then the most + * @param {string} [jointName=""] - The name of the joint to detach the model from. If "", then the most * recently attached model is removed from which ever joint it was attached to. * @deprecated This function is deprecated and will be removed. Use avatar entities instead. */ @@ -1354,7 +1354,7 @@ public: * 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. - * @param {string} [jointName=""] - The name of the joint to detach the model from. If "", then the model is + * @param {string} [jointName=""] - The name of the joint to detach the model from. If "", then the model is * detached from all joints. * @deprecated This function is deprecated and will be removed. Use avatar entities instead. */ @@ -1414,7 +1414,7 @@ public: /*@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, + * @returns {Mat4} The scale, rotation, and translation transform from the user's real world to the avatar's size, * orientation, and position in the virtual world. * @example Report the sensor to world matrix. * var sensorToWorldMatrix = MyAvatar.getSensorToWorldMatrix(); @@ -1431,7 +1431,7 @@ public: /*@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 + * @returns {number} The scale that transforms dimensions in the user's real world to the avatar's size in the virtual * world. */ // thread safe @@ -1661,7 +1661,7 @@ public slots: virtual bool setAbsoluteJointTranslationInObjectFrame(int index, const glm::vec3& translation) override { return false; } /*@jsdoc - * Gets the target scale of the avatar without any restrictions on permissible values imposed by the domain. In contrast, the + * Gets the target scale of the avatar without any restrictions on permissible values imposed by the domain. In contrast, the * scale property's value may be limited by the domain's settings. * @function Avatar.getTargetScale * @returns {number} The target scale of the avatar. @@ -1703,7 +1703,7 @@ protected: void unpackSkeletonModelURL(const QByteArray& data); void unpackSkeletonData(const QByteArray& data); - + // isReplicated will be true on downstream Avatar Mixers and their clients, but false on the upstream "master" // Audio Mixer that the replicated avatar is connected to. bool _isReplicated{ false }; diff --git a/libraries/avatars/src/ScriptAvatarData.h b/libraries/avatars/src/ScriptAvatarData.h index a9deb81a27..29f6a62bae 100644 --- a/libraries/avatars/src/ScriptAvatarData.h +++ b/libraries/avatars/src/ScriptAvatarData.h @@ -117,10 +117,10 @@ public: /*@jsdoc * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see - * Avatar Standards. + * Avatar Standards. * @function ScriptAvatar.getJointRotation * @param {number} index - The index of the joint. - * @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data + * @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data * aren't available. */ Q_INVOKABLE glm::quat getJointRotation(int index) const; @@ -129,20 +129,20 @@ public: * Gets the translation of a joint relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function ScriptAvatar.getJointTranslation * @param {number} index - The index of the joint. - * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO} + * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO} * if the avatar data aren't available. */ Q_INVOKABLE glm::vec3 getJointTranslation(int index) const; /*@jsdoc * Gets the rotation of a joint relative to its parent. For information on the joint hierarchy used, see - * Avatar Standards. + * Avatar Standards. * @function ScriptAvatar.getJointRotation * @param {string} name - The name of the joint. - * @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data + * @returns {Quat} The rotation of the joint relative to its parent, or {@link Quat(0)|Quat.IDENTITY} if the avatar data * aren't available. */ Q_INVOKABLE glm::quat getJointRotation(const QString& name) const; @@ -151,10 +151,10 @@ public: * Gets the translation of a joint relative to its parent, in model coordinates. *

Warning: These coordinates are not necessarily in meters.

*

For information on the joint hierarchy used, see - * Avatar Standards.

+ * Avatar Standards.

* @function ScriptAvatar.getJointTranslation * @param {number} name - The name of the joint. - * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO} + * @returns {Vec3} The translation of the joint relative to its parent, in model coordinates, or {@link Vec3(0)|Vec3.ZERO} * if the avatar data aren't available. */ Q_INVOKABLE glm::vec3 getJointTranslation(const QString& name) const; @@ -162,7 +162,7 @@ public: /*@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 [] if the avatar data aren't + * @returns {Quat[]} The rotations of all joints relative to each's parent, or [] if the avatar data aren't * available. The values are in the same order as the array returned by {@link ScriptAvatar.getJointNames}. */ Q_INVOKABLE QVector getJointRotations() const; @@ -172,8 +172,8 @@ public: * model coordinates. *

Warning: These coordinates are not necessarily in meters.

* @function ScriptAvatar.getJointTranslations - * @returns {Vec3[]} The translations of all joints relative to each's parent, in model coordinates, or [] if - * the avatar data aren't available. The values are in the same order as the array returned by + * @returns {Vec3[]} The translations of all joints relative to each's parent, in model coordinates, or [] if + * the avatar data aren't available. The values are in the same order as the array returned by * {@link ScriptAvatar.getJointNames}. */ Q_INVOKABLE QVector getJointTranslations() const; @@ -182,7 +182,7 @@ public: * Checks that the data for a joint are valid. * @function ScriptAvatar.isJointDataValid * @param {number} index - The index of the joint. - * @returns {boolean} true if the joint data are valid, false if not or the avatar data aren't + * @returns {boolean} true if the joint data are valid, false if not or the avatar data aren't * available. */ Q_INVOKABLE bool isJointDataValid(const QString& name) const; @@ -206,7 +206,7 @@ public: /*@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 [] if the avatar data + * @returns {AttachmentData[]} Information about all models attached to the avatar, or [] if the avatar data * aren't available. * @deprecated This function is deprecated and will be removed. Use avatar entities instead. */ @@ -228,7 +228,7 @@ public: glm::mat4 getSensorToWorldMatrix() const; glm::mat4 getControllerLeftHandMatrix() const; glm::mat4 getControllerRightHandMatrix() const; - + bool getHasPriority() const; signals: @@ -268,7 +268,7 @@ public slots: * Gets the rotation of a joint relative to the avatar. * @function ScriptAvatar.getAbsoluteJointRotationInObjectFrame * @param {number} index - The index of the joint. - * @returns {Quat} The rotation of the joint relative to the avatar, or {@link Quat(0)|Quat.IDENTITY} if the avatar data + * @returns {Quat} The rotation of the joint relative to the avatar, or {@link Quat(0)|Quat.IDENTITY} if the avatar data * aren't available. */ glm::quat getAbsoluteJointRotationInObjectFrame(int index) const; @@ -277,7 +277,7 @@ public slots: * Gets the translation of a joint relative to the avatar. * @function ScriptAvatar.getAbsoluteJointTranslationInObjectFrame * @param {number} index - The index of the joint. - * @returns {Vec3} The translation of the joint relative to the avatar, or {@link Vec3(0)|Vec3.ZERO} if the avatar data + * @returns {Vec3} The translation of the joint relative to the avatar, or {@link Vec3(0)|Vec3.ZERO} if the avatar data * aren't available. */ glm::vec3 getAbsoluteJointTranslationInObjectFrame(int index) const; diff --git a/libraries/image/src/image/TextureProcessing.h b/libraries/image/src/image/TextureProcessing.h index ff81e98a77..40ce90df8b 100644 --- a/libraries/image/src/image/TextureProcessing.h +++ b/libraries/image/src/image/TextureProcessing.h @@ -23,7 +23,7 @@ namespace image { std::function getHDRPackingFunction(); std::function getHDRUnpackingFunction(); - void convertToFloatFromPacked(const unsigned char* source, int width, int height, size_t srcLineByteStride, gpu::Element sourceFormat, + void convertToFloatFromPacked(const unsigned char* source, int width, int height, size_t srcLineByteStride, gpu::Element sourceFormat, glm::vec4* output, size_t outputLinePixelStride); void convertToPackedFromFloat(unsigned char* output, int width, int height, size_t outputLineByteStride, gpu::Element outputFormat, const glm::vec4* source, size_t srcLinePixelStride); @@ -32,8 +32,8 @@ namespace TextureUsage { /*@jsdoc *

Describes the type of texture.

- *

See also: {@link Material} and - * {@link https://docs.vircadia.dev/create/3d-models/pbr-materials-guide.html|PBR Materials Guide}.

+ *

See also: {@link Material} and + * {@link https://docs.vircadia.com/create/3d-models/pbr-materials-guide.html|PBR Materials Guide}.

* * * @@ -102,7 +102,7 @@ gpu::TexturePointer createCubeTextureFromImage(Image&& image, const std::string& gpu::TexturePointer createAmbientCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName, bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); gpu::TexturePointer createLightmapTextureFromImage(Image&& image, const std::string& srcImageName, - bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); + bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); gpu::TexturePointer process2DTextureColorFromImage(Image&& srcImage, const std::string& srcImageName, bool compress, gpu::BackendTarget target, bool isStrict, const std::atomic& abortProcessing); gpu::TexturePointer process2DTextureNormalMapFromImage(Image&& srcImage, const std::string& srcImageName, bool compress, diff --git a/libraries/midi/src/Midi.h b/libraries/midi/src/Midi.h index c81aa4f04b..28f3ed2a1e 100644 --- a/libraries/midi/src/Midi.h +++ b/libraries/midi/src/Midi.h @@ -21,9 +21,9 @@ #include /*@jsdoc - * The Midi API provides the ability to connect Interface with musical instruments and other external or virtual - * devices via the MIDI protocol. For further information and examples, see the tutorial: - * Use MIDI to Control Your Environment. + * The Midi API provides the ability to connect Interface with musical instruments and other external or virtual + * devices via the MIDI protocol. For further information and examples, see the tutorial: + * Use MIDI to Control Your Environment. * *

Note: Only works on Windows.

* @@ -43,7 +43,7 @@ public: void midiHardwareChange(); // relay hardware change to Javascript void sendRawMessage(int device, int raw); // relay midi message to MIDI outputs void sendNote(int status, int note, int velocity); // relay a note to MIDI outputs - void sendMessage(int device, int channel, int type, int note, int velocity); // relay a message to MIDI outputs + void sendMessage(int device, int channel, int type, int note, int velocity); // relay a message to MIDI outputs static void USBchanged(); private: @@ -150,7 +150,7 @@ public slots: /*@jsdoc * Enables or disables repeating all incoming notes to all outputs. (Default is disabled.) * @function Midi.thruModeEnable - * @param {boolean} enable - true to enable repeating all incoming notes to all output, false to + * @param {boolean} enable - true to enable repeating all incoming notes to all output, false to * disable. */ Q_INVOKABLE void thruModeEnable(bool enable); @@ -159,11 +159,11 @@ public slots: /*@jsdoc * Enables or disables broadcasts to all unblocked devices. * @function Midi.broadcastEnable - * @param {boolean} enable - true to have "send" functions broadcast to all devices, false to + * @param {boolean} enable - true to have "send" functions broadcast to all devices, false to * have them send to specific output devices. */ Q_INVOKABLE void broadcastEnable(bool enable); - + /// filter by event types diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index 0855b0bd73..2618ba9f00 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -182,7 +182,7 @@ public: * Script.setInterval(function () { * print("Hello"); * }, 1000); - * + * * Script.setTimeout(function () { * Script.stop(true); * }, 5000); @@ -303,7 +303,7 @@ public: /*@jsdoc * Checks whether the script is running as an Interface or avatar script. * @function Script.isClientScript - * @returns {boolean} true if the script is running as an Interface or avatar script, false if it + * @returns {boolean} true if the script is running as an Interface or avatar script, false if it * isn't. */ Q_INVOKABLE bool isClientScript() const { return _context == CLIENT_SCRIPT; } @@ -311,7 +311,7 @@ public: /*@jsdoc * Checks whether the application was compiled as a debug build. * @function Script.isDebugMode - * @returns {boolean} true if the application was compiled as a debug build, false if it was + * @returns {boolean} true if the application was compiled as a debug build, false if it was * compiled as a release build. */ Q_INVOKABLE bool isDebugMode() const; @@ -333,7 +333,7 @@ public: /*@jsdoc * Checks whether the script is running as an assignment client script. * @function Script.isAgentScript - * @returns {boolean} true if the script is running as an assignment client script, false if it + * @returns {boolean} true if the script is running as an assignment client script, false if it * isn't. */ Q_INVOKABLE bool isAgentScript() const { return _context == AGENT_SCRIPT; } @@ -347,7 +347,7 @@ public: * @function Script.addEventHandler * @param {Uuid} entityID - The ID of the entity. * @param {Script.EntityEvent} eventName - The name of the event. - * @param {Script~entityEventCallback|Script~pointerEventCallback|Script~collisionEventCallback} handler - The function to + * @param {Script~entityEventCallback|Script~pointerEventCallback|Script~collisionEventCallback} handler - The function to * call when the event occurs on the entity. It can be either the name of a function or an in-line definition. * @example
* var entityID = Entities.addEntity({ @@ -356,11 +356,11 @@ public: * dimensions: { x: 0.5, y: 0.5, z: 0.5 }, * lifetime: 300 // Delete after 5 minutes. * }); - * + * * function reportMousePress(entityID, event) { * print("Mouse pressed on entity: " + JSON.stringify(event)); * } - * + * * Script.addEventHandler(entityID, "mousePressOnEntity", reportMousePress); */ Q_INVOKABLE void addEventHandler(const EntityItemID& entityID, const QString& eventName, QScriptValue handler); @@ -376,7 +376,7 @@ public: Q_INVOKABLE void removeEventHandler(const EntityItemID& entityID, const QString& eventName, QScriptValue handler); /*@jsdoc - * Starts running another script in Interface, if it isn't already running. The script is not automatically loaded next + * Starts running another script in Interface, if it isn't already running. The script is not automatically loaded next * time Interface starts. *

Supported Script Types: Interface Scripts • Avatar Scripts

*

See also, {@link ScriptDiscoveryService.loadScript}.

@@ -398,13 +398,13 @@ public: Q_INVOKABLE void load(const QString& loadfile); /*@jsdoc - * Includes JavaScript from other files in the current script. If a callback is specified, the files are loaded and - * included asynchronously, otherwise they are included synchronously (i.e., script execution blocks while the files are + * Includes JavaScript from other files in the current script. If a callback is specified, the files are loaded and + * included asynchronously, otherwise they are included synchronously (i.e., script execution blocks while the files are * included). * @function Script.include * @variation 0 * @param {string[]} filenames - The URLs of the scripts to include. Each can be relative to the current script. - * @param {function} [callback=null] - The function to call back when the scripts have been included. It can be either the + * @param {function} [callback=null] - The function to call back when the scripts have been included. It can be either the * name of a function or an in-line definition. */ Q_INVOKABLE void include(const QStringList& includeFiles, QScriptValue callback = QScriptValue()); @@ -414,7 +414,7 @@ public: * asynchronously, otherwise it is included synchronously (i.e., script execution blocks while the file is included). * @function Script.include * @param {string} filename - The URL of the script to include. It can be relative to the current script. - * @param {function} [callback=null] - The function to call back when the script has been included. It can be either the + * @param {function} [callback=null] - The function to call back when the script has been included. It can be either the * name of a function or an in-line definition. * @example * // First file: scriptA.js @@ -438,12 +438,12 @@ public: // MODULE related methods /*@jsdoc - * Provides access to methods or objects provided in an external JavaScript or JSON file. - * See {@link https://docs.vircadia.dev/script/js-tips.html} for further details. + * Provides access to methods or objects provided in an external JavaScript or JSON file. + * See {@link https://docs.vircadia.com/script/js-tips.html} for further details. * @function Script.require - * @param {string} module - The module to use. May be a JavaScript file, a JSON file, or the name of a system module such + * @param {string} module - The module to use. May be a JavaScript file, a JSON file, or the name of a system module such * as "appUi" (i.e., the "appUi.js" system module JavaScript file). - * @returns {object|array} The value assigned to module.exports in the JavaScript file, or the value defined + * @returns {object|array} The value assigned to module.exports in the JavaScript file, or the value defined * in the JSON file. */ Q_INVOKABLE QScriptValue require(const QString& moduleId); @@ -550,7 +550,7 @@ public: Q_INVOKABLE QUrl resourcesPath() const; /*@jsdoc - * Starts timing a section of code in order to send usage data about it to Vircadia. Shouldn't be used outside of the + * Starts timing a section of code in order to send usage data about it to Vircadia. Shouldn't be used outside of the * standard scripts. * @function Script.beginProfileRange * @param {string} label - A name that identifies the section of code. @@ -558,7 +558,7 @@ public: Q_INVOKABLE void beginProfileRange(const QString& label) const; /*@jsdoc - * Finishes timing a section of code in order to send usage data about it to Vircadia. Shouldn't be used outside of + * Finishes timing a section of code in order to send usage data about it to Vircadia. Shouldn't be used outside of * the standard scripts. * @function Script.endProfileRange * @param {string} label - A name that identifies the section of code. @@ -640,7 +640,7 @@ public: Q_INVOKABLE void callEntityScriptMethod(const EntityItemID& entityID, const QString& methodName, const EntityItemID& otherID, const Collision& collision); /*@jsdoc - * Manually runs the JavaScript garbage collector which reclaims memory by disposing of objects that are no longer + * Manually runs the JavaScript garbage collector which reclaims memory by disposing of objects that are no longer * reachable. * @function Script.requestGarbageCollection */ @@ -695,9 +695,9 @@ public: * but this method will return the asset's current URL.) * @function Script.getExternalPath * @param {Script.ResourceBucket} bucket - The external resource bucket that the asset is in. - * @param {string} path - The path within the external resource bucket where the asset is located. + * @param {string} path - The path within the external resource bucket where the asset is located. *

Normally, this should start with a path or filename to be appended to the bucket URL. - * Alternatively, it can be a relative path starting with ./ or ../, to navigate within the + * Alternatively, it can be a relative path starting with ./ or ../, to navigate within the * resource bucket's URL.

* @Returns {string} The URL of an external asset. * @example @@ -793,8 +793,8 @@ signals: void cleanupMenuItem(const QString& menuItemString); /*@jsdoc - * Triggered when the script prints a message to the program log via {@link print}, {@link Script.print}, - * {@link console.log}, {@link console.debug}, {@link console.group}, {@link console.groupEnd}, {@link console.time}, or + * Triggered when the script prints a message to the program log via {@link print}, {@link Script.print}, + * {@link console.log}, {@link console.debug}, {@link console.group}, {@link console.groupEnd}, {@link console.time}, or * {@link console.timeEnd}. * @function Script.printedMessage * @param {string} message - The message. @@ -804,7 +804,7 @@ signals: void printedMessage(const QString& message, const QString& scriptName); /*@jsdoc - * Triggered when the script generates an error, {@link console.error} or {@link console.exception} is called, or + * Triggered when the script generates an error, {@link console.error} or {@link console.exception} is called, or * {@link console.assert} is called and fails. * @function Script.errorMessage * @param {string} message - The error message. diff --git a/server-console/src/content-update.html b/server-console/src/content-update.html index 7c6b4c9971..037545ed53 100644 --- a/server-console/src/content-update.html +++ b/server-console/src/content-update.html @@ -1,13 +1,13 @@ - Vircadia Sandbox + Vircadia Server
-

We backed up your old Sandbox content, just in case.

+

We backed up your old Server content, just in case.

To restore it, follow these steps:

@@ -25,7 +25,7 @@
Step 1 -

1. Stop your Sandbox server. +

1. Stop your Vircadia server.

@@ -35,7 +35,7 @@
Step 4 -

4. Restart your Sandbox server. +

4. Restart your Vircadia server.

@@ -45,7 +45,7 @@
diff --git a/server-console/src/splash.html b/server-console/src/splash.html index f273ef16b7..e2e84eebae 100644 --- a/server-console/src/splash.html +++ b/server-console/src/splash.html @@ -28,7 +28,7 @@ You can make your home yours by uploading your own models and scripts.

- To get started exploring and creating, check out our Quick-start Guide + To get started exploring and creating, check out our Quick-start Guide

@@ -51,7 +51,7 @@ You can make your home yours by uploading your own models and scripts.

- For more information on managing your server, visit our documentation + For more information on managing your server, visit our documentation

diff --git a/tools/jsdoc/api-mainpage.md b/tools/jsdoc/api-mainpage.md index 9135c88bbc..2b8f28ebd4 100644 --- a/tools/jsdoc/api-mainpage.md +++ b/tools/jsdoc/api-mainpage.md @@ -1,9 +1,11 @@ -The Vircadia JavaScript API lets content creators and developers create new experiences and transform virtual worlds within the Vircadia metaverse. With it, you can build great content, customize avatars, play audio and so much more. +The Vircadia JavaScript API lets content creators and developers create new experiences and transform virtual worlds within the Vircadia metaverse. With it, you can build great content, customize avatars, play audio and so much more. You are most likely to interact with these APIs: * The **[Entities](Entities.html)** namespace lets you add, remove, and edit entities around you to build an interactive environment. In addition, you can use this namespace to find entities in range, direction, collision, or raytrace. -* The **[AvatarList](AvatarList.html)**, **[MyAvatar](MyAvatar.html)**, and **[Avatar](Avatar.html)** namespaces affect your personal avatars, and lets you get information on other people's avatars. +* The **[AvatarList](AvatarList.html)**, **[MyAvatar](MyAvatar.html)**, and **[Avatar](Avatar.html)** namespaces affect your personal avatars, and lets you get information on other people's avatars. * The **[Script](Script.html)** namespace lets you to connect callbacks from your client to script, such as functionality that is dependent on time (`Script.update`, `Script.setTimeout`, `Script.setInterval`, etc), connect paths relatively to assets (`Script.resolvePath`), refer to other scripts (`Script.require`, `Script.include`), or connect functions to events which occur when the script is turned off (`Script.scriptEnding`). -To learn more about using Vircadia and exploring the metaverse, visit the [Vircadia Documentation](https://docs.vircadia.dev). +To learn more about using Vircadia and exploring the metaverse, visit the [Vircadia User Documentation](https://docs.vircadia.com). + +For source developer oriented documentation, visit the [Vircadia Developer Documentation](https://docs.vircadia.dev).
ValueNameDescription
Report when a mouse press occurs on a particular entity.Include a script file asynchronously.Report the URL of a default particle.