Merge pull request #427 from kasenvr/feature/further-rebranding
Feature/further rebranding
|
@ -97,7 +97,7 @@ endif()
|
|||
|
||||
option(VCPKG_APPLOCAL_DEPS OFF)
|
||||
|
||||
project(athena)
|
||||
project(vircadia)
|
||||
include("cmake/init.cmake")
|
||||
include("cmake/compiler.cmake")
|
||||
option(VCPKG_APPLOCAL_DEPS OFF)
|
||||
|
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 132 KiB |
|
@ -79,7 +79,7 @@
|
|||
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 gamepadRefURL = "https://docs.vircadia.dev/explore/get-started/vr-controls.html#gamepad";
|
||||
|
||||
function showKbm() {
|
||||
document.getElementById("main_image").setAttribute("src", "img/tablet-help-keyboard.jpg");
|
||||
|
|
BIN
interface/resources/images/about-vircadia.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
23
interface/resources/images/vircadia-logo.svg
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="1880" height="320" viewBox="0 0 1880.00 320.00" enable-background="new 0 0 1880.00 320.00" xml:space="preserve">
|
||||
<radialGradient id="SVGID_Fill1_" cx="-571.529" cy="-604.157" r="3176.39" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.451163" stop-color="#01BDFF" stop-opacity="1"/>
|
||||
<stop offset="0.827907" stop-color="#8C1AFF" stop-opacity="1"/>
|
||||
</radialGradient>
|
||||
<path fill="url(#SVGID_Fill1_)" stroke-width="0.2" stroke-linejoin="round" d="M 28.723,5.00146L 1706.72,5.00146C 1726.61,5.00146 1750.24,21.1192 1759.51,41.0015L 1870.49,278.999C 1879.76,298.881 1871.16,314.999 1851.28,314.999L 173.277,314.999C 153.395,314.999 129.761,298.881 120.49,278.999L 9.51012,41.0015C 0.238872,21.1192 8.84079,5.00146 28.723,5.00146 Z "/>
|
||||
<path fill="#36393F" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 678.939,23.013L 1697.3,23.0124C 1723.4,22.9324 1739.32,35.2514 1749.85,58.4911L 1844.51,261.508C 1860.58,289.515 1859.52,298.385 1825.06,296.987L 677.061,296.987"/>
|
||||
<g>
|
||||
<path fill="#FAFAFA" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 699.7,159.966C 699.7,145.281 702.032,131.093 706.698,117.404C 711.363,103.714 718.063,91.58 726.796,81.0016C 735.529,70.4231 745.996,61.9604 758.199,55.6133C 770.401,49.2663 784.039,46.0927 799.112,46.0927L 906.779,46.0927L 906.779,93.8823L 800.189,93.8823C 794.686,93.8823 789.003,95.7491 783.142,99.4827C 777.28,103.216 771.896,108.132 766.992,114.23C 762.087,120.328 758.019,127.36 754.789,135.325C 751.559,143.29 749.944,151.379 749.944,159.593C 749.944,167.807 751.499,175.896 754.61,183.861C 757.72,191.826 761.788,198.92 766.812,205.142C 771.837,211.365 777.459,216.343 783.68,220.077C 789.901,223.81 796.122,225.677 802.342,225.677L 906.779,225.677L 906.779,273.467L 798.036,273.467C 782.244,273.467 768.248,270.044 756.045,263.199C 743.843,256.354 733.555,247.456 725.181,236.504C 716.807,225.553 710.466,213.356 706.16,199.915C 701.853,186.475 699.7,173.158 699.7,159.966 Z "/>
|
||||
<rect x="1464.81" y="46.0927" fill="#FAFAFA" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" width="55.9871" height="227.374"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 493.02,97.6159L 493.02,139.602L 493,139.602L 493,199.602L 493.02,199.602L 493.02,273.467L 439.123,273.467L 439.123,46.0928L 566.737,46.0928C 578.327,46.0928 588.237,48.2707 596.467,52.6265C 604.696,56.9823 611.419,62.7071 616.635,69.8009C 621.851,76.8946 625.618,84.9218 627.936,93.8824C 630.254,102.843 631.413,111.928 631.413,121.137C 631.413,128.604 630.428,136.009 628.457,143.352C 626.487,150.695 623.763,157.54 620.286,163.887C 616.809,170.234 612.578,175.896 607.594,180.874C 602.61,185.852 597.104,189.71 591.077,192.448L 654.363,273.467L 588.295,273.467L 521,188.288L 521,149.512L 566.737,149.512C 568.359,149.512 569.982,148.517 571.605,146.526C 573.227,144.534 574.618,142.17 575.777,139.432C 576.937,136.694 577.922,133.894 578.733,131.031C 579.544,128.169 579.95,125.991 579.95,124.498C 579.95,122.257 579.718,119.644 579.255,116.657C 578.791,113.67 578.038,110.746 576.995,107.883C 575.951,105.021 574.56,102.594 572.822,100.603C 571.083,98.6115 569.055,97.6159 566.737,97.6159L 493.02,97.6159 Z "/>
|
||||
<g>
|
||||
<rect x="340.465" y="46.0927" fill="#FFFFFF" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" width="54.9846" height="227.374"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 55.5166,46.093L 161.961,273.467L 214.479,273.467L 216.626,269.689L 115.436,46.093L 55.5166,46.093 Z "/>
|
||||
<path fill="#FFFFFF" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 231.92,235.709L 319.513,46.0926L 259.594,46.0926L 202.957,171.669L 231.92,235.709 Z "/>
|
||||
<path fill="#FAFAFA" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 987.874,273.467L 926.863,273.467L 1034.17,46.0927L 1088,46.0927L 1195.67,273.467L 1134.66,273.467L 1106.67,212.983L 1047.45,212.983L 1044.83,212.918L 1065.94,164.447L 1087.65,164.447L 1060.73,106.576"/>
|
||||
<path fill="#FAFAFA" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 1605.13,273.467L 1544.12,273.467L 1651.43,46.0927L 1705.26,46.0927L 1812.93,273.467L 1751.91,273.467L 1723.92,212.983L 1664.7,212.983L 1662,212.918L 1683.24,164.447L 1704.9,164.447L 1677.98,106.576"/>
|
||||
<path fill="#FAFAFA" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 1438.98,159.966C 1438.98,173.158 1436.83,186.475 1432.52,199.915C 1428.22,213.356 1421.88,225.553 1413.5,236.504C 1405.13,247.456 1394.84,256.354 1382.64,263.199C 1370.43,270.044 1356.44,273.467 1340.65,273.467L 1217.91,273.467L 1217.91,121.9L 1272.1,121.9L 1272.1,225.677L 1335.98,225.677C 1342.2,225.677 1348.42,223.81 1354.64,220.077C 1360.86,216.343 1366.49,211.365 1371.51,205.142C 1376.54,198.92 1380.6,191.826 1383.71,183.861C 1386.82,175.896 1388.38,167.807 1388.38,159.593C 1388.38,150.632 1386.58,142.17 1383,134.205C 1379.41,126.24 1375.04,119.271 1369.9,113.297C 1364.75,107.323 1359.31,102.594 1353.57,99.1094C 1347.82,95.6247 1342.8,93.8824 1338.49,93.8824L 1272.1,93.8824L 1272.1,93.9001L 1217.91,93.9001L 1217.91,46.0927L 1332.03,46.0927C 1350.46,46.0927 1366.43,49.0796 1379.95,55.0533C 1393.46,61.0269 1404.59,69.1163 1413.32,79.3215C 1422.06,89.5265 1428.52,101.536 1432.7,115.35C 1436.89,129.165 1438.98,144.037 1438.98,159.966 Z "/>
|
||||
</svg>
|
|
@ -85,7 +85,9 @@ FocusScope {
|
|||
Image {
|
||||
id: banner
|
||||
anchors.centerIn: parent
|
||||
source: "../images/project-athena-banner-color2.svg"
|
||||
sourceSize.width: 500
|
||||
sourceSize.height: 91
|
||||
source: "../images/vircadia-logo.svg"
|
||||
horizontalAlignment: Image.AlignHCenter
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ Item {
|
|||
clip: true
|
||||
height: root.height
|
||||
width: root.width
|
||||
readonly property string termsContainerText: qsTr("By signing up, you agree to Project Athena's Terms of Service")
|
||||
readonly property string termsContainerText: qsTr("By signing up, you agree to Vircadia's Terms of Service")
|
||||
property int textFieldHeight: 31
|
||||
property string fontFamily: "Raleway"
|
||||
property int fontSize: 15
|
||||
|
|
|
@ -19,7 +19,7 @@ import TabletScriptingInterface 1.0
|
|||
Item {
|
||||
id: usernameCollisionBody
|
||||
clip: true
|
||||
readonly property string termsContainerText: qsTr("By creating this user profile, you agree to Project Athena's Terms of Service")
|
||||
readonly property string termsContainerText: qsTr("By creating this user profile, you agree to Vircadia's Terms of Service")
|
||||
width: root.width
|
||||
height: root.height
|
||||
readonly property string fontFamily: "Raleway"
|
||||
|
|
|
@ -129,7 +129,9 @@ FocusScope {
|
|||
Image {
|
||||
id: banner
|
||||
anchors.centerIn: parent
|
||||
source: "../../images/project-athena-banner-color2.svg"
|
||||
sourceSize.width: 400
|
||||
sourceSize.height: 73
|
||||
source: "../../images/vircadia-logo.svg"
|
||||
horizontalAlignment: Image.AlignHCenter
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,9 +23,9 @@ Rectangle {
|
|||
spacing: 5
|
||||
|
||||
Image {
|
||||
sourceSize.width: 295
|
||||
sourceSize.height: 75
|
||||
source: "../../../images/about-projectathena.png"
|
||||
width: 400; height: 73
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: "../../../images/vircadia-logo.svg"
|
||||
}
|
||||
Item { height: 30; width: 1 }
|
||||
Column {
|
||||
|
|
|
@ -656,8 +656,8 @@ private:
|
|||
/**jsdoc
|
||||
* <p>The <code>Controller.Hardware.Application</code> object has properties representing Interface's state. The property
|
||||
* values are integer IDs, uniquely identifying each output. <em>Read-only.</em></p>
|
||||
* <p>These states can be mapped to actions or functions or <code>Controller.Standard</code> items in a {@link RouteObject}
|
||||
* mapping (e.g., using the {@link RouteObject#when} method). Each data value is either <code>1.0</code> for "true" or
|
||||
* <p>These states can be mapped to actions or functions or <code>Controller.Standard</code> items in a {@link RouteObject}
|
||||
* mapping (e.g., using the {@link RouteObject#when} method). Each data value is either <code>1.0</code> for "true" or
|
||||
* <code>0.0</code> for "false".</p>
|
||||
* <table>
|
||||
* <thead>
|
||||
|
@ -679,7 +679,7 @@ private:
|
|||
* <tr><td><code>CameraIndependent</code></td><td>number</td><td>number</td><td>The camera is in independent mode.</td></tr>
|
||||
* <tr><td><code>CameraEntity</code></td><td>number</td><td>number</td><td>The camera is in entity mode.</td></tr>
|
||||
* <tr><td><code>InHMD</code></td><td>number</td><td>number</td><td>The user is in HMD mode.</td></tr>
|
||||
* <tr><td><code>AdvancedMovement</code></td><td>number</td><td>number</td><td>Advanced movement (walking) controls are
|
||||
* <tr><td><code>AdvancedMovement</code></td><td>number</td><td>number</td><td>Advanced movement (walking) controls are
|
||||
* enabled.</td></tr>
|
||||
* <tr><td><code>StrafeEnabled</code></td><td>number</td><td>number</td><td>Strafing is enabled</td></tr>
|
||||
* <tr><td><code>LeftHandDominant</code></td><td>number</td><td>number</td><td>Dominant hand set to left.</td></tr>
|
||||
|
@ -829,7 +829,7 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
|
|||
audioDLLPath += "/audioWin7";
|
||||
}
|
||||
QCoreApplication::addLibraryPath(audioDLLPath);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
QString defaultScriptsOverrideOption = getCmdOption(argc, constArgv, "--defaultScriptsOverride");
|
||||
|
||||
|
@ -949,7 +949,7 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
|
|||
DependencyManager::set<AvatarPackager>();
|
||||
DependencyManager::set<ScreenshareScriptingInterface>();
|
||||
PlatformHelper::setup();
|
||||
|
||||
|
||||
QObject::connect(PlatformHelper::instance(), &PlatformHelper::systemWillWake, [] {
|
||||
QMetaObject::invokeMethod(DependencyManager::get<NodeList>().data(), "noteAwakening", Qt::QueuedConnection);
|
||||
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "noteAwakening", Qt::QueuedConnection);
|
||||
|
@ -1162,7 +1162,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
|
|||
deadlockWatchdogThread->setMainThreadID(QThread::currentThreadId());
|
||||
deadlockWatchdogThread->start();
|
||||
|
||||
// Pause the deadlock watchdog when we sleep, or it might
|
||||
// Pause the deadlock watchdog when we sleep, or it might
|
||||
// trigger a false positive when we wake back up
|
||||
auto platformHelper = PlatformHelper::instance();
|
||||
|
||||
|
@ -3790,9 +3790,8 @@ void Application::setPreferredCursor(const QString& cursorName) {
|
|||
|
||||
if (_displayPlugin && _displayPlugin->isHmd()) {
|
||||
_preferredCursor.set(cursorName.isEmpty() ? DEFAULT_CURSOR_NAME : cursorName);
|
||||
}
|
||||
else {
|
||||
_preferredCursor.set(cursorName.isEmpty() ? Cursor::Manager::getIconName(Cursor::Icon::SYSTEM) : cursorName);
|
||||
} else {
|
||||
_preferredCursor.set(cursorName.isEmpty() ? Cursor::Manager::getIconName(Cursor::Icon::SYSTEM) : cursorName);
|
||||
}
|
||||
|
||||
showCursor(Cursor::Manager::lookupIcon(_preferredCursor.get()));
|
||||
|
@ -3979,7 +3978,7 @@ void Application::handleSandboxStatus(QNetworkReply* reply) {
|
|||
DependencyManager::get<AddressManager>()->loadSettings(addressLookupString);
|
||||
sentTo = SENT_TO_PREVIOUS_LOCATION;
|
||||
}
|
||||
|
||||
|
||||
UserActivityLogger::getInstance().logAction("startup_sent_to", {
|
||||
{ "sent_to", sentTo },
|
||||
{ "sandbox_is_running", sandboxIsRunning },
|
||||
|
@ -4214,7 +4213,7 @@ bool Application::event(QEvent* event) {
|
|||
idle();
|
||||
|
||||
#ifdef DEBUG_EVENT_QUEUE_DEPTH
|
||||
// The event queue may very well grow beyond 400, so
|
||||
// The event queue may very well grow beyond 400, so
|
||||
// this code should only be enabled on local builds
|
||||
{
|
||||
int count = ::hifi::qt::getEventQueueSize(QThread::currentThread());
|
||||
|
@ -4253,7 +4252,7 @@ bool Application::event(QEvent* event) {
|
|||
{ //testing to see if we can set focus when focus is not set to root window.
|
||||
_glWidget->activateWindow();
|
||||
_glWidget->setFocus();
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
case QEvent::TouchBegin:
|
||||
|
@ -5238,7 +5237,7 @@ void Application::idle() {
|
|||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
checkChangeCursor();
|
||||
|
||||
#if !defined(DISABLE_QML)
|
||||
|
@ -5491,7 +5490,7 @@ void Application::loadSettings() {
|
|||
RenderScriptingInterface::getInstance()->loadSettings();
|
||||
|
||||
// Setup the PerformanceManager which will enforce the several settings to match the Preset
|
||||
// On the first run, the Preset is evaluated from the
|
||||
// On the first run, the Preset is evaluated from the
|
||||
getPerformanceManager().setupPerformancePresetSettings(_firstRun.get());
|
||||
|
||||
// finish initializing the camera, based on everything we checked above. Third person camera will be used if no settings
|
||||
|
@ -5537,7 +5536,7 @@ bool Application::importEntities(const QString& urlOrFilename, const bool isObse
|
|||
_entityClipboard->withWriteLock([&] {
|
||||
_entityClipboard->eraseAllOctreeElements();
|
||||
|
||||
// FIXME: readFromURL() can take over the main event loop which may cause problems, especially if downloading the JSON
|
||||
// FIXME: readFromURL() can take over the main event loop which may cause problems, especially if downloading the JSON
|
||||
// from the Web.
|
||||
success = _entityClipboard->readFromURL(urlOrFilename, isObservable, callerId);
|
||||
if (success) {
|
||||
|
@ -8737,7 +8736,7 @@ bool Application::isThrottleRendering() const {
|
|||
bool Application::hasFocus() const {
|
||||
bool result = (QApplication::activeWindow() != nullptr);
|
||||
|
||||
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
// On Windows, QWidget::activateWindow() - as called in setFocus() - makes the application's taskbar icon flash but doesn't
|
||||
// take user focus away from their current window. So also check whether the application is the user's current foreground
|
||||
|
|
|
@ -223,9 +223,9 @@ Menu::Menu() {
|
|||
MenuWrapper* startupLocationMenu = navigateMenu->addMenu(MenuOption::StartUpLocation);
|
||||
QActionGroup* startupLocatiopnGroup = new QActionGroup(startupLocationMenu);
|
||||
startupLocatiopnGroup->setExclusive(true);
|
||||
startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::HomeLocation, 0,
|
||||
startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::HomeLocation, 0,
|
||||
false));
|
||||
startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::LastLocation, 0,
|
||||
startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::LastLocation, 0,
|
||||
true));
|
||||
|
||||
// Settings menu ----------------------------------
|
||||
|
@ -288,13 +288,13 @@ Menu::Menu() {
|
|||
hmd->toggleShouldShowTablet();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Settings > Entity Script / QML Whitelist
|
||||
action = addActionToQMenuAndActionHash(settingsMenu, "Entity Script / QML Whitelist");
|
||||
connect(action, &QAction::triggered, [] {
|
||||
auto tablet = DependencyManager::get<TabletScriptingInterface>()->getTablet("com.highfidelity.interface.tablet.system");
|
||||
auto hmd = DependencyManager::get<HMDScriptingInterface>();
|
||||
|
||||
|
||||
tablet->pushOntoStack("hifi/dialogs/security/EntityScriptQMLWhitelist.qml");
|
||||
|
||||
if (!hmd->getShouldShowTablet()) {
|
||||
|
@ -310,10 +310,10 @@ Menu::Menu() {
|
|||
|
||||
// Developer menu ----------------------------------
|
||||
MenuWrapper* developerMenu = addMenu("Developer", "Developer");
|
||||
|
||||
|
||||
// Developer > Scripting >>>
|
||||
MenuWrapper* scriptingOptionsMenu = developerMenu->addMenu("Scripting");
|
||||
|
||||
|
||||
// Developer > Scripting > Console...
|
||||
addActionToQMenuAndActionHash(scriptingOptionsMenu, MenuOption::Console, Qt::CTRL | Qt::ALT | Qt::Key_J,
|
||||
DependencyManager::get<StandAloneJSConsole>().data(),
|
||||
|
@ -328,7 +328,7 @@ Menu::Menu() {
|
|||
defaultScriptsLoc.setPath(defaultScriptsLoc.path() + "developer/utilities/tools/currentAPI.js");
|
||||
DependencyManager::get<ScriptEngines>()->loadScript(defaultScriptsLoc.toString());
|
||||
});
|
||||
|
||||
|
||||
// Developer > Scripting > Entity Script Server Log
|
||||
auto essLogAction = addActionToQMenuAndActionHash(scriptingOptionsMenu, MenuOption::EntityScriptServerLog, 0,
|
||||
qApp, SLOT(toggleEntityScriptServerLogDialog()));
|
||||
|
@ -348,7 +348,7 @@ Menu::Menu() {
|
|||
// Developer > Scripting > Verbose Logging
|
||||
addCheckableActionToQMenuAndActionHash(scriptingOptionsMenu, MenuOption::VerboseLogging, 0, false,
|
||||
qApp, SLOT(updateVerboseLogging()));
|
||||
|
||||
|
||||
// Developer > Scripting > Enable Speech Control API
|
||||
#if defined(Q_OS_MAC) || defined(Q_OS_WIN)
|
||||
auto speechRecognizer = DependencyManager::get<SpeechRecognizer>();
|
||||
|
@ -360,20 +360,20 @@ Menu::Menu() {
|
|||
UNSPECIFIED_POSITION);
|
||||
connect(speechRecognizer.data(), SIGNAL(enabledUpdated(bool)), speechRecognizerAction, SLOT(setChecked(bool)));
|
||||
#endif
|
||||
|
||||
|
||||
// Developer > UI >>>
|
||||
MenuWrapper* uiOptionsMenu = developerMenu->addMenu("UI");
|
||||
action = addCheckableActionToQMenuAndActionHash(uiOptionsMenu, MenuOption::DesktopTabletToToolbar, 0,
|
||||
qApp->getDesktopTabletBecomesToolbarSetting());
|
||||
|
||||
|
||||
// Developer > UI > Show Overlays
|
||||
addCheckableActionToQMenuAndActionHash(uiOptionsMenu, MenuOption::Overlays, 0, true);
|
||||
|
||||
|
||||
// Developer > UI > Desktop Tablet Becomes Toolbar
|
||||
connect(action, &QAction::triggered, [action] {
|
||||
qApp->setDesktopTabletBecomesToolbarSetting(action->isChecked());
|
||||
});
|
||||
|
||||
|
||||
// Developer > UI > HMD Tablet Becomes Toolbar
|
||||
action = addCheckableActionToQMenuAndActionHash(uiOptionsMenu, MenuOption::HMDTabletToToolbar, 0,
|
||||
qApp->getHmdTabletBecomesToolbarSetting());
|
||||
|
@ -708,7 +708,7 @@ Menu::Menu() {
|
|||
result = QProcessEnvironment::systemEnvironment().contains(HIFI_SHOW_DEVELOPER_CRASH_MENU);
|
||||
if (result) {
|
||||
MenuWrapper* crashMenu = developerMenu->addMenu("Crash");
|
||||
|
||||
|
||||
// Developer > Crash > Display Crash Options
|
||||
addCheckableActionToQMenuAndActionHash(crashMenu, MenuOption::DisplayCrashOptions, 0, true);
|
||||
|
||||
|
@ -747,7 +747,7 @@ Menu::Menu() {
|
|||
|
||||
addActionToQMenuAndActionHash(crashMenu, MenuOption::CrashOnShutdown, 0, qApp, SLOT(crashOnShutdown()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Developer > Show Statistics
|
||||
addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::Stats, 0, true);
|
||||
|
@ -796,13 +796,13 @@ Menu::Menu() {
|
|||
});
|
||||
helpMenu->addSeparator();
|
||||
|
||||
// Help > Athena Docs
|
||||
// Help > Vircadia Docs
|
||||
action = addActionToQMenuAndActionHash(helpMenu, "Online Documentation");
|
||||
connect(action, &QAction::triggered, qApp, [] {
|
||||
QDesktopServices::openUrl(QUrl("https://docs.vircadia.dev/"));
|
||||
});
|
||||
|
||||
// Help > Athena Forum
|
||||
// Help > Vircadia Forum
|
||||
/* action = addActionToQMenuAndActionHash(helpMenu, "Online Forums");
|
||||
connect(action, &QAction::triggered, qApp, [] {
|
||||
QDesktopServices::openUrl(QUrl("https://forums.highfidelity.com/"));
|
||||
|
|
|
@ -644,33 +644,33 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
}
|
||||
|
||||
/**jsdoc
|
||||
* Different entity types have different properties: some common to all entities (listed in the table) and some specific to
|
||||
* Different entity types have different properties: some common to all entities (listed in the table) and some specific to
|
||||
* each {@link Entities.EntityType|EntityType} (linked to below).
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties
|
||||
* @property {Uuid} id - The ID of the entity. <em>Read-only.</em>
|
||||
* @property {string} name="" - A name for the entity. Need not be unique.
|
||||
* @property {Entities.EntityType} type - The entity's type. You cannot change the type of an entity after it's created.
|
||||
* However, its value may switch among <code>"Box"</code>, <code>"Shape"</code>, and <code>"Sphere"</code> depending on
|
||||
* @property {Entities.EntityType} type - The entity's type. You cannot change the type of an entity after it's created.
|
||||
* However, its value may switch among <code>"Box"</code>, <code>"Shape"</code>, and <code>"Sphere"</code> depending on
|
||||
* changes to the <code>shape</code> property set for entities of these types. <em>Read-only.</em>
|
||||
*
|
||||
* @property {Entities.EntityHostType} entityHostType="domain" - How the entity is hosted and sent to others for display.
|
||||
* The value can only be set at entity creation by one of the {@link Entities.addEntity} methods. <em>Read-only.</em>
|
||||
* @property {boolean} avatarEntity=false - <code>true</code> if the entity is an {@link Entities.EntityHostType|avatar entity},
|
||||
* <code>false</code> if it isn't. The value is per the <code>entityHostType</code> property value, set at entity creation
|
||||
* @property {boolean} avatarEntity=false - <code>true</code> if the entity is an {@link Entities.EntityHostType|avatar entity},
|
||||
* <code>false</code> if it isn't. The value is per the <code>entityHostType</code> property value, set at entity creation
|
||||
* by one of the {@link Entities.addEntity} methods. <em>Read-only.</em>
|
||||
* @property {boolean} clientOnly=false - A synonym for <code>avatarEntity</code>. <em>Read-only.</em>
|
||||
* @property {boolean} localEntity=false - <code>true</code> if the entity is a {@link Entities.EntityHostType|local entity},
|
||||
* <code>false</code> if it isn't. The value is per the <code>entityHostType</code> property value, set at entity creation
|
||||
* @property {boolean} localEntity=false - <code>true</code> if the entity is a {@link Entities.EntityHostType|local entity},
|
||||
* <code>false</code> if it isn't. The value is per the <code>entityHostType</code> property value, set at entity creation
|
||||
* by one of the {@link Entities.addEntity} methods. <em>Read-only.</em>
|
||||
*
|
||||
* @property {Uuid} owningAvatarID=Uuid.NULL - The session ID of the owning avatar if <code>avatarEntity</code> is
|
||||
* @property {Uuid} owningAvatarID=Uuid.NULL - The session ID of the owning avatar if <code>avatarEntity</code> is
|
||||
* <code>true</code>, otherwise {@link Uuid(0)|Uuid.NULL}. <em>Read-only.</em>
|
||||
*
|
||||
* @property {string} created - The UTC date and time that the entity was created, in ISO 8601 format as
|
||||
* <code>yyyy-MM-ddTHH:mm:ssZ</code>. <em>Read-only.</em>
|
||||
* @property {number} age - The age of the entity in seconds since it was created. <em>Read-only.</em>
|
||||
* @property {string} ageAsText - The age of the entity since it was created, formatted as <code>h hours m minutes s
|
||||
* @property {string} ageAsText - The age of the entity since it was created, formatted as <code>h hours m minutes s
|
||||
* seconds</code>.
|
||||
* @property {number} lifetime=-1 - How long an entity lives for, in seconds, before being automatically deleted. A value of
|
||||
* <code>-1</code> means that the entity lives for ever.
|
||||
|
@ -679,113 +679,113 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {Uuid} lastEditedBy - The session ID of the avatar or agent that most recently created or edited the entity.
|
||||
* <em>Read-only.</em>
|
||||
*
|
||||
* @property {boolean} locked=false - <code>true</code> if properties other than <code>locked</code> cannot be changed and the
|
||||
* @property {boolean} locked=false - <code>true</code> if properties other than <code>locked</code> cannot be changed and the
|
||||
* entity cannot be deleted, <code>false</code> if all properties can be changed and the entity can be deleted.
|
||||
* @property {boolean} visible=true - <code>true</code> if the entity is rendered, <code>false</code> if it isn't.
|
||||
* @property {boolean} canCastShadow=true - <code>true</code> if the entity can cast a shadow, <code>false</code> if it can't.
|
||||
* Currently applicable only to {@link Entities.EntityProperties-Model|Model} and
|
||||
* {@link Entities.EntityProperties-Shape|Shape} entities. Shadows are cast if inside a
|
||||
* {@link Entities.EntityProperties-Zone|Zone} entity with <code>castShadows</code> enabled in its <code>keyLight</code>
|
||||
* @property {boolean} canCastShadow=true - <code>true</code> if the entity can cast a shadow, <code>false</code> if it can't.
|
||||
* Currently applicable only to {@link Entities.EntityProperties-Model|Model} and
|
||||
* {@link Entities.EntityProperties-Shape|Shape} entities. Shadows are cast if inside a
|
||||
* {@link Entities.EntityProperties-Zone|Zone} entity with <code>castShadows</code> enabled in its <code>keyLight</code>
|
||||
* property.
|
||||
* @property {boolean} isVisibleInSecondaryCamera=true - <code>true</code> if the entity is rendered in the secondary camera,
|
||||
* @property {boolean} isVisibleInSecondaryCamera=true - <code>true</code> if the entity is rendered in the secondary camera,
|
||||
* <code>false</code> if it isn't.
|
||||
* @property {Entities.RenderLayer} renderLayer="world" - The layer that the entity renders in.
|
||||
* @property {Entities.PrimitiveMode} primitiveMode="solid" - How the entity's geometry is rendered.
|
||||
* @property {boolean} ignorePickIntersection=false - <code>true</code> if {@link Picks} and {@link RayPick} ignore the entity,
|
||||
* @property {boolean} ignorePickIntersection=false - <code>true</code> if {@link Picks} and {@link RayPick} ignore the entity,
|
||||
* <code>false</code> if they don't.
|
||||
*
|
||||
* @property {Vec3} position=0,0,0 - The position of the entity in world coordinates.
|
||||
* @property {Quat} rotation=0,0,0,1 - The orientation of the entity in world coordinates.
|
||||
* @property {Vec3} registrationPoint=0.5,0.5,0.5 - The point in the entity that is set to the entity's position and is rotated
|
||||
* about, range {@link Vec3(0)|Vec3.ZERO} – {@link Vec3(0)|Vec3.ONE}. A value of {@link Vec3(0)|Vec3.ZERO} is the
|
||||
* @property {Vec3} registrationPoint=0.5,0.5,0.5 - The point in the entity that is set to the entity's position and is rotated
|
||||
* about, range {@link Vec3(0)|Vec3.ZERO} – {@link Vec3(0)|Vec3.ONE}. A value of {@link Vec3(0)|Vec3.ZERO} is the
|
||||
* entity's minimum x, y, z corner; a value of {@link Vec3(0)|Vec3.ONE} is the entity's maximum x, y, z corner.
|
||||
*
|
||||
* @property {Vec3} naturalPosition=0,0,0 - The center of the entity's unscaled mesh model if it has one, otherwise
|
||||
* {@link Vec3(0)|Vec3.ZERO}. <em>Read-only.</em>
|
||||
* @property {Vec3} naturalDimensions - The dimensions of the entity's unscaled mesh model if it has one, otherwise
|
||||
* @property {Vec3} naturalDimensions - The dimensions of the entity's unscaled mesh model if it has one, otherwise
|
||||
* {@link Vec3(0)|Vec3.ONE}. <em>Read-only.</em>
|
||||
*
|
||||
* @property {Vec3} velocity=0,0,0 - The linear velocity of the entity in m/s with respect to world coordinates.
|
||||
* @property {number} damping=0.39347 - How much the linear velocity of an entity slows down over time, range
|
||||
* <code>0.0</code> – <code>1.0</code>. A higher damping value slows down the entity more quickly. The default value
|
||||
* is for an exponential decay timescale of 2.0s, where it takes 2.0s for the movement to slow to <code>1/e = 0.368</code>
|
||||
* @property {number} damping=0.39347 - How much the linear velocity of an entity slows down over time, range
|
||||
* <code>0.0</code> – <code>1.0</code>. A higher damping value slows down the entity more quickly. The default value
|
||||
* is for an exponential decay timescale of 2.0s, where it takes 2.0s for the movement to slow to <code>1/e = 0.368</code>
|
||||
* of its initial value.
|
||||
* @property {Vec3} angularVelocity=0,0,0 - The angular velocity of the entity in rad/s with respect to its axes, about its
|
||||
* registration point.
|
||||
* @property {number} angularDamping=0.39347 - How much the angular velocity of an entity slows down over time, range
|
||||
* <code>0.0</code> – <code>1.0</code>. A higher damping value slows down the entity more quickly. The default value
|
||||
* is for an exponential decay timescale of 2.0s, where it takes 2.0s for the movement to slow to <code>1/e = 0.368</code>
|
||||
* @property {number} angularDamping=0.39347 - How much the angular velocity of an entity slows down over time, range
|
||||
* <code>0.0</code> – <code>1.0</code>. A higher damping value slows down the entity more quickly. The default value
|
||||
* is for an exponential decay timescale of 2.0s, where it takes 2.0s for the movement to slow to <code>1/e = 0.368</code>
|
||||
* of its initial value.
|
||||
*
|
||||
* @property {Vec3} gravity=0,0,0 - The acceleration due to gravity in m/s<sup>2</sup> that the entity should move with, in
|
||||
* world coordinates. Use a value of <code>{ x: 0, y: -9.8, z: 0 }</code> to simulate Earth's gravity. Gravity is applied
|
||||
* @property {Vec3} gravity=0,0,0 - The acceleration due to gravity in m/s<sup>2</sup> that the entity should move with, in
|
||||
* world coordinates. Use a value of <code>{ x: 0, y: -9.8, z: 0 }</code> to simulate Earth's gravity. Gravity is applied
|
||||
* to an entity's motion only if its <code>dynamic</code> property is <code>true</code>.
|
||||
* <p>If changing an entity's <code>gravity</code> from {@link Vec3(0)|Vec3.ZERO}, you need to give it a small
|
||||
* <p>If changing an entity's <code>gravity</code> from {@link Vec3(0)|Vec3.ZERO}, you need to give it a small
|
||||
* <code>velocity</code> in order to kick off physics simulation.</p>
|
||||
* @property {Vec3} acceleration - The current, measured acceleration of the entity, in m/s<sup>2</sup>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {number} restitution=0.5 - The "bounciness" of an entity when it collides, range <code>0.0</code> –
|
||||
* @property {number} restitution=0.5 - The "bounciness" of an entity when it collides, range <code>0.0</code> –
|
||||
* <code>0.99</code>. The higher the value, the more bouncy.
|
||||
* @property {number} friction=0.5 - How much an entity slows down when it's moving against another, range <code>0.0</code>
|
||||
* – <code>10.0</code>. The higher the value, the more quickly it slows down. Examples: <code>0.1</code> for ice,
|
||||
* @property {number} friction=0.5 - How much an entity slows down when it's moving against another, range <code>0.0</code>
|
||||
* – <code>10.0</code>. The higher the value, the more quickly it slows down. Examples: <code>0.1</code> for ice,
|
||||
* <code>0.9</code> for sandpaper.
|
||||
* @property {number} density=1000 - The density of the entity in kg/m<sup>3</sup>, range <code>100</code> –
|
||||
* <code>10000</code>. Examples: <code>100</code> for balsa wood, <code>10000</code> for silver. The density is used in
|
||||
* @property {number} density=1000 - The density of the entity in kg/m<sup>3</sup>, range <code>100</code> –
|
||||
* <code>10000</code>. Examples: <code>100</code> for balsa wood, <code>10000</code> for silver. The density is used in
|
||||
* conjunction with the entity's bounding box volume to work out its mass in the application of physics.
|
||||
*
|
||||
* @property {boolean} collisionless=false - <code>true</code> if the entity shouldn't collide, <code>false</code> if it
|
||||
* @property {boolean} collisionless=false - <code>true</code> if the entity shouldn't collide, <code>false</code> if it
|
||||
* collides with items per its <code>collisionMask</code> property.
|
||||
* @property {boolean} ignoreForCollisions - Synonym for <code>collisionless</code>.
|
||||
* @property {CollisionMask} collisionMask=31 - What types of items the entity should collide with.
|
||||
* @property {string} collidesWith="static,dynamic,kinematic,myAvatar,otherAvatar," - Synonym for <code>collisionMask</code>,
|
||||
* in text format.
|
||||
* @property {string} collisionSoundURL="" - The sound that's played when the entity experiences a collision. Valid file
|
||||
* @property {string} collisionSoundURL="" - The sound that's played when the entity experiences a collision. Valid file
|
||||
* formats are per {@link SoundObject}.
|
||||
* @property {boolean} dynamic=false - <code>true</code> if the entity's movement is affected by collisions, <code>false</code>
|
||||
* if it isn't.
|
||||
* @property {boolean} dynamic=false - <code>true</code> if the entity's movement is affected by collisions, <code>false</code>
|
||||
* if it isn't.
|
||||
* @property {boolean} collisionsWillMove - A synonym for <code>dynamic</code>.
|
||||
*
|
||||
* @property {string} href="" - A "hifi://" metaverse address that a user is teleported to when they click on the entity.
|
||||
* @property {string} description="" - A description of the <code>href</code> property value.
|
||||
*
|
||||
* @property {string} userData="" - Used to store extra data about the entity in JSON format.
|
||||
* <p><strong>Warning:</strong> Other apps may also use this property, so make sure you handle data stored by other apps:
|
||||
* edit only your bit and leave the rest of the data intact. You can use <code>JSON.parse()</code> to parse the string into
|
||||
* a JavaScript object which you can manipulate the properties of, and use <code>JSON.stringify()</code> to convert the
|
||||
* @property {string} userData="" - Used to store extra data about the entity in JSON format.
|
||||
* <p><strong>Warning:</strong> Other apps may also use this property, so make sure you handle data stored by other apps:
|
||||
* edit only your bit and leave the rest of the data intact. You can use <code>JSON.parse()</code> to parse the string into
|
||||
* a JavaScript object which you can manipulate the properties of, and use <code>JSON.stringify()</code> to convert the
|
||||
* object into a string to put back in the property.</p>
|
||||
*
|
||||
* @property {string} privateUserData="" - Like <code>userData</code>, but only accessible by server entity scripts, assignment
|
||||
* @property {string} privateUserData="" - Like <code>userData</code>, but only accessible by server entity scripts, assignment
|
||||
* client scripts, and users who have "Can Get and Set Private User Data" permissions in the domain.
|
||||
*
|
||||
* @property {string} script="" - The URL of the client entity script, if any, that is attached to the entity.
|
||||
* @property {number} scriptTimestamp=0 - Used to indicate when the client entity script was loaded. Should be
|
||||
* an integer number of milliseconds since midnight GMT on January 1, 1970 (e.g., as supplied by <code>Date.now()</code>.
|
||||
* If you update the property's value, the <code>script</code> is re-downloaded and reloaded. This is how the "reload"
|
||||
* @property {number} scriptTimestamp=0 - Used to indicate when the client entity script was loaded. Should be
|
||||
* an integer number of milliseconds since midnight GMT on January 1, 1970 (e.g., as supplied by <code>Date.now()</code>.
|
||||
* If you update the property's value, the <code>script</code> is re-downloaded and reloaded. This is how the "reload"
|
||||
* button beside the "script URL" field in properties tab of the Create app works.
|
||||
* @property {string} serverScripts="" - The URL of the server entity script, if any, that is attached to the entity.
|
||||
*
|
||||
* @property {Uuid} parentID=Uuid.NULL - The ID of the entity or avatar that the entity is parented to. A value of
|
||||
* @property {Uuid} parentID=Uuid.NULL - The ID of the entity or avatar that the entity is parented to. A value of
|
||||
* {@link Uuid(0)|Uuid.NULL} is used if the entity is not parented.
|
||||
* @property {number} parentJointIndex=65535 - The joint of the entity or avatar that the entity is parented to. Use
|
||||
* @property {number} parentJointIndex=65535 - The joint of the entity or avatar that the entity is parented to. Use
|
||||
* <code>65535</code> or <code>-1</code> to parent to the entity or avatar's position and orientation rather than a joint.
|
||||
* @property {Vec3} localPosition=0,0,0 - The position of the entity relative to its parent if the entity is parented,
|
||||
* otherwise the same value as <code>position</code>. If the entity is parented to an avatar and is an avatar entity
|
||||
* @property {Vec3} localPosition=0,0,0 - The position of the entity relative to its parent if the entity is parented,
|
||||
* otherwise the same value as <code>position</code>. If the entity is parented to an avatar and is an avatar entity
|
||||
* so that it scales with the avatar, this value remains the original local position value while the avatar scale changes.
|
||||
* @property {Quat} localRotation=0,0,0,1 - The rotation of the entity relative to its parent if the entity is parented,
|
||||
* @property {Quat} localRotation=0,0,0,1 - The rotation of the entity relative to its parent if the entity is parented,
|
||||
* otherwise the same value as <code>rotation</code>.
|
||||
* @property {Vec3} localVelocity=0,0,0 - The velocity of the entity relative to its parent if the entity is parented,
|
||||
* @property {Vec3} localVelocity=0,0,0 - The velocity of the entity relative to its parent if the entity is parented,
|
||||
* otherwise the same value as <code>velocity</code>.
|
||||
* @property {Vec3} localAngularVelocity=0,0,0 - The angular velocity of the entity relative to its parent if the entity is
|
||||
* @property {Vec3} localAngularVelocity=0,0,0 - The angular velocity of the entity relative to its parent if the entity is
|
||||
* parented, otherwise the same value as <code>angularVelocity</code>.
|
||||
* @property {Vec3} localDimensions - The dimensions of the entity. If the entity is parented to an avatar and is an
|
||||
* avatar entity so that it scales with the avatar, this value remains the original dimensions value while the
|
||||
* avatar entity so that it scales with the avatar, this value remains the original dimensions value while the
|
||||
* avatar scale changes.
|
||||
*
|
||||
* @property {Entities.BoundingBox} boundingBox - The axis-aligned bounding box that tightly encloses the entity.
|
||||
* @property {Entities.BoundingBox} boundingBox - The axis-aligned bounding box that tightly encloses the entity.
|
||||
* <em>Read-only.</em>
|
||||
* @property {AACube} queryAACube - The axis-aligned cube that determines where the entity lives in the entity server's octree.
|
||||
* The cube may be considerably larger than the entity in some situations, e.g., when the entity is grabbed by an avatar:
|
||||
* the position of the entity is determined through avatar mixer updates and so the AA cube is expanded in order to reduce
|
||||
* @property {AACube} queryAACube - The axis-aligned cube that determines where the entity lives in the entity server's octree.
|
||||
* The cube may be considerably larger than the entity in some situations, e.g., when the entity is grabbed by an avatar:
|
||||
* the position of the entity is determined through avatar mixer updates and so the AA cube is expanded in order to reduce
|
||||
* unnecessary entity server updates. Scripts should not change this property's value.
|
||||
*
|
||||
* @property {string} actionData="" - Base-64 encoded compressed dump of the actions associated with the entity. This property
|
||||
|
@ -793,16 +793,16 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* {@link Entities.addAction}. The size of this property increases with the number of actions. Because this property value
|
||||
* has to fit within a Vircadia datagram packet, there is a limit to the number of actions that an entity can have;
|
||||
* edits which would result in overflow are rejected. <em>Read-only.</em>
|
||||
* @property {Entities.RenderInfo} renderInfo - Information on the cost of rendering the entity. Currently information is only
|
||||
* @property {Entities.RenderInfo} renderInfo - Information on the cost of rendering the entity. Currently information is only
|
||||
* provided for <code>Model</code> entities. <em>Read-only.</em>
|
||||
*
|
||||
* @property {boolean} cloneable=false - <code>true</code> if the domain or avatar entity can be cloned via
|
||||
* @property {boolean} cloneable=false - <code>true</code> if the domain or avatar entity can be cloned via
|
||||
* {@link Entities.cloneEntity}, <code>false</code> if it can't be.
|
||||
* @property {number} cloneLifetime=300 - The entity lifetime for clones created from this entity.
|
||||
* @property {number} cloneLimit=0 - The total number of clones of this entity that can exist in the domain at any given time.
|
||||
* @property {boolean} cloneDynamic=false - <code>true</code> if clones created from this entity will have their
|
||||
* @property {boolean} cloneDynamic=false - <code>true</code> if clones created from this entity will have their
|
||||
* <code>dynamic</code> property set to <code>true</code>, <code>false</code> if they won't.
|
||||
* @property {boolean} cloneAvatarEntity=false - <code>true</code> if clones created from this entity will be created as
|
||||
* @property {boolean} cloneAvatarEntity=false - <code>true</code> if clones created from this entity will be created as
|
||||
* avatar entities, <code>false</code> if they won't be.
|
||||
* @property {Uuid} cloneOriginID - The ID of the entity that this entity was cloned from.
|
||||
*
|
||||
|
@ -817,12 +817,12 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {string} itemCategories="" - Certifiable category of the Marketplace item.
|
||||
* @property {string} itemArtist="" - Certifiable artist that created the Marketplace item.
|
||||
* @property {string} itemLicense="" - Certifiable license URL for the Marketplace item.
|
||||
* @property {number} limitedRun=4294967295 - Certifiable maximum integer number of editions (copies) of the Marketplace item
|
||||
* @property {number} limitedRun=4294967295 - Certifiable maximum integer number of editions (copies) of the Marketplace item
|
||||
* allowed to be sold.
|
||||
* @property {number} editionNumber=0 - Certifiable integer edition (copy) number or the Marketplace item. Each copy sold in
|
||||
* @property {number} editionNumber=0 - Certifiable integer edition (copy) number or the Marketplace item. Each copy sold in
|
||||
* the Marketplace is numbered sequentially, starting at 1.
|
||||
* @property {number} entityInstanceNumber=0 - Certifiable integer instance number for identical entities in a Marketplace
|
||||
* item. A Marketplace item may have multiple, identical parts. If so, then each is numbered sequentially with an instance
|
||||
* @property {number} entityInstanceNumber=0 - Certifiable integer instance number for identical entities in a Marketplace
|
||||
* item. A Marketplace item may have multiple, identical parts. If so, then each is numbered sequentially with an instance
|
||||
* number.
|
||||
* @property {string} marketplaceID="" - Certifiable UUID for the Marketplace item, as used in the URL of the item's download
|
||||
* and its Marketplace Web page.
|
||||
|
@ -851,8 +851,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
/**jsdoc
|
||||
* The <code>"Box"</code> {@link Entities.EntityType|EntityType} is the same as the <code>"Shape"</code>
|
||||
* {@link Entities.EntityType|EntityType} except that its <code>shape</code> value is always set to <code>"Cube"</code>
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
* <code>type</code> will be reported as <code>"Sphere"</code> if the <code>shape</code> is set to <code>"Sphere"</code>,
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
* <code>type</code> will be reported as <code>"Sphere"</code> if the <code>shape</code> is set to <code>"Sphere"</code>,
|
||||
* otherwise it will be reported as <code>"Shape"</code>.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Box
|
||||
|
@ -860,11 +860,11 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*/
|
||||
|
||||
/**jsdoc
|
||||
* The <code>"Light"</code> {@link Entities.EntityType|EntityType} adds local lighting effects. It has properties in addition
|
||||
* The <code>"Light"</code> {@link Entities.EntityType|EntityType} adds local lighting effects. It has properties in addition
|
||||
* to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Light
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity. Surfaces outside these dimensions are not lit
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity. Surfaces outside these dimensions are not lit
|
||||
* by the light.
|
||||
* @property {Color} color=255,255,255 - The color of the light emitted.
|
||||
* @property {number} intensity=1 - The brightness of the light.
|
||||
|
@ -917,46 +917,46 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*/
|
||||
|
||||
/**jsdoc
|
||||
* The <code>"Material"</code> {@link Entities.EntityType|EntityType} modifies existing materials on entities and avatars. It
|
||||
* The <code>"Material"</code> {@link Entities.EntityType|EntityType} modifies existing materials on entities and avatars. It
|
||||
* has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
* <p>To apply a material to an entity, set the material entity's <code>parentID</code> property to the entity ID.
|
||||
* To apply a material to an avatar, set the material entity's <code>parentID</code> property to the avatar's session UUID.
|
||||
* To apply a material to your avatar such that it persists across domains and log-ins, create the material as an avatar entity
|
||||
* by setting the <code>entityHostType</code> parameter in {@link Entities.addEntity} to <code>"avatar"</code> and set the
|
||||
* entity's <code>parentID</code> property to <code>MyAvatar.SELF_ID</code>.
|
||||
* To apply a material to your avatar such that it persists across domains and log-ins, create the material as an avatar entity
|
||||
* by setting the <code>entityHostType</code> parameter in {@link Entities.addEntity} to <code>"avatar"</code> and set the
|
||||
* entity's <code>parentID</code> property to <code>MyAvatar.SELF_ID</code>.
|
||||
* Material entities render as non-scalable spheres if they don't have their parent set.</p>
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Material
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - Used when <code>materialMappingMode == "projected"</code>.
|
||||
* @property {string} materialURL="" - URL to a {@link Entities.MaterialResource|MaterialResource}. If you append
|
||||
* <code>"#name"</code> to the URL, the material with that name in the {@link Entities.MaterialResource|MaterialResource}
|
||||
* will be applied to the entity. Alternatively, set the property value to <code>"materialData"</code> to use the
|
||||
* @property {string} materialURL="" - URL to a {@link Entities.MaterialResource|MaterialResource}. If you append
|
||||
* <code>"#name"</code> to the URL, the material with that name in the {@link Entities.MaterialResource|MaterialResource}
|
||||
* will be applied to the entity. Alternatively, set the property value to <code>"materialData"</code> to use the
|
||||
* <code>materialData</code> property for the {@link Entities.MaterialResource|MaterialResource} values.
|
||||
* @property {string} materialData="" - Used to store {@link Entities.MaterialResource|MaterialResource} data as a JSON string.
|
||||
* You can use <code>JSON.parse()</code> to parse the string into a JavaScript object which you can manipulate the
|
||||
* @property {string} materialData="" - Used to store {@link Entities.MaterialResource|MaterialResource} data as a JSON string.
|
||||
* You can use <code>JSON.parse()</code> to parse the string into a JavaScript object which you can manipulate the
|
||||
* properties of, and use <code>JSON.stringify()</code> to convert the object into a string to put in the property.
|
||||
* @property {number} priority=0 - The priority for applying the material to its parent. Only the highest priority material is
|
||||
* applied, with materials of the same priority randomly assigned. Materials that come with the model have a priority of
|
||||
* applied, with materials of the same priority randomly assigned. Materials that come with the model have a priority of
|
||||
* <code>0</code>.
|
||||
* @property {string} parentMaterialName="0" - Selects the mesh part or parts within the parent to which to apply the material.
|
||||
* If in the format <code>"mat::string"</code>, all mesh parts with material name <code>"string"</code> are replaced.
|
||||
* If <code>"all"</code>, then all mesh parts are replaced.
|
||||
* Otherwise the property value is parsed as an unsigned integer, specifying the mesh part index to modify.
|
||||
* <p>If the string represents an array (starts with <code>"["</code> and ends with <code>"]"</code>), the string is split
|
||||
* at each <code>","</code> and each element parsed as either a number or a string if it starts with <code>"mat::"</code>.
|
||||
* For example, <code>"[0,1,mat::string,mat::string2]"</code> will replace mesh parts 0 and 1, and any mesh parts with
|
||||
* material <code>"string"</code> or <code>"string2"</code>. Do not put spaces around the commas. Invalid values are parsed
|
||||
* If <code>"all"</code>, then all mesh parts are replaced.
|
||||
* Otherwise the property value is parsed as an unsigned integer, specifying the mesh part index to modify.
|
||||
* <p>If the string represents an array (starts with <code>"["</code> and ends with <code>"]"</code>), the string is split
|
||||
* at each <code>","</code> and each element parsed as either a number or a string if it starts with <code>"mat::"</code>.
|
||||
* For example, <code>"[0,1,mat::string,mat::string2]"</code> will replace mesh parts 0 and 1, and any mesh parts with
|
||||
* material <code>"string"</code> or <code>"string2"</code>. Do not put spaces around the commas. Invalid values are parsed
|
||||
* to <code>0</code>.</p>
|
||||
* @property {string} materialMappingMode="uv" - How the material is mapped to the entity. Either <code>"uv"</code> or
|
||||
* <code>"projected"</code>. In <code>"uv"</code> mode, the material is evaluated within the UV space of the mesh it is
|
||||
* applied to. In <code>"projected"</code> mode, the 3D transform (position, rotation, and dimensions) of the Material
|
||||
* @property {string} materialMappingMode="uv" - How the material is mapped to the entity. Either <code>"uv"</code> or
|
||||
* <code>"projected"</code>. In <code>"uv"</code> mode, the material is evaluated within the UV space of the mesh it is
|
||||
* applied to. In <code>"projected"</code> mode, the 3D transform (position, rotation, and dimensions) of the Material
|
||||
* entity is used to evaluate the texture coordinates for the material.
|
||||
* @property {Vec2} materialMappingPos=0,0 - Offset position in UV-space of the top left of the material, range
|
||||
* @property {Vec2} materialMappingPos=0,0 - Offset position in UV-space of the top left of the material, range
|
||||
* <code>{ x: 0, y: 0 }</code> – <code>{ x: 1, y: 1 }</code>.
|
||||
* @property {Vec2} materialMappingScale=1,1 - How much to scale the material within the parent's UV-space.
|
||||
* @property {number} materialMappingRot=0 - How much to rotate the material within the parent's UV-space, in degrees.
|
||||
* @property {boolean} materialRepeat=true - <code>true</code> if the material repeats, <code>false</code> if it doesn't. If
|
||||
* <code>false</code>, fragments outside of texCoord 0 – 1 will be discarded. Works in both <code>"uv"</code> and
|
||||
* @property {boolean} materialRepeat=true - <code>true</code> if the material repeats, <code>false</code> if it doesn't. If
|
||||
* <code>false</code>, fragments outside of texCoord 0 – 1 will be discarded. Works in both <code>"uv"</code> and
|
||||
* <code>"projected"</code> modes.
|
||||
* @example <caption>Color a sphere using a Material entity.</caption>
|
||||
* var entityID = Entities.addEntity({
|
||||
|
@ -983,17 +983,17 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*/
|
||||
|
||||
/**jsdoc
|
||||
* The <code>"Model"</code> {@link Entities.EntityType|EntityType} displays a glTF, FBX, or OBJ model. When adding an entity,
|
||||
* if no <code>dimensions</code> value is specified then the model is automatically sized to its
|
||||
* <code>{@link Entities.EntityProperties|naturalDimensions}</code>. It has properties in addition to the common
|
||||
* The <code>"Model"</code> {@link Entities.EntityType|EntityType} displays a glTF, FBX, or OBJ model. When adding an entity,
|
||||
* if no <code>dimensions</code> value is specified then the model is automatically sized to its
|
||||
* <code>{@link Entities.EntityProperties|naturalDimensions}</code>. It has properties in addition to the common
|
||||
* {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Model
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity. When adding an entity, if no <code>dimensions</code>
|
||||
* value is specified then the model is automatically sized to its
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity. When adding an entity, if no <code>dimensions</code>
|
||||
* value is specified then the model is automatically sized to its
|
||||
* <code>{@link Entities.EntityProperties|naturalDimensions}</code>.
|
||||
* @property {string} modelURL="" - The URL of the glTF, FBX, or OBJ model. glTF models may be in JSON or binary format
|
||||
* (".gltf" or ".glb" URLs respectively). Baked models' URLs have ".baked" before the file type. Model files may also be
|
||||
* @property {string} modelURL="" - The URL of the glTF, FBX, or OBJ model. glTF models may be in JSON or binary format
|
||||
* (".gltf" or ".glb" URLs respectively). Baked models' URLs have ".baked" before the file type. Model files may also be
|
||||
* compressed in GZ format, in which case the URL ends in ".gz".
|
||||
* @property {Vec3} modelScale - The scale factor applied to the model's dimensions.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
|
@ -1001,12 +1001,12 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* When editing this property, only coefficients that you are editing will change; it will not explicitly reset other
|
||||
* coefficients.
|
||||
* @property {string} textures="" - A JSON string of texture name, URL pairs used when rendering the model in place of the
|
||||
* model's original textures. Use a texture name from the <code>originalTextures</code> property to override that texture.
|
||||
* Only the texture names and URLs to be overridden need be specified; original textures are used where there are no
|
||||
* overrides. You can use <code>JSON.stringify()</code> to convert a JavaScript object of name, URL pairs into a JSON
|
||||
* model's original textures. Use a texture name from the <code>originalTextures</code> property to override that texture.
|
||||
* Only the texture names and URLs to be overridden need be specified; original textures are used where there are no
|
||||
* overrides. You can use <code>JSON.stringify()</code> to convert a JavaScript object of name, URL pairs into a JSON
|
||||
* string.
|
||||
* @property {string} originalTextures="{}" - A JSON string of texture name, URL pairs used in the model. The property value is
|
||||
* filled in after the entity has finished rezzing (i.e., textures have loaded). You can use <code>JSON.parse()</code> to
|
||||
* @property {string} originalTextures="{}" - A JSON string of texture name, URL pairs used in the model. The property value is
|
||||
* filled in after the entity has finished rezzing (i.e., textures have loaded). You can use <code>JSON.parse()</code> to
|
||||
* parse the JSON string into a JavaScript object of name, URL pairs. <em>Read-only.</em>
|
||||
* @property {Color} color=255,255,255 - <em>Currently not used.</em>
|
||||
*
|
||||
|
@ -1016,28 +1016,28 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*
|
||||
* @property {Entities.AnimationProperties} animation - An animation to play on the model.
|
||||
*
|
||||
* @property {Quat[]} jointRotations=[]] - Joint rotations applied to the model; <code>[]</code> if none are applied or the
|
||||
* model hasn't loaded. The array indexes are per {@link Entities.getJointIndex|getJointIndex}. Rotations are relative to
|
||||
* @property {Quat[]} jointRotations=[]] - Joint rotations applied to the model; <code>[]</code> if none are applied or the
|
||||
* model hasn't loaded. The array indexes are per {@link Entities.getJointIndex|getJointIndex}. Rotations are relative to
|
||||
* each joint's parent.
|
||||
* <p>Joint rotations can be set by {@link Entities.setLocalJointRotation|setLocalJointRotation} and similar functions, or
|
||||
* by setting the value of this property. If you set a joint rotation using this property, you also need to set the
|
||||
* <p>Joint rotations can be set by {@link Entities.setLocalJointRotation|setLocalJointRotation} and similar functions, or
|
||||
* by setting the value of this property. If you set a joint rotation using this property, you also need to set the
|
||||
* corresponding <code>jointRotationsSet</code> value to <code>true</code>.</p>
|
||||
* @property {boolean[]} jointRotationsSet=[]] - <code>true</code> values for joints that have had rotations applied,
|
||||
* <code>false</code> otherwise; <code>[]</code> if none are applied or the model hasn't loaded. The array indexes are per
|
||||
* @property {boolean[]} jointRotationsSet=[]] - <code>true</code> values for joints that have had rotations applied,
|
||||
* <code>false</code> otherwise; <code>[]</code> if none are applied or the model hasn't loaded. The array indexes are per
|
||||
* {@link Entities.getJointIndex|getJointIndex}.
|
||||
* @property {Vec3[]} jointTranslations=[]] - Joint translations applied to the model; <code>[]</code> if none are applied or
|
||||
* the model hasn't loaded. The array indexes are per {@link Entities.getJointIndex|getJointIndex}. Translations are
|
||||
* @property {Vec3[]} jointTranslations=[]] - Joint translations applied to the model; <code>[]</code> if none are applied or
|
||||
* the model hasn't loaded. The array indexes are per {@link Entities.getJointIndex|getJointIndex}. Translations are
|
||||
* relative to each joint's parent.
|
||||
* <p>Joint translations can be set by {@link Entities.setLocalJointTranslation|setLocalJointTranslation} and similar
|
||||
* functions, or by setting the value of this property. If you set a joint translation using this property you also need to
|
||||
* <p>Joint translations can be set by {@link Entities.setLocalJointTranslation|setLocalJointTranslation} and similar
|
||||
* functions, or by setting the value of this property. If you set a joint translation using this property you also need to
|
||||
* set the corresponding <code>jointTranslationsSet</code> value to <code>true</code>.</p>
|
||||
* @property {boolean[]} jointTranslationsSet=[]] - <code>true</code> values for joints that have had translations applied,
|
||||
* <code>false</code> otherwise; <code>[]</code> if none are applied or the model hasn't loaded. The array indexes are per
|
||||
* @property {boolean[]} jointTranslationsSet=[]] - <code>true</code> values for joints that have had translations applied,
|
||||
* <code>false</code> otherwise; <code>[]</code> if none are applied or the model hasn't loaded. The array indexes are per
|
||||
* {@link Entities.getJointIndex|getJointIndex}.
|
||||
* @property {boolean} relayParentJoints=false - <code>true</code> if when the entity is parented to an avatar, the avatar's
|
||||
* joint rotations are applied to the entity's joints; <code>false</code> if a parent avatar's joint rotations are not
|
||||
* @property {boolean} relayParentJoints=false - <code>true</code> if when the entity is parented to an avatar, the avatar's
|
||||
* joint rotations are applied to the entity's joints; <code>false</code> if a parent avatar's joint rotations are not
|
||||
* applied to the entity's joints.
|
||||
* @property {boolean} groupCulled=false - <code>true</code> if the mesh parts of the model are LOD culled as a group,
|
||||
* @property {boolean} groupCulled=false - <code>true</code> if the mesh parts of the model are LOD culled as a group,
|
||||
* <code>false</code> if separate mesh parts are LOD culled individually.
|
||||
*
|
||||
* @example <caption>Rez a Vive tracker puck.</caption>
|
||||
|
@ -1058,15 +1058,15 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*
|
||||
* @typedef {object} Entities.EntityProperties-ParticleEffect
|
||||
* @property {boolean} isEmitting=true - <code>true</code> if particles are being emitted, <code>false</code> if they aren't.
|
||||
* @property {number} maxParticles=1000 - The maximum number of particles to render at one time. Older particles are deleted if
|
||||
* @property {number} maxParticles=1000 - The maximum number of particles to render at one time. Older particles are deleted if
|
||||
* necessary when new ones are created.
|
||||
* @property {number} lifespan=3s - How long, in seconds, each particle lives.
|
||||
* @property {number} emitRate=15 - The number of particles per second to emit.
|
||||
* @property {number} emitSpeed=5 - The speed, in m/s, that each particle is emitted at.
|
||||
* @property {number} speedSpread=1 - The spread in speeds at which particles are emitted at. For example, if
|
||||
* <code>emitSpeed == 5</code> and <code>speedSpread == 1</code>, particles will be emitted with speeds in the range
|
||||
* @property {number} speedSpread=1 - The spread in speeds at which particles are emitted at. For example, if
|
||||
* <code>emitSpeed == 5</code> and <code>speedSpread == 1</code>, particles will be emitted with speeds in the range
|
||||
* <code>4</code> – <code>6</code>m/s.
|
||||
* @property {Vec3} emitAcceleration=0,-9.8,0 - The acceleration that is applied to each particle during its lifetime. The
|
||||
* @property {Vec3} emitAcceleration=0,-9.8,0 - The acceleration that is applied to each particle during its lifetime. The
|
||||
* default is Earth's gravity value.
|
||||
* @property {Vec3} accelerationSpread=0,0,0 - The spread in accelerations that each particle is given. For example, if
|
||||
* <code>emitAccelerations == {x: 0, y: -9.8, z: 0}</code> and <code>accelerationSpread ==
|
||||
|
@ -1078,33 +1078,33 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* <code>false</code> if they stay within the entity's dimensions.
|
||||
*
|
||||
* @property {Quat} emitOrientation=-0.707,0,0,0.707 - The orientation of particle emission relative to the entity's axes. By
|
||||
* default, particles emit along the entity's local z-axis, and <code>azimuthStart</code> and <code>azimuthFinish</code>
|
||||
* are relative to the entity's local x-axis. The default value is a rotation of -90 degrees about the local x-axis, i.e.,
|
||||
* default, particles emit along the entity's local z-axis, and <code>azimuthStart</code> and <code>azimuthFinish</code>
|
||||
* are relative to the entity's local x-axis. The default value is a rotation of -90 degrees about the local x-axis, i.e.,
|
||||
* the particles emit vertically.
|
||||
*
|
||||
* @property {ShapeType} shapeType="ellipsoid" - The shape from which particles are emitted.
|
||||
* @property {string} compoundShapeURL="" - The model file to use for the compound shape if <code>shapeType ==
|
||||
* @property {string} compoundShapeURL="" - The model file to use for the compound shape if <code>shapeType ==
|
||||
* "compound"</code>.
|
||||
* @property {Vec3} emitDimensions=0,0,0 - The dimensions of the shape from which particles are emitted.
|
||||
* @property {number} emitRadiusStart=1 - The starting radius within the shape at which particles start being emitted;
|
||||
* range <code>0.0</code> – <code>1.0</code> for the center to the surface, respectively.
|
||||
* Particles are emitted from the portion of the shape that lies between <code>emitRadiusStart</code> and the
|
||||
* Particles are emitted from the portion of the shape that lies between <code>emitRadiusStart</code> and the
|
||||
* shape's surface.
|
||||
* @property {number} polarStart=0 - The angle in radians from the entity's local z-axis at which particles start being emitted
|
||||
* within the shape; range <code>0</code> – <code>Math.PI</code>. Particles are emitted from the portion of the
|
||||
* @property {number} polarStart=0 - The angle in radians from the entity's local z-axis at which particles start being emitted
|
||||
* within the shape; range <code>0</code> – <code>Math.PI</code>. Particles are emitted from the portion of the
|
||||
* shape that lies between <code>polarStart</code> and <code>polarFinish</code>. Only used if <code>shapeType</code> is
|
||||
* <code>"ellipsoid"</code> or <code>"sphere"</code>.
|
||||
* @property {number} polarFinish=0 - The angle in radians from the entity's local z-axis at which particles stop being emitted
|
||||
* within the shape; range <code>0</code> – <code>Math.PI</code>. Particles are emitted from the portion of the
|
||||
* @property {number} polarFinish=0 - The angle in radians from the entity's local z-axis at which particles stop being emitted
|
||||
* within the shape; range <code>0</code> – <code>Math.PI</code>. Particles are emitted from the portion of the
|
||||
* shape that lies between <code>polarStart</code> and <code>polarFinish</code>. Only used if <code>shapeType</code> is
|
||||
* <code>"ellipsoid"</code> or <code>"sphere"</code>.
|
||||
* @property {number} azimuthStart=-Math.PI - The angle in radians from the entity's local x-axis about the entity's local
|
||||
* z-axis at which particles start being emitted; range <code>-Math.PI</code> – <code>Math.PI</code>. Particles are
|
||||
* emitted from the portion of the shape that lies between <code>azimuthStart</code> and <code>azimuthFinish</code>.
|
||||
* @property {number} azimuthStart=-Math.PI - The angle in radians from the entity's local x-axis about the entity's local
|
||||
* z-axis at which particles start being emitted; range <code>-Math.PI</code> – <code>Math.PI</code>. Particles are
|
||||
* emitted from the portion of the shape that lies between <code>azimuthStart</code> and <code>azimuthFinish</code>.
|
||||
* Only used if <code>shapeType</code> is <code>"ellipsoid"</code>, <code>"sphere"</code>, or <code>"circle"</code>.
|
||||
* @property {number} azimuthFinish=Math.PI - The angle in radians from the entity's local x-axis about the entity's local
|
||||
* z-axis at which particles stop being emitted; range <code>-Math.PI</code> – <code>Math.PI</code>. Particles are
|
||||
* emitted from the portion of the shape that lies between <code>azimuthStart</code> and <code>azimuthFinish</code>.
|
||||
* emitted from the portion of the shape that lies between <code>azimuthStart</code> and <code>azimuthFinish</code>.
|
||||
* Only used if <code>shapeType</code> is <code>"ellipsoid"</code>, <code>"sphere"</code>, or <code>"circle"</code>.
|
||||
*
|
||||
* @property {string} textures="" - The URL of a JPG or PNG image file to display for each particle. If you want transparency,
|
||||
|
@ -1114,40 +1114,40 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* <code>particleRadius</code> value is used.
|
||||
* @property {number} radiusFinish=null - The radius of each particle at the end of its life. If <code>null</code>, the
|
||||
* <code>particleRadius</code> value is used.
|
||||
* @property {number} radiusSpread=0 - The spread in radius that each particle is given. For example, if
|
||||
* <code>particleRadius == 0.5</code> and <code>radiusSpread == 0.25</code>, each particle will have a radius in the range
|
||||
* @property {number} radiusSpread=0 - The spread in radius that each particle is given. For example, if
|
||||
* <code>particleRadius == 0.5</code> and <code>radiusSpread == 0.25</code>, each particle will have a radius in the range
|
||||
* <code>0.25</code> – <code>0.75</code>.
|
||||
* @property {Color} color=255,255,255 - The color of each particle at the middle of its life.
|
||||
* @property {ColorFloat} colorStart=null,null,null - The color of each particle at the start of its life. If any of the
|
||||
* @property {ColorFloat} colorStart=null,null,null - The color of each particle at the start of its life. If any of the
|
||||
* component values are undefined, the <code>color</code> value is used.
|
||||
* @property {ColorFloat} colorFinish=null,null,null - The color of each particle at the end of its life. If any of the
|
||||
* @property {ColorFloat} colorFinish=null,null,null - The color of each particle at the end of its life. If any of the
|
||||
* component values are undefined, the <code>color</code> value is used.
|
||||
* @property {Color} colorSpread=0,0,0 - The spread in color that each particle is given. For example, if
|
||||
* <code>color == {red: 100, green: 100, blue: 100}</code> and <code>colorSpread ==
|
||||
* {red: 10, green: 25, blue: 50}</code>, each particle will have a color in the range
|
||||
* {red: 10, green: 25, blue: 50}</code>, each particle will have a color in the range
|
||||
* <code>{red: 90, green: 75, blue: 50}</code> – <code>{red: 110, green: 125, blue: 150}</code>.
|
||||
* @property {number} alpha=1 - The opacity of each particle at the middle of its life.
|
||||
* @property {number} alphaStart=null - The opacity of each particle at the start of its life. If <code>null</code>, the
|
||||
* <code>alpha</code> value is used.
|
||||
* @property {number} alphaFinish=null - The opacity of each particle at the end of its life. If <code>null</code>, the
|
||||
* <code>alpha</code> value is used.
|
||||
* @property {number} alphaSpread=0 - The spread in alpha that each particle is given. For example, if
|
||||
* <code>alpha == 0.5</code> and <code>alphaSpread == 0.25</code>, each particle will have an alpha in the range
|
||||
* @property {number} alphaSpread=0 - The spread in alpha that each particle is given. For example, if
|
||||
* <code>alpha == 0.5</code> and <code>alphaSpread == 0.25</code>, each particle will have an alpha in the range
|
||||
* <code>0.25</code> – <code>0.75</code>.
|
||||
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {number} particleSpin=0 - The rotation of each particle at the middle of its life, range <code>-2 * Math.PI</code>
|
||||
* @property {number} particleSpin=0 - The rotation of each particle at the middle of its life, range <code>-2 * Math.PI</code>
|
||||
* – <code>2 * Math.PI</code> radians.
|
||||
* @property {number} spinStart=null - The rotation of each particle at the start of its life, range <code>-2 * Math.PI</code>
|
||||
* @property {number} spinStart=null - The rotation of each particle at the start of its life, range <code>-2 * Math.PI</code>
|
||||
* – <code>2 * Math.PI</code> radians. If <code>null</code>, the <code>particleSpin</code> value is used.
|
||||
* @property {number} spinFinish=null - The rotation of each particle at the end of its life, range <code>-2 * Math.PI</code>
|
||||
* @property {number} spinFinish=null - The rotation of each particle at the end of its life, range <code>-2 * Math.PI</code>
|
||||
* – <code>2 * Math.PI</code> radians. If <code>null</code>, the <code>particleSpin</code> value is used.
|
||||
* @property {number} spinSpread=0 - The spread in spin that each particle is given, range <code>0</code> –
|
||||
* <code>2 * Math.PI</code> radians. For example, if <code>particleSpin == Math.PI</code> and
|
||||
* <code>spinSpread == Math.PI / 2</code>, each particle will have a rotation in the range <code>Math.PI / 2</code> –
|
||||
* @property {number} spinSpread=0 - The spread in spin that each particle is given, range <code>0</code> –
|
||||
* <code>2 * Math.PI</code> radians. For example, if <code>particleSpin == Math.PI</code> and
|
||||
* <code>spinSpread == Math.PI / 2</code>, each particle will have a rotation in the range <code>Math.PI / 2</code> –
|
||||
* <code>3 * Math.PI / 2</code>.
|
||||
* @property {boolean} rotateWithEntity=false - <code>true</code> if the particles' rotations are relative to the entity's
|
||||
* instantaneous rotation, <code>false</code> if they're relative to world coordinates. If <code>true</code> with
|
||||
* @property {boolean} rotateWithEntity=false - <code>true</code> if the particles' rotations are relative to the entity's
|
||||
* instantaneous rotation, <code>false</code> if they're relative to world coordinates. If <code>true</code> with
|
||||
* <code>particleSpin == 0</code>, the particles keep oriented per the entity's orientation.
|
||||
*
|
||||
* @example <caption>Create a ball of green smoke.</caption>
|
||||
|
@ -1173,27 +1173,27 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* points. It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-PolyLine
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity, i.e., the size of the bounding box that contains the
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity, i.e., the size of the bounding box that contains the
|
||||
* lines drawn. <em>Read-only.</em>
|
||||
* @property {Vec3[]} linePoints=[]] - The sequence of points to draw lines between. The values are relative to the entity's
|
||||
* position. A maximum of 70 points can be specified.
|
||||
* @property {Vec3[]} normals=[]] - The normal vectors for the line's surface at the <code>linePoints</code>. The values are
|
||||
* @property {Vec3[]} normals=[]] - The normal vectors for the line's surface at the <code>linePoints</code>. The values are
|
||||
* relative to the entity's orientation. Must be specified in order for the entity to render.
|
||||
* @property {number[]} strokeWidths=[]] - The widths, in m, of the line at the <code>linePoints</code>. Must be specified in
|
||||
* @property {number[]} strokeWidths=[]] - The widths, in m, of the line at the <code>linePoints</code>. Must be specified in
|
||||
* order for the entity to render.
|
||||
* @property {Vec3[]} strokeColors=[]] - The base colors of each point, with values in the range <code>0.0,0.0,0.0</code>
|
||||
* – <code>1.0,1.0,1.0</code>. These colors are multiplied with the color of the texture. If there are more line
|
||||
* @property {Vec3[]} strokeColors=[]] - The base colors of each point, with values in the range <code>0.0,0.0,0.0</code>
|
||||
* – <code>1.0,1.0,1.0</code>. These colors are multiplied with the color of the texture. If there are more line
|
||||
* points than stroke colors, the <code>color</code> property value is used for the remaining points.
|
||||
* <p><strong>Warning:</strong> The ordinate values are in the range <code>0.0</code> – <code>1.0</code>.</p>
|
||||
* @property {Color} color=255,255,255 - Used as the color for each point if <code>strokeColors</code> doesn't have a value for
|
||||
* @property {Color} color=255,255,255 - Used as the color for each point if <code>strokeColors</code> doesn't have a value for
|
||||
* the point.
|
||||
* @property {string} textures="" - The URL of a JPG or PNG texture to use for the lines. If you want transparency, use PNG
|
||||
* format.
|
||||
* @property {boolean} isUVModeStretch=true - <code>true</code> if the texture is stretched to fill the whole line,
|
||||
* @property {boolean} isUVModeStretch=true - <code>true</code> if the texture is stretched to fill the whole line,
|
||||
* <code>false</code> if the texture repeats along the line.
|
||||
* @property {boolean} glow=false - <code>true</code> if the opacity of the strokes drops off away from the line center,
|
||||
* @property {boolean} glow=false - <code>true</code> if the opacity of the strokes drops off away from the line center,
|
||||
* <code>false</code> if it doesn't.
|
||||
* @property {boolean} faceCamera=false - <code>true</code> if each line segment rotates to face the camera, <code>false</code>
|
||||
* @property {boolean} faceCamera=false - <code>true</code> if each line segment rotates to face the camera, <code>false</code>
|
||||
* if they don't.
|
||||
* @example <caption>Draw a textured "V".</caption>
|
||||
* var entity = Entities.addEntity({
|
||||
|
@ -1228,34 +1228,34 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
*
|
||||
* @typedef {object} Entities.EntityProperties-PolyVox
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity.
|
||||
* @property {Vec3} voxelVolumeSize=32,32,32 - Integer number of voxels along each axis of the entity, in the range
|
||||
* <code>1,1,1</code> to <code>128,128,128</code>. The dimensions of each voxel is
|
||||
* @property {Vec3} voxelVolumeSize=32,32,32 - Integer number of voxels along each axis of the entity, in the range
|
||||
* <code>1,1,1</code> to <code>128,128,128</code>. The dimensions of each voxel is
|
||||
* <code>dimensions / voxelVolumesize</code>.
|
||||
* @property {string} voxelData="ABAAEAAQAAAAHgAAEAB42u3BAQ0AAADCoPdPbQ8HFAAAAPBuEAAAAQ==" - Base-64 encoded compressed dump of
|
||||
* the PolyVox data. This property is typically not used in scripts directly; rather, functions that manipulate a PolyVox
|
||||
* @property {string} voxelData="ABAAEAAQAAAAHgAAEAB42u3BAQ0AAADCoPdPbQ8HFAAAAPBuEAAAAQ==" - Base-64 encoded compressed dump of
|
||||
* the PolyVox data. This property is typically not used in scripts directly; rather, functions that manipulate a PolyVox
|
||||
* entity update it.
|
||||
* <p>The size of this property increases with the size and complexity of the PolyVox entity, with the size depending on how
|
||||
* the particular entity's voxels compress. Because this property value has to fit within a Vircadia datagram packet,
|
||||
* there is a limit to the size and complexity of a PolyVox entity; edits which would result in an overflow are rejected.</p>
|
||||
* @property {Entities.PolyVoxSurfaceStyle} voxelSurfaceStyle=2 - The style of rendering the voxels' surface and how
|
||||
* @property {Entities.PolyVoxSurfaceStyle} voxelSurfaceStyle=2 - The style of rendering the voxels' surface and how
|
||||
* neighboring PolyVox entities are joined.
|
||||
* @property {string} xTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local x-axis.
|
||||
* @property {string} xTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local x-axis.
|
||||
* JPG or PNG format. If no texture is specified the surfaces display white.
|
||||
* @property {string} yTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local y-axis.
|
||||
* @property {string} yTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local y-axis.
|
||||
* JPG or PNG format. If no texture is specified the surfaces display white.
|
||||
* @property {string} zTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local z-axis.
|
||||
* @property {string} zTextureURL="" - The URL of the texture to map to surfaces perpendicular to the entity's local z-axis.
|
||||
* JPG or PNG format. If no texture is specified the surfaces display white.
|
||||
* @property {Uuid} xNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local x-axis
|
||||
* @property {Uuid} xNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local x-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @property {Uuid} yNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local y-axis
|
||||
* @property {Uuid} yNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local y-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @property {Uuid} zNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local z-axis
|
||||
* @property {Uuid} zNNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's -ve local z-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @property {Uuid} xPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local x-axis
|
||||
* @property {Uuid} xPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local x-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @property {Uuid} yPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local y-axis
|
||||
* @property {Uuid} yPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local y-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @property {Uuid} zPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local z-axis
|
||||
* @property {Uuid} zPNeighborID=Uuid.NULL - The ID of the neighboring PolyVox entity in the entity's +ve local z-axis
|
||||
* direction, if you want them joined. Set to {@link Uuid(0)|Uuid.NULL} if there is none or you don't want to join them.
|
||||
* @example <caption>Create a textured PolyVox sphere.</caption>
|
||||
* var position = Vec3.sum(MyAvatar.position, Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0.5, z: -8 }));
|
||||
|
@ -1296,8 +1296,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
/**jsdoc
|
||||
* The <code>"Sphere"</code> {@link Entities.EntityType|EntityType} is the same as the <code>"Shape"</code>
|
||||
* {@link Entities.EntityType|EntityType} except that its <code>shape</code> value is always set to <code>"Sphere"</code>
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
* <code>type</code> will be reported as <code>"Box"</code> if the <code>shape</code> is set to <code>"Cube"</code>,
|
||||
* when the entity is created. If its <code>shape</code> property value is subsequently changed then the entity's
|
||||
* <code>type</code> will be reported as <code>"Box"</code> if the <code>shape</code> is set to <code>"Cube"</code>,
|
||||
* otherwise it will be reported as <code>"Shape"</code>.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Sphere
|
||||
|
@ -1323,7 +1323,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {number} rightMargin=0.0 - The right margin, in meters.
|
||||
* @property {number} topMargin=0.0 - The top margin, in meters.
|
||||
* @property {number} bottomMargin=0.0 - The bottom margin, in meters.
|
||||
* @property {boolean} unlit=false - <code>true</code> if the entity is unaffected by lighting, <code>false</code> if it is lit
|
||||
* @property {boolean} unlit=false - <code>true</code> if the entity is unaffected by lighting, <code>false</code> if it is lit
|
||||
* by the key light and local lights.
|
||||
* @property {string} font="" - The font to render the text with. It can be one of the following: <code>"Courier"</code>,
|
||||
* <code>"Inconsolata"</code>, <code>"Roboto"</code>, <code>"Timeless"</code>, or a path to a .sdff file.
|
||||
|
@ -1331,10 +1331,10 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {Color} textEffectColor=255,255,255 - The color of the effect.
|
||||
* @property {number} textEffectThickness=0.2 - The magnitude of the text effect, range <code>0.0</code> – <code>0.5</code>.
|
||||
* @property {BillboardMode} billboardMode="none" - Whether the entity is billboarded to face the camera.
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* <code>false</code> if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
|
@ -1352,35 +1352,35 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
|
||||
/**jsdoc
|
||||
* The <code>"Web"</code> {@link Entities.EntityType|EntityType} displays a browsable web page. Each user views their own copy
|
||||
* of the web page: if one user navigates to another page on the entity, other users do not see the change; if a video is being
|
||||
* played, users don't see it in sync. It has properties in addition to the common
|
||||
* of the web page: if one user navigates to another page on the entity, other users do not see the change; if a video is being
|
||||
* played, users don't see it in sync. It has properties in addition to the common
|
||||
* {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Web
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.01 - The dimensions of the entity.
|
||||
* @property {string} sourceUrl="" - The URL of the web page to display. This value does not change as you or others navigate
|
||||
* on the Web entity.
|
||||
* @property {Color} color=255,255,255 - The color of the web surface. This color tints the web page displayed: the pixel
|
||||
* colors on the web page are multiplied by the property color. For example, a value of
|
||||
* @property {Color} color=255,255,255 - The color of the web surface. This color tints the web page displayed: the pixel
|
||||
* colors on the web page are multiplied by the property color. For example, a value of
|
||||
* <code>{ red: 255, green: 0, blue: 0 }</code> lets only the red channel of pixels' colors through.
|
||||
* @property {number} alpha=1 - The opacity of the web surface.
|
||||
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {BillboardMode} billboardMode="none" - Whether the entity is billboarded to face the camera.
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* <code>false</code> if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {number} dpi=30 - The resolution to display the page at, in dots per inch. If you convert this to dots per meter
|
||||
* (multiply by 1 / 0.0254 = 39.3701) then multiply <code>dimensions.x</code> and <code>dimensions.y</code> by that value
|
||||
* @property {number} dpi=30 - The resolution to display the page at, in dots per inch. If you convert this to dots per meter
|
||||
* (multiply by 1 / 0.0254 = 39.3701) then multiply <code>dimensions.x</code> and <code>dimensions.y</code> by that value
|
||||
* you get the resolution in pixels.
|
||||
* @property {string} scriptURL="" - The URL of a JavaScript file to inject into the web page.
|
||||
* @property {number} maxFPS=10 - The maximum update rate for the web content, in frames/second.
|
||||
* @property {WebInputMode} inputMode="touch" - The user input mode to use.
|
||||
* @property {boolean} showKeyboardFocusHighlight=true - <code>true</code> if the entity is highlighted when it has keyboard
|
||||
* @property {boolean} showKeyboardFocusHighlight=true - <code>true</code> if the entity is highlighted when it has keyboard
|
||||
* focus, <code>false</code> if it isn't.
|
||||
* @example <caption>Create a Web entity displaying at 1920 x 1080 resolution.</caption>
|
||||
* var METERS_TO_INCHES = 39.3701;
|
||||
|
@ -1401,17 +1401,17 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
|
||||
/**jsdoc
|
||||
* The <code>"Zone"</code> {@link Entities.EntityType|EntityType} is a volume of lighting effects and avatar permissions.
|
||||
* Avatar interaction events such as {@link Entities.enterEntity} are also often used with a Zone entity. It has properties in
|
||||
* Avatar interaction events such as {@link Entities.enterEntity} are also often used with a Zone entity. It has properties in
|
||||
* addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Zone
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the volume in which the zone's lighting effects and avatar
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the volume in which the zone's lighting effects and avatar
|
||||
* permissions have effect.
|
||||
*
|
||||
* @property {ShapeType} shapeType="box" - The shape of the volume in which the zone's lighting effects and avatar
|
||||
* permissions have effect. Reverts to the default value if set to <code>"none"</code>, or set to <code>"compound"</code>
|
||||
* permissions have effect. Reverts to the default value if set to <code>"none"</code>, or set to <code>"compound"</code>
|
||||
* and <code>compoundShapeURL</code> is <code>""</code>.
|
||||
* @property {string} compoundShapeURL="" - The model file to use for the compound shape if <code>shapeType</code> is
|
||||
* @property {string} compoundShapeURL="" - The model file to use for the compound shape if <code>shapeType</code> is
|
||||
* <code>"compound"</code>.
|
||||
*
|
||||
* @property {Entities.ComponentMode} keyLightMode="inherit" - Configures the key light in the zone.
|
||||
|
@ -1429,14 +1429,14 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {Entities.ComponentMode} bloomMode="inherit" - Configures the bloom in the zone.
|
||||
* @property {Entities.Bloom} bloom - The bloom properties of the zone.
|
||||
*
|
||||
* @property {boolean} flyingAllowed=true - <code>true</code> if visitors can fly in the zone; <code>false</code> if they
|
||||
* @property {boolean} flyingAllowed=true - <code>true</code> if visitors can fly in the zone; <code>false</code> if they
|
||||
* cannot. Only works for domain entities.
|
||||
* @property {boolean} ghostingAllowed=true - <code>true</code> if visitors with avatar collisions turned off will not
|
||||
* collide with content in the zone; <code>false</code> if visitors will always collide with content in the zone. Only
|
||||
* @property {boolean} ghostingAllowed=true - <code>true</code> if visitors with avatar collisions turned off will not
|
||||
* collide with content in the zone; <code>false</code> if visitors will always collide with content in the zone. Only
|
||||
* works for domain entities.
|
||||
*
|
||||
* @property {string} filterURL="" - The URL of a JavaScript file that filters changes to properties of entities within the
|
||||
* zone. It is periodically executed for each entity in the zone. It can, for example, be used to not allow changes to
|
||||
* @property {string} filterURL="" - The URL of a JavaScript file that filters changes to properties of entities within the
|
||||
* zone. It is periodically executed for each entity in the zone. It can, for example, be used to not allow changes to
|
||||
* certain properties:
|
||||
* <pre>
|
||||
* function filter(properties) {
|
||||
|
@ -1446,7 +1446,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @property {Entities.AvatarPriorityMode} avatarPriority="inherit" - Configures the priority of updates from avatars in the
|
||||
* @property {Entities.AvatarPriorityMode} avatarPriority="inherit" - Configures the priority of updates from avatars in the
|
||||
* zone to other clients.
|
||||
*
|
||||
* @property {Entities.ScreenshareMode} screenshare="inherit" - Configures a zone for screen-sharing.
|
||||
|
@ -1472,21 +1472,21 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @typedef {object} Entities.EntityProperties-Image
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.01 - The dimensions of the entity.
|
||||
* @property {string} imageURL="" - The URL of the image to use.
|
||||
* @property {boolean} emissive=false - <code>true</code> if the image should be emissive (unlit), <code>false</code> if it
|
||||
* @property {boolean} emissive=false - <code>true</code> if the image should be emissive (unlit), <code>false</code> if it
|
||||
* shouldn't.
|
||||
* @property {boolean} keepAspectRatio=true - <code>true</code> if the image should maintain its aspect ratio,
|
||||
* @property {boolean} keepAspectRatio=true - <code>true</code> if the image should maintain its aspect ratio,
|
||||
* <code>false</code> if it shouldn't.
|
||||
* @property {Rect} subImage=0,0,0,0 - The portion of the image to display. If width or height are <code>0</code>, it defaults
|
||||
* @property {Rect} subImage=0,0,0,0 - The portion of the image to display. If width or height are <code>0</code>, it defaults
|
||||
* to the full image in that dimension.
|
||||
* @property {Color} color=255,255,255 - The color of the image.
|
||||
* @property {number} alpha=1 - The opacity of the image.
|
||||
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {BillboardMode} billboardMode="none" - Whether the entity is billboarded to face the camera.
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* @property {boolean} faceCamera - <code>true</code> if <code>billboardMode</code> is <code>"yaw"</code>, <code>false</code>
|
||||
* if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* @property {boolean} isFacingAvatar - <code>true</code> if <code>billboardMode</code> is <code>"full"</code>,
|
||||
* <code>false</code> if it isn't. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</code>.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
|
@ -1947,13 +1947,13 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
|||
QScriptValue renderInfo = engine->newObject();
|
||||
|
||||
/**jsdoc
|
||||
* Information on how an entity is rendered. Properties are only filled in for <code>Model</code> entities; other
|
||||
* Information on how an entity is rendered. Properties are only filled in for <code>Model</code> entities; other
|
||||
* entity types have an empty object, <code>{}</code>.
|
||||
* @typedef {object} Entities.RenderInfo
|
||||
* @property {number} verticesCount - The number of vertices in the entity.
|
||||
* @property {number} texturesCount - The number of textures in the entity.
|
||||
* @property {number} texturesSize - The total size of the textures in the entity, in bytes.
|
||||
* @property {boolean} hasTransparent - <code>true</code> if any of the textures has transparency, <code>false</code>
|
||||
* @property {boolean} hasTransparent - <code>true</code> if any of the textures has transparency, <code>false</code>
|
||||
* if none of them do.
|
||||
* @property {number} drawCalls - The number of draw calls required to render the entity.
|
||||
*/
|
||||
|
@ -2604,7 +2604,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
ADD_PROPERTY_TO_MAP(PROP_POSITION, Position, position, vec3);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_DIMENSIONS, Dimensions, dimensions, vec3, ENTITY_ITEM_MIN_DIMENSION, FLT_MAX);
|
||||
ADD_PROPERTY_TO_MAP(PROP_ROTATION, Rotation, rotation, quat);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_REGISTRATION_POINT, RegistrationPoint, registrationPoint, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_REGISTRATION_POINT, RegistrationPoint, registrationPoint, vec3,
|
||||
ENTITY_ITEM_MIN_REGISTRATION_POINT, ENTITY_ITEM_MAX_REGISTRATION_POINT);
|
||||
ADD_PROPERTY_TO_MAP(PROP_CREATED, Created, created, quint64);
|
||||
ADD_PROPERTY_TO_MAP(PROP_LAST_EDITED_BY, LastEditedBy, lastEditedBy, QUuid);
|
||||
|
@ -2641,19 +2641,19 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
}
|
||||
|
||||
// Physics
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_DENSITY, Density, density, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_DENSITY, Density, density, float,
|
||||
ENTITY_ITEM_MIN_DENSITY, ENTITY_ITEM_MAX_DENSITY);
|
||||
ADD_PROPERTY_TO_MAP(PROP_VELOCITY, Velocity, velocity, vec3);
|
||||
ADD_PROPERTY_TO_MAP(PROP_ANGULAR_VELOCITY, AngularVelocity, angularVelocity, vec3);
|
||||
ADD_PROPERTY_TO_MAP(PROP_GRAVITY, Gravity, gravity, vec3);
|
||||
ADD_PROPERTY_TO_MAP(PROP_ACCELERATION, Acceleration, acceleration, vec3);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_DAMPING, Damping, damping, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_DAMPING, Damping, damping, float,
|
||||
ENTITY_ITEM_MIN_DAMPING, ENTITY_ITEM_MAX_DAMPING);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ANGULAR_DAMPING, AngularDamping, angularDamping, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ANGULAR_DAMPING, AngularDamping, angularDamping, float,
|
||||
ENTITY_ITEM_MIN_DAMPING, ENTITY_ITEM_MAX_DAMPING);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RESTITUTION, Restitution, restitution, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RESTITUTION, Restitution, restitution, float,
|
||||
ENTITY_ITEM_MIN_RESTITUTION, ENTITY_ITEM_MAX_RESTITUTION);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_FRICTION, Friction, friction, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_FRICTION, Friction, friction, float,
|
||||
ENTITY_ITEM_MIN_FRICTION, ENTITY_ITEM_MAX_FRICTION);
|
||||
ADD_PROPERTY_TO_MAP(PROP_LIFETIME, Lifetime, lifetime, float);
|
||||
ADD_PROPERTY_TO_MAP(PROP_COLLISIONLESS, Collisionless, collisionless, bool);
|
||||
|
@ -2697,7 +2697,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
ADD_PROPERTY_TO_MAP(PROP_LOCAL_ROTATION, LocalRotation, localRotation, quat);
|
||||
ADD_PROPERTY_TO_MAP(PROP_LOCAL_VELOCITY, LocalVelocity, localVelocity, vec3);
|
||||
ADD_PROPERTY_TO_MAP(PROP_LOCAL_ANGULAR_VELOCITY, LocalAngularVelocity, localAngularVelocity, vec3);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_LOCAL_DIMENSIONS, LocalDimensions, localDimensions, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_LOCAL_DIMENSIONS, LocalDimensions, localDimensions, vec3,
|
||||
ENTITY_ITEM_MIN_DIMENSION, FLT_MAX);
|
||||
|
||||
// Common
|
||||
|
@ -2716,59 +2716,59 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
ADD_PROPERTY_TO_MAP(PROP_BILLBOARD_MODE, BillboardMode, billboardMode, BillboardMode);
|
||||
|
||||
// Particles
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_MAX_PARTICLES, MaxParticles, maxParticles, quint32,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_MAX_PARTICLES, MaxParticles, maxParticles, quint32,
|
||||
particle::MINIMUM_MAX_PARTICLES, particle::MAXIMUM_MAX_PARTICLES);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_LIFESPAN, Lifespan, lifespan, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_LIFESPAN, Lifespan, lifespan, float,
|
||||
particle::MINIMUM_LIFESPAN, particle::MAXIMUM_LIFESPAN);
|
||||
ADD_PROPERTY_TO_MAP(PROP_EMITTING_PARTICLES, IsEmitting, isEmitting, bool);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_RATE, EmitRate, emitRate, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_RATE, EmitRate, emitRate, float,
|
||||
particle::MINIMUM_EMIT_RATE, particle::MAXIMUM_EMIT_RATE);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_SPEED, EmitSpeed, emitSpeed, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_SPEED, EmitSpeed, emitSpeed, vec3,
|
||||
particle::MINIMUM_EMIT_SPEED, particle::MAXIMUM_EMIT_SPEED);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPEED_SPREAD, SpeedSpread, speedSpread, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPEED_SPREAD, SpeedSpread, speedSpread, vec3,
|
||||
particle::MINIMUM_EMIT_SPEED, particle::MAXIMUM_EMIT_SPEED);
|
||||
ADD_PROPERTY_TO_MAP(PROP_EMIT_ORIENTATION, EmitOrientation, emitOrientation, quat);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_DIMENSIONS, EmitDimensions, emitDimensions, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_DIMENSIONS, EmitDimensions, emitDimensions, vec3,
|
||||
particle::MINIMUM_EMIT_DIMENSION, particle::MAXIMUM_EMIT_DIMENSION);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_RADIUS_START, EmitRadiusStart, emitRadiusStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_RADIUS_START, EmitRadiusStart, emitRadiusStart, float,
|
||||
particle::MINIMUM_EMIT_RADIUS_START, particle::MAXIMUM_EMIT_RADIUS_START);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_POLAR_START, EmitPolarStart, polarStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_POLAR_START, EmitPolarStart, polarStart, float,
|
||||
particle::MINIMUM_POLAR, particle::MAXIMUM_POLAR);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_POLAR_FINISH, EmitPolarFinish, polarFinish, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_POLAR_FINISH, EmitPolarFinish, polarFinish, float,
|
||||
particle::MINIMUM_POLAR, particle::MAXIMUM_POLAR);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_AZIMUTH_START, EmitAzimuthStart, azimuthStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_AZIMUTH_START, EmitAzimuthStart, azimuthStart, float,
|
||||
particle::MINIMUM_AZIMUTH, particle::MAXIMUM_AZIMUTH);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_AZIMUTH_FINISH, EmitAzimuthFinish, azimuthFinish, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_AZIMUTH_FINISH, EmitAzimuthFinish, azimuthFinish, float,
|
||||
particle::MINIMUM_AZIMUTH, particle::MAXIMUM_AZIMUTH);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_ACCELERATION, EmitAcceleration, emitAcceleration, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_EMIT_ACCELERATION, EmitAcceleration, emitAcceleration, vec3,
|
||||
particle::MINIMUM_EMIT_ACCELERATION, particle::MAXIMUM_EMIT_ACCELERATION);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ACCELERATION_SPREAD, AccelerationSpread, accelerationSpread, vec3,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ACCELERATION_SPREAD, AccelerationSpread, accelerationSpread, vec3,
|
||||
particle::MINIMUM_ACCELERATION_SPREAD, particle::MAXIMUM_ACCELERATION_SPREAD);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_PARTICLE_RADIUS, ParticleRadius, particleRadius, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_PARTICLE_RADIUS, ParticleRadius, particleRadius, float,
|
||||
particle::MINIMUM_PARTICLE_RADIUS, particle::MAXIMUM_PARTICLE_RADIUS);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_SPREAD, RadiusSpread, radiusSpread, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_SPREAD, RadiusSpread, radiusSpread, float,
|
||||
particle::MINIMUM_PARTICLE_RADIUS, particle::MAXIMUM_PARTICLE_RADIUS);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_START, RadiusStart, radiusStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_START, RadiusStart, radiusStart, float,
|
||||
particle::MINIMUM_PARTICLE_RADIUS, particle::MAXIMUM_PARTICLE_RADIUS);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_FINISH, RadiusFinish, radiusFinish, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_RADIUS_FINISH, RadiusFinish, radiusFinish, float,
|
||||
particle::MINIMUM_PARTICLE_RADIUS, particle::MAXIMUM_PARTICLE_RADIUS);
|
||||
ADD_PROPERTY_TO_MAP(PROP_COLOR_SPREAD, ColorSpread, colorSpread, u8vec3Color);
|
||||
ADD_PROPERTY_TO_MAP(PROP_COLOR_START, ColorStart, colorStart, vec3Color);
|
||||
ADD_PROPERTY_TO_MAP(PROP_COLOR_FINISH, ColorFinish, colorFinish, vec3Color);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_SPREAD, AlphaSpread, alphaSpread, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_SPREAD, AlphaSpread, alphaSpread, float,
|
||||
particle::MINIMUM_ALPHA, particle::MAXIMUM_ALPHA);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_START, AlphaStart, alphaStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_START, AlphaStart, alphaStart, float,
|
||||
particle::MINIMUM_ALPHA, particle::MAXIMUM_ALPHA);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_FINISH, AlphaFinish, alphaFinish, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA_FINISH, AlphaFinish, alphaFinish, float,
|
||||
particle::MINIMUM_ALPHA, particle::MAXIMUM_ALPHA);
|
||||
ADD_PROPERTY_TO_MAP(PROP_EMITTER_SHOULD_TRAIL, EmitterShouldTrail, emitterShouldTrail, bool);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_PARTICLE_SPIN, ParticleSpin, particleSpin, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_PARTICLE_SPIN, ParticleSpin, particleSpin, float,
|
||||
particle::MINIMUM_PARTICLE_SPIN, particle::MAXIMUM_PARTICLE_SPIN);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_SPREAD, SpinSpread, spinSpread, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_SPREAD, SpinSpread, spinSpread, float,
|
||||
particle::MINIMUM_PARTICLE_SPIN, particle::MAXIMUM_PARTICLE_SPIN);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_START, SpinStart, spinStart, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_START, SpinStart, spinStart, float,
|
||||
particle::MINIMUM_PARTICLE_SPIN, particle::MAXIMUM_PARTICLE_SPIN);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_FINISH, SpinFinish, spinFinish, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_SPIN_FINISH, SpinFinish, spinFinish, float,
|
||||
particle::MINIMUM_PARTICLE_SPIN, particle::MAXIMUM_PARTICLE_SPIN);
|
||||
ADD_PROPERTY_TO_MAP(PROP_PARTICLE_ROTATE_WITH_ENTITY, RotateWithEntity, rotateWithEntity, float);
|
||||
|
||||
|
@ -2798,7 +2798,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
|||
ADD_PROPERTY_TO_MAP(PROP_IS_SPOTLIGHT, IsSpotlight, isSpotlight, bool);
|
||||
ADD_PROPERTY_TO_MAP(PROP_INTENSITY, Intensity, intensity, float);
|
||||
ADD_PROPERTY_TO_MAP(PROP_EXPONENT, Exponent, exponent, float);
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_CUTOFF, Cutoff, cutoff, float,
|
||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_CUTOFF, Cutoff, cutoff, float,
|
||||
LightEntityItem::MIN_CUTOFF, LightEntityItem::MAX_CUTOFF);
|
||||
ADD_PROPERTY_TO_MAP(PROP_FALLOFF_RADIUS, FalloffRadius, falloffRadius, float);
|
||||
|
||||
|
@ -5149,7 +5149,7 @@ bool EntityItemProperties::blobToProperties(QScriptEngine& scriptEngine, const Q
|
|||
return true;
|
||||
}
|
||||
|
||||
void EntityItemProperties::propertiesToBlob(QScriptEngine& scriptEngine, const QUuid& myAvatarID,
|
||||
void EntityItemProperties::propertiesToBlob(QScriptEngine& scriptEngine, const QUuid& myAvatarID,
|
||||
const EntityItemProperties& properties, QByteArray& blob, bool allProperties) {
|
||||
// DANGER: this method is NOT efficient.
|
||||
// begin recipe for extracting unfortunately-formatted-binary-blob from EntityItem
|
||||
|
|
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 930 B |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 937 B |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 883 B |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 836 B |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 836 B |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 798 B |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 199 KiB |