mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-11 21:52:26 +02:00
removed cruft
This commit is contained in:
parent
dc3d162c5b
commit
e9b9c05b5d
18 changed files with 885 additions and 7404 deletions
|
@ -15,6 +15,10 @@
|
|||
#include <DependencyManager.h>
|
||||
#include "Bookmarks.h"
|
||||
|
||||
/**jsdoc
|
||||
* This API helps manage adding and deleting Avatar bookmarks
|
||||
*/
|
||||
|
||||
class AvatarBookmarks: public Bookmarks, public Dependency {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
@ -23,6 +27,15 @@ public:
|
|||
AvatarBookmarks();
|
||||
void setupMenus(Menu* menubar, MenuWrapper* menu) override;
|
||||
|
||||
/**jsdoc
|
||||
* Add the current Avatar to your Avatar Bookmarks
|
||||
* @function AvatarBookmarks.addBookMark
|
||||
*/
|
||||
/**jsdoc
|
||||
* To Be Completed (Not Yet Implemented)
|
||||
* @function AvatarBookmarks.deleteBookMark
|
||||
*/
|
||||
|
||||
public slots:
|
||||
void addBookmark();
|
||||
|
||||
|
|
|
@ -48,6 +48,10 @@ protected:
|
|||
bool _isMenuSorted;
|
||||
|
||||
protected slots:
|
||||
/**jsdoc
|
||||
* Delete
|
||||
* @function AvatarBookmarks.addBookMark
|
||||
*/
|
||||
void deleteBookmark();
|
||||
|
||||
private:
|
||||
|
|
|
@ -9,6 +9,10 @@
|
|||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
/**JSd
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef hifi_LODManager_h
|
||||
#define hifi_LODManager_h
|
||||
|
||||
|
|
|
@ -25,6 +25,16 @@ class AudioScope : public QObject, public Dependency {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
/**jsdoc
|
||||
* The AudioScope API helps control the Audio Scope features in Interface
|
||||
* @namespace AudioScope
|
||||
* @property {int} scopeInput - To Be Completed
|
||||
* @property {int} scopeOutputLeft - To Be Completed
|
||||
* @property {int} scopeOutputRight - To Be Completed
|
||||
* @property {int} triggerInput - To Be Completed
|
||||
* @property {int} triggerOutputLeft - To Be Completed
|
||||
* @property {int} triggerOutputRight - To Be Completed
|
||||
*/
|
||||
Q_PROPERTY(QVector<int> scopeInput READ getScopeInput)
|
||||
Q_PROPERTY(QVector<int> scopeOutputLeft READ getScopeOutputLeft)
|
||||
Q_PROPERTY(QVector<int> scopeOutputRight READ getScopeOutputRight)
|
||||
|
@ -40,42 +50,170 @@ public:
|
|||
void reallocateScope(int frames);
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.toggle
|
||||
*/
|
||||
void toggle() { setVisible(!_isEnabled); }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {boolean} visible
|
||||
* @function AudioScope.setVisible
|
||||
*/
|
||||
void setVisible(bool visible);
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {boolean} visible
|
||||
* @function AudioScope.getVisible
|
||||
* @returns {boolean}
|
||||
*/
|
||||
bool getVisible() const { return _isEnabled; }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.togglePause
|
||||
*/
|
||||
void togglePause() { setPause(!_isPaused); }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {boolean} paused
|
||||
* @function AudioScope.setPause
|
||||
*/
|
||||
void setPause(bool paused) { _isPaused = paused; emit pauseChanged(); }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getPause
|
||||
* @returns {boolean} isPaused
|
||||
*/
|
||||
bool getPause() { return _isPaused; }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.toggleTrigger
|
||||
*/
|
||||
void toggleTrigger() { _autoTrigger = !_autoTrigger; }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getAutoTrigger
|
||||
* @returns {boolean} autoTrigger
|
||||
*/
|
||||
bool getAutoTrigger() { return _autoTrigger; }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.setAutoTrigger
|
||||
* @param {boolean} autoTrigger
|
||||
*/
|
||||
void setAutoTrigger(bool autoTrigger) { _isTriggered = false; _autoTrigger = autoTrigger; }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.setTriggerValues
|
||||
* @param {number} x
|
||||
* @param {number} y
|
||||
*/
|
||||
void setTriggerValues(int x, int y) { _triggerValues.x = x; _triggerValues.y = y; }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.setTriggered
|
||||
* @param {boolean} triggered
|
||||
*/
|
||||
void setTriggered(bool triggered) { _isTriggered = triggered; }
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getTriggered
|
||||
* @returns {boolean}
|
||||
*/
|
||||
bool getTriggered() { return _isTriggered; }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getFramesPerSecond
|
||||
* @returns {number}
|
||||
*/
|
||||
float getFramesPerSecond();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getFramesPerScope
|
||||
* @returns {number}
|
||||
*/
|
||||
int getFramesPerScope() { return _framesPerScope; }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.selectAudioScopeFiveFrames
|
||||
*/
|
||||
void selectAudioScopeFiveFrames();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.selectAudioScopeTwentyFrames
|
||||
*/
|
||||
void selectAudioScopeTwentyFrames();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.selectAudioScopeFiftyFrames
|
||||
*/
|
||||
void selectAudioScopeFiftyFrames();
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getScopeInput
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getScopeInput() { return _scopeInputData; };
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getScopeOutputLeft
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getScopeOutputLeft() { return _scopeOutputLeftData; };
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getScopeOutputRight
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getScopeOutputRight() { return _scopeOutputRightData; };
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getTriggerInput
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getTriggerInput() { return _triggerInputData; };
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getTriggerOutputLeft
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getTriggerOutputLeft() { return _triggerOutputLeftData; };
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.getTriggerOutputRight
|
||||
* @returns {number}
|
||||
*/
|
||||
QVector<int> getTriggerOutputRight() { return _triggerOutputRightData; };
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.setLocalEcho
|
||||
* @parm {boolean} serverEcho
|
||||
*/
|
||||
void setLocalEcho(bool serverEcho);
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.setServerEcho
|
||||
* @parm {boolean} serverEcho
|
||||
*/
|
||||
void setServerEcho(bool serverEcho);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.pauseChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void pauseChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioScope.triggered
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void triggered();
|
||||
|
||||
protected:
|
||||
|
|
|
@ -27,12 +27,95 @@
|
|||
#include "AvatarMotionState.h"
|
||||
#include "MyAvatar.h"
|
||||
|
||||
/**jsdoc
|
||||
* The AvatarManager API has properties and methods which manage Avatars within the same domain.
|
||||
* @namespace AvatarManager
|
||||
*/
|
||||
|
||||
class AvatarManager : public AvatarHashMap {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
public:
|
||||
// JSDOCS Copied over from AvatarHashMap (see AvatarHashMap.h for reason)
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarIdentifiers
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarsInRange
|
||||
* @param {Vec3} position
|
||||
* @param {float} rangeMeters
|
||||
* @returns {string[]}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatar
|
||||
* @param {string} avatarID
|
||||
* @returns {ScriptAvatarData}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.avatarAddedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.avatarRemovedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.avatarSessionChangedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @param {string} oldUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.isAvatarInRange
|
||||
* @param {string} position
|
||||
* @param {string} range
|
||||
* @returns {boolean}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.sessionUUIDChanged
|
||||
* @param {string} sessionUUID
|
||||
* @param {string} oldUUID
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.processAvatarDataPacket
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.processAvatarIdentityPacket
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.processKillAvatar
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
/// Registers the script types associated with the avatar manager.
|
||||
static void registerMetaTypes(QScriptEngine* engine);
|
||||
|
||||
|
@ -43,6 +126,13 @@ public:
|
|||
std::shared_ptr<MyAvatar> getMyAvatar() { return _myAvatar; }
|
||||
glm::vec3 getMyAvatarPosition() const { return _myAvatar->getWorldPosition(); }
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatar
|
||||
* @param {string} avatarID
|
||||
* @returns {}
|
||||
*/
|
||||
|
||||
// Null/Default-constructed QUuids will return MyAvatar
|
||||
Q_INVOKABLE virtual ScriptAvatarData* getAvatar(QUuid avatarID) override { return new ScriptAvatar(getAvatarBySessionID(avatarID)); }
|
||||
|
||||
|
@ -66,24 +156,78 @@ public:
|
|||
void handleChangedMotionStates(const VectorOfMotionStates& motionStates);
|
||||
void handleCollisionEvents(const CollisionEvents& collisionEvents);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarDataRate
|
||||
* @param {string} sessionID
|
||||
* @param {string} rateName
|
||||
* @returns {number}
|
||||
*/
|
||||
Q_INVOKABLE float getAvatarDataRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarUpdateRate
|
||||
* @param {string} sessionID
|
||||
* @param {string} rateName
|
||||
* @returns {number}
|
||||
*/
|
||||
Q_INVOKABLE float getAvatarUpdateRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarSimulationRate
|
||||
* @param {string} sessionID
|
||||
* @param {string} rateName
|
||||
* @returns {number}
|
||||
*/
|
||||
Q_INVOKABLE float getAvatarSimulationRate(const QUuid& sessionID, const QString& rateName = QString("")) const;
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.findRayIntersection
|
||||
* @param {PickRay} ray
|
||||
* @param {} avatarIdsToInclude
|
||||
* @param {} avatarIdsToDiscard
|
||||
* @returns {RayToAvatarIntersectionResult}
|
||||
*/
|
||||
Q_INVOKABLE RayToAvatarIntersectionResult findRayIntersection(const PickRay& ray,
|
||||
const QScriptValue& avatarIdsToInclude = QScriptValue(),
|
||||
const QScriptValue& avatarIdsToDiscard = QScriptValue());
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.findRayIntersection
|
||||
* @param {PickRay} ray
|
||||
* @param {} avatarsToInclude
|
||||
* @param {} avatarIdsToDiscard
|
||||
* @returns {avatarsToDiscard}
|
||||
*/
|
||||
Q_INVOKABLE RayToAvatarIntersectionResult findRayIntersectionVector(const PickRay& ray,
|
||||
const QVector<EntityItemID>& avatarsToInclude,
|
||||
const QVector<EntityItemID>& avatarsToDiscard);
|
||||
|
||||
// TODO: remove this HACK once we settle on optimal default sort coefficients
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.getAvatarSortCoefficient
|
||||
* @param {string} name
|
||||
* @returns {number}
|
||||
*/
|
||||
Q_INVOKABLE float getAvatarSortCoefficient(const QString& name);
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.setAvatarSortCoefficient
|
||||
* @param {string} name
|
||||
* @param {string} value
|
||||
*/
|
||||
Q_INVOKABLE void setAvatarSortCoefficient(const QString& name, const QScriptValue& value);
|
||||
|
||||
float getMyAvatarSendRate() const { return _myAvatarSendRate.rate(); }
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarManager.updateAvatarRenderStatus
|
||||
* @param {boolean} shouldRenderAvatars
|
||||
*/
|
||||
void updateAvatarRenderStatus(bool shouldRenderAvatars);
|
||||
|
||||
private:
|
||||
|
|
|
@ -26,6 +26,11 @@
|
|||
|
||||
#include <trackers/FaceTracker.h>
|
||||
|
||||
/**jsdoc
|
||||
* The FaceTracker API helps manage facial tracking hardware.
|
||||
* @namespace FaceTracker
|
||||
*/
|
||||
|
||||
class DdeFaceTracker : public FaceTracker, public Dependency {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
@ -57,7 +62,16 @@ public:
|
|||
void setEyeClosingThreshold(float eyeClosingThreshold);
|
||||
|
||||
public slots:
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function FaceTracker.setEnabled
|
||||
* @param {boolean} enabled
|
||||
*/
|
||||
void setEnabled(bool enabled) override;
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function FaceTracker.calibrate
|
||||
*/
|
||||
void calibrate();
|
||||
|
||||
private slots:
|
||||
|
|
|
@ -15,6 +15,11 @@
|
|||
#include <QObject>
|
||||
#include <DependencyManager.h>
|
||||
|
||||
/**jsdoc
|
||||
* The GooglePoly API allows you to interact with Google Poly models direct from inside High Fidelity.
|
||||
* @namespace GooglePoly
|
||||
*/
|
||||
|
||||
class GooglePolyScriptingInterface : public QObject, public Dependency {
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -22,15 +27,75 @@ public:
|
|||
GooglePolyScriptingInterface();
|
||||
|
||||
public slots:
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.setAPIKey
|
||||
* @param {string} key
|
||||
*/
|
||||
void setAPIKey(const QString& key);
|
||||
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getAssetList
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @param {string} format
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getAssetList(const QString& keyword, const QString& category, const QString& format);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getFBX
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getFBX(const QString& keyword, const QString& category);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getOBJ
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getOBJ(const QString& keyword, const QString& category);
|
||||
QString getBlocks(const QString& keyword, const QString& categoryy);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getBlocks
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getBlocks(const QString& keyword, const QString& category);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getGLTF
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getGLTF(const QString& keyword, const QString& category);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getGLTF2
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getGLTF2(const QString& keyword, const QString& category);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getTilt
|
||||
* @param {string} keyword
|
||||
* @param {string} category
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getTilt(const QString& keyword, const QString& category);
|
||||
/**
|
||||
* To Be Completed
|
||||
* @function GooglePoly.getModelInfo
|
||||
* @param {string} input
|
||||
* @returns {string}
|
||||
*/
|
||||
QString getModelInfo(const QString& input);
|
||||
|
||||
private:
|
||||
|
|
|
@ -23,6 +23,14 @@ class AvatarInputs : public QObject {
|
|||
Q_OBJECT
|
||||
HIFI_QML_DECL
|
||||
|
||||
/**jsdoc
|
||||
* API to help manage your Avatar's input
|
||||
* @namespace AvatarInputs
|
||||
* @param {boolean} cameraEnabled - To Be Completed
|
||||
* @param {boolean} cameraMuted - To Be Completed
|
||||
* @param {boolean} isHMD - To Be Completed
|
||||
* @param {boolean} showAudioTools - To Be Completed
|
||||
*/
|
||||
AI_PROPERTY(bool, cameraEnabled, false)
|
||||
AI_PROPERTY(bool, cameraMuted, false)
|
||||
AI_PROPERTY(bool, isHMD, false)
|
||||
|
@ -31,21 +39,58 @@ class AvatarInputs : public QObject {
|
|||
|
||||
public:
|
||||
static AvatarInputs* getInstance();
|
||||
/**jsdoc
|
||||
* @function AvatarInputs.loudnessToAudioLevel
|
||||
* @param {number} loudness
|
||||
*/
|
||||
Q_INVOKABLE float loudnessToAudioLevel(float loudness);
|
||||
AvatarInputs(QObject* parent = nullptr);
|
||||
void update();
|
||||
bool showAudioTools() const { return _showAudioTools; }
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
* @function AvatarInputs.setShowAudioTools
|
||||
* @param {boolean} showAudioTools
|
||||
*/
|
||||
void setShowAudioTools(bool showAudioTools);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.cameraEnabledChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void cameraEnabledChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.cameraMutedChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void cameraMutedChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.isHMDChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void isHMDChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.showAudioToolsChanged
|
||||
* @param {boolean} show
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void showAudioToolsChanged(bool show);
|
||||
|
||||
protected:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.resetSensors
|
||||
*/
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarInputs.toggleCameraMute
|
||||
*/
|
||||
Q_INVOKABLE void resetSensors();
|
||||
Q_INVOKABLE void toggleCameraMute();
|
||||
|
||||
|
|
|
@ -20,6 +20,11 @@
|
|||
#include <FBXReader.h>
|
||||
#include <ResourceCache.h>
|
||||
|
||||
/**jsdoc
|
||||
* API to manage Animation Cache resources
|
||||
* @namespace AnimationCache
|
||||
*/
|
||||
|
||||
class Animation;
|
||||
|
||||
typedef QSharedPointer<Animation> AnimationPointer;
|
||||
|
@ -29,19 +34,82 @@ class AnimationCache : public ResourceCache, public Dependency {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
/**jsdoc
|
||||
* @namespace AnimationCache
|
||||
* @augments ResourceCache
|
||||
*/
|
||||
|
||||
public:
|
||||
// Copied over from ResourceCache (see ResourceCache.h for reason)
|
||||
|
||||
/**jsdoc
|
||||
* @namespace AnimationCache
|
||||
* @property numTotal {number} total number of total resources
|
||||
* @property numCached {number} total number of cached resource
|
||||
* @property sizeTotal {number} size in bytes of all resources
|
||||
* @property sizeCached {number} size in bytes of all cached resources
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of resources
|
||||
* @function AnimationCache.getNumTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of all resources
|
||||
* @function AnimationCache.getSizeTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of cached resources
|
||||
* @function AnimationCache.getNumCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of cached resources
|
||||
* @function AnimationCache.getSizeCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns list of all resource urls
|
||||
* @function AnimationCache.getResourceList
|
||||
* @returns {string[]}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns animation resource for particular animation
|
||||
* @function AnimationCache.getAnimation
|
||||
* @param url {string} url to load
|
||||
* @return {Resource} animation
|
||||
* @returns {Resource} animation
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Asynchronously loads a resource from the spedified URL and returns it.
|
||||
* @param url {string} url of resource to load
|
||||
* @param fallback {string} fallback URL if load of the desired url fails
|
||||
* @function AnimationCache.getResource
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Prefetches a resource.
|
||||
* @param url {string} url of resource to load
|
||||
* @function AnimationCache.prefetch
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {number} deltaSize
|
||||
* @function AnimationCache.updateTotalSize
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AnimationCache.dirty
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
Q_INVOKABLE AnimationPointer getAnimation(const QString& url) { return getAnimation(QUrl(url)); }
|
||||
Q_INVOKABLE AnimationPointer getAnimation(const QUrl& url);
|
||||
|
||||
|
|
|
@ -38,6 +38,46 @@ class MixedProcessedAudioStream;
|
|||
|
||||
class AudioStreamStatsInterface : public QObject {
|
||||
Q_OBJECT
|
||||
/**jsdoc
|
||||
* Audio stats from the Audio Mixer
|
||||
* @namespace AudioStats.mixerStream
|
||||
* @param {number} lossRate - To Be Completed
|
||||
* @param {number} lossCount - To Be Completed
|
||||
* @param {number} lossRateWindow - To Be Completed
|
||||
* @param {number} lossCountWindow - To Be Completed
|
||||
* @param {number} framesDesired - To Be Completed
|
||||
* @param {number} framesAvailable - To Be Completed
|
||||
* @param {number} framesAvailableAvg - To Be Completed
|
||||
* @param {number} unplayedMsMax - To Be Completed
|
||||
* @param {number} starveCount - To Be Completed
|
||||
* @param {number} lastStarveDurationCount - To Be Completed
|
||||
* @param {number} dropCount - To Be Completed
|
||||
* @param {number} overflowCount - To Be Completed
|
||||
* @param {number} timegapMsMax - To Be Completed
|
||||
* @param {number} timegapMsAvg - To Be Completed
|
||||
* @param {number} timegapMsMaxWindow - To Be Completed
|
||||
* @param {number} timegapMsAvgWindow - To Be Completed
|
||||
*/
|
||||
/**jsdoc
|
||||
* Audio stats from the Client Mixer
|
||||
* @namespace AudioStats.clientMixer
|
||||
* @param {number} lossRate - To Be Completed
|
||||
* @param {number} lossCount - To Be Completed
|
||||
* @param {number} lossRateWindow - To Be Completed
|
||||
* @param {number} lossCountWindow - To Be Completed
|
||||
* @param {number} framesDesired - To Be Completed
|
||||
* @param {number} framesAvailable - To Be Completed
|
||||
* @param {number} framesAvailableAvg - To Be Completed
|
||||
* @param {number} unplayedMsMax - To Be Completed
|
||||
* @param {number} starveCount - To Be Completed
|
||||
* @param {number} lastStarveDurationCount - To Be Completed
|
||||
* @param {number} dropCount - To Be Completed
|
||||
* @param {number} overflowCount - To Be Completed
|
||||
* @param {number} timegapMsMax - To Be Completed
|
||||
* @param {number} timegapMsAvg - To Be Completed
|
||||
* @param {number} timegapMsMaxWindow - To Be Completed
|
||||
* @param {number} timegapMsAvgWindow - To Be Completed
|
||||
*/
|
||||
AUDIO_PROPERTY(float, lossRate)
|
||||
AUDIO_PROPERTY(float, lossCount)
|
||||
AUDIO_PROPERTY(float, lossRateWindow)
|
||||
|
@ -68,6 +108,19 @@ private:
|
|||
|
||||
class AudioStatsInterface : public QObject {
|
||||
Q_OBJECT
|
||||
/**jsdoc
|
||||
* Audio stats from the client
|
||||
* @namespace AudioStats
|
||||
* @param {number} pingMs - To Be Completed
|
||||
* @param {number} inputReadMsMax - To Be Completed
|
||||
* @param {number} inputUnplayedMsMax - To Be Completed
|
||||
* @param {number} outputUnplayedMsMax - To Be Completed
|
||||
* @param {number} sentTimegapMsMax - To Be Completed
|
||||
* @param {number} sentTimegapMsAvg - To Be Completed
|
||||
* @param {number} sentTimegapMsMaxWindow - To Be Completed
|
||||
* @param {number} sentTimegapMsAvgWindow - To Be Completed
|
||||
*/
|
||||
|
||||
AUDIO_PROPERTY(float, pingMs);
|
||||
|
||||
AUDIO_PROPERTY(float, inputReadMsMax);
|
||||
|
@ -97,8 +150,23 @@ public:
|
|||
void updateInjectorStreams(const QHash<QUuid, AudioStreamStats>& stats);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioStats.mixerStreamChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void mixerStreamChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioStats.clientStreamChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void clientStreamChanged();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AudioStats.injectorStreamsChanged
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void injectorStreamsChanged();
|
||||
|
||||
private:
|
||||
|
|
|
@ -16,12 +16,100 @@
|
|||
|
||||
#include "Sound.h"
|
||||
|
||||
/**jsdoc
|
||||
* API to manage Sound Cache resources
|
||||
* @namespace SoundCache
|
||||
*/
|
||||
|
||||
|
||||
/// Scriptable interface for sound loading.
|
||||
class SoundCache : public ResourceCache, public Dependency {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
public:
|
||||
// Copied over from ResourceCache (see ResourceCache.h for reason)
|
||||
|
||||
/**jsdoc
|
||||
* @namespace SoundCache
|
||||
* @property numTotal {number} total number of total resources
|
||||
* @property numCached {number} total number of cached resource
|
||||
* @property sizeTotal {number} size in bytes of all resources
|
||||
* @property sizeCached {number} size in bytes of all cached resources
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of resources
|
||||
* @function SoundCache.getNumTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of all resources
|
||||
* @function SoundCache.getSizeTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of cached resources
|
||||
* @function SoundCache.getNumCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of cached resources
|
||||
* @function SoundCache.getSizeCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns list of all resource urls
|
||||
* @function SoundCache.getResourceList
|
||||
* @returns {string[]}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns animation resource for particular animation
|
||||
* @function SoundCache.getAnimation
|
||||
* @param url {string} url to load
|
||||
* @returns {Resource} animation
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Asynchronously loads a resource from the spedified URL and returns it.
|
||||
* @param url {string} url of resource to load
|
||||
* @param fallback {string} fallback URL if load of the desired url fails
|
||||
* @function SoundCache.getResource
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Prefetches a resource.
|
||||
* @param url {string} url of resource to load
|
||||
* @function SoundCache.prefetch
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {number} deltaSize
|
||||
* @function SoundCache.updateTotalSize
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function SoundCache.dirty
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function SoundCache.getSound
|
||||
* @param {string} url
|
||||
* @returns {}
|
||||
*/
|
||||
|
||||
Q_INVOKABLE SharedSoundPointer getSound(const QUrl& url);
|
||||
protected:
|
||||
virtual QSharedPointer<Resource> createResource(const QUrl& url, const QSharedPointer<Resource>& fallback,
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
|
||||
#ifndef hifi_AvatarHashMap_h
|
||||
#define hifi_AvatarHashMap_h
|
||||
|
||||
|
@ -29,6 +30,14 @@
|
|||
|
||||
#include "AvatarData.h"
|
||||
|
||||
// JSDoc 3.5.5 doesn't augment @property definitions.
|
||||
// These functions are being copied into Avatar classes which inherit the AvatarHashMap
|
||||
|
||||
/**jsdoc
|
||||
* The AvatarHashMap API deals with functionality related to Avatar information and connectivity
|
||||
* @namespace AvatarHashMap
|
||||
*/
|
||||
|
||||
class AvatarHashMap : public QObject, public Dependency {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
@ -39,9 +48,30 @@ public:
|
|||
int size() { return _avatarHash.size(); }
|
||||
|
||||
// Currently, your own avatar will be included as the null avatar id.
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.getAvatarIdentifiers
|
||||
*/
|
||||
|
||||
Q_INVOKABLE QVector<QUuid> getAvatarIdentifiers();
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.getAvatarsInRange
|
||||
* @param {Vec3} position
|
||||
* @param {float} rangeMeters
|
||||
* @returns {string[]}
|
||||
*/
|
||||
|
||||
Q_INVOKABLE QVector<QUuid> getAvatarsInRange(const glm::vec3& position, float rangeMeters) const;
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.getAvatar
|
||||
* @param {string} avatarID
|
||||
* @returns {ScriptAvatarData}
|
||||
*/
|
||||
|
||||
// Null/Default-constructed QUuids will return MyAvatar
|
||||
Q_INVOKABLE virtual ScriptAvatarData* getAvatar(QUuid avatarID) { return new ScriptAvatarData(getAvatarBySessionID(avatarID)); }
|
||||
|
||||
|
@ -49,18 +79,83 @@ public:
|
|||
int numberOfAvatarsInRange(const glm::vec3& position, float rangeMeters);
|
||||
|
||||
signals:
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.avatarAddedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
void avatarAddedEvent(const QUuid& sessionUUID);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.avatarRemovedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
void avatarRemovedEvent(const QUuid& sessionUUID);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.avatarSessionChangedEvent
|
||||
* @param {string} sessionUUID
|
||||
* @param {string} oldUUID
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
||||
void avatarSessionChangedEvent(const QUuid& sessionUUID,const QUuid& oldUUID);
|
||||
|
||||
public slots:
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.isAvatarInRange
|
||||
* @param {string} position
|
||||
* @param {string} range
|
||||
* @returns {boolean}
|
||||
*/
|
||||
|
||||
bool isAvatarInRange(const glm::vec3 & position, const float range);
|
||||
|
||||
protected slots:
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.sessionUUIDChanged
|
||||
* @param {string} sessionUUID
|
||||
* @param {string} oldUUID
|
||||
*/
|
||||
|
||||
void sessionUUIDChanged(const QUuid& sessionUUID, const QUuid& oldUUID);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.processAvatarDataPacket
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
void processAvatarDataPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.processAvatarIdentityPacket
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
void processAvatarIdentityPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function AvatarHashMap.processKillAvatar
|
||||
* @param {} message
|
||||
* @param {} sendingNode
|
||||
*/
|
||||
|
||||
void processKillAvatar(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||
|
||||
protected:
|
||||
|
|
|
@ -21,6 +21,11 @@
|
|||
#include "FBXReader.h"
|
||||
#include "TextureCache.h"
|
||||
|
||||
/**jsdoc
|
||||
* API to manage Model Cache resources
|
||||
* @namespace ModelCache
|
||||
*/
|
||||
|
||||
// Alias instead of derive to avoid copying
|
||||
|
||||
class NetworkTexture;
|
||||
|
@ -136,6 +141,7 @@ class ModelCache : public ResourceCache, public Dependency {
|
|||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
|
||||
public:
|
||||
GeometryResource::Pointer getGeometryResource(const QUrl& url,
|
||||
const QVariantHash& mapping = QVariantHash(),
|
||||
|
|
|
@ -137,12 +137,91 @@ using NetworkTexturePointer = QSharedPointer<NetworkTexture>;
|
|||
|
||||
Q_DECLARE_METATYPE(QWeakPointer<NetworkTexture>)
|
||||
|
||||
/**jsdoc
|
||||
* API to manage Texture Cache resources
|
||||
* @namespace TextureCache
|
||||
*/
|
||||
|
||||
/// Stores cached textures, including render-to-texture targets.
|
||||
class TextureCache : public ResourceCache, public Dependency {
|
||||
Q_OBJECT
|
||||
SINGLETON_DEPENDENCY
|
||||
|
||||
public:
|
||||
// Copied over from ResourceCache (see ResourceCache.h for reason)
|
||||
|
||||
/**jsdoc
|
||||
* @namespace TextureCache
|
||||
* @property numTotal {number} total number of total resources
|
||||
* @property numCached {number} total number of cached resource
|
||||
* @property sizeTotal {number} size in bytes of all resources
|
||||
* @property sizeCached {number} size in bytes of all cached resources
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of resources
|
||||
* @function TextureCache.getNumTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of all resources
|
||||
* @function TextureCache.getSizeTotalResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total number of cached resources
|
||||
* @function TextureCache.getNumCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns the total size in bytes of cached resources
|
||||
* @function TextureCache.getSizeCachedResources
|
||||
* @returns {number}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns list of all resource urls
|
||||
* @function TextureCache.getResourceList
|
||||
* @returns {string[]}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Returns animation resource for particular animation
|
||||
* @function TextureCache.getAnimation
|
||||
* @param url {string} url to load
|
||||
* @returns {Resource} animation
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Asynchronously loads a resource from the spedified URL and returns it.
|
||||
* @param url {string} url of resource to load
|
||||
* @param fallback {string} fallback URL if load of the desired url fails
|
||||
* @function TextureCache.getResource
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* Prefetches a resource.
|
||||
* @param url {string} url of resource to load
|
||||
* @function TextureCache.prefetch
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @param {number} deltaSize
|
||||
* @function TextureCache.updateTotalSize
|
||||
* @returns {Resource}
|
||||
*/
|
||||
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function TextureCache.dirty
|
||||
* @returns {Signal}
|
||||
*/
|
||||
/// Returns the ID of the permutation/normal texture used for Perlin noise shader programs. This texture
|
||||
/// has two lines: the first, a set of random numbers in [0, 255] to be used as permutation offsets, and
|
||||
/// the second, a set of random unit vectors to be used as noise gradients.
|
||||
|
@ -180,6 +259,10 @@ public:
|
|||
static const int DEFAULT_SPECTATOR_CAM_HEIGHT { 1024 };
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
* @function TextureCache.spectatorCameraFramebufferReset
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void spectatorCameraFramebufferReset();
|
||||
|
||||
protected:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
//
|
||||
//
|
||||
// ResourceCache.h
|
||||
// libraries/shared/src
|
||||
//
|
||||
|
@ -85,15 +85,19 @@ private:
|
|||
|
||||
/// Wrapper to expose resources to JS/QML
|
||||
class ScriptableResource : public QObject {
|
||||
|
||||
|
||||
/**jsdoc
|
||||
* @constructor Resource
|
||||
* @property url {string} url of this resource
|
||||
* @property state {Resource.State} current loading state
|
||||
*/
|
||||
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QUrl url READ getURL)
|
||||
Q_PROPERTY(int state READ getState NOTIFY stateChanged)
|
||||
|
||||
|
||||
/**jsdoc
|
||||
* @constructor Resource
|
||||
* @property url {string} url of this resource
|
||||
* @property state {Resource.State} current loading state
|
||||
*/
|
||||
|
||||
public:
|
||||
|
||||
|
@ -181,19 +185,20 @@ Q_DECLARE_METATYPE(ScriptableResource*);
|
|||
/// Base class for resource caches.
|
||||
class ResourceCache : public QObject {
|
||||
Q_OBJECT
|
||||
// JSDoc 3.5.5 doesn't augment @property definitions.
|
||||
// These functions are being copied into the different exposed cache classes
|
||||
/**jsdoc
|
||||
* @namespace ResourceCache
|
||||
* @property numTotal {number} total number of total resources
|
||||
* @property numCached {number} total number of cached resource
|
||||
* @property sizeTotal {number} size in bytes of all resources
|
||||
* @property sizeCached {number} size in bytes of all cached resources
|
||||
*/
|
||||
Q_PROPERTY(size_t numTotal READ getNumTotalResources NOTIFY dirty)
|
||||
Q_PROPERTY(size_t numCached READ getNumCachedResources NOTIFY dirty)
|
||||
Q_PROPERTY(size_t sizeTotal READ getSizeTotalResources NOTIFY dirty)
|
||||
Q_PROPERTY(size_t sizeCached READ getSizeCachedResources NOTIFY dirty)
|
||||
|
||||
/**jsdoc
|
||||
* @namespace ResourceCache
|
||||
* @property numTotal {number} total number of total resources
|
||||
* @property numCached {number} total number of cached resource
|
||||
* @property sizeTotal {number} size in bytes of all resources
|
||||
* @property sizeCached {number} size in bytes of all cached resources
|
||||
*/
|
||||
|
||||
public:
|
||||
/**jsdoc
|
||||
* Returns the total number of resources
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <SettingHandle.h>
|
||||
|
||||
/// Base class for face trackers (DDE, BinaryVR).
|
||||
|
||||
class FaceTracker : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -58,11 +59,30 @@ public:
|
|||
QVector<float>& coefficients);
|
||||
|
||||
signals:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function FaceTracker.muteToggled
|
||||
* @returns {Signal}
|
||||
*/
|
||||
void muteToggled();
|
||||
|
||||
public slots:
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function FaceTracker.setEnabled
|
||||
* @param {boolean} enabled
|
||||
*/
|
||||
virtual void setEnabled(bool enabled) = 0;
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function FaceTracker.toggleMute
|
||||
*/
|
||||
void toggleMute();
|
||||
/**jsdoc
|
||||
* To Be Completed
|
||||
* @function FaceTracker.getMuted
|
||||
* @returns {boolean}
|
||||
*/
|
||||
bool getMuted() { return _isMuted; }
|
||||
|
||||
protected:
|
||||
|
|
151
tools/jsdoc/package-lock.json
generated
151
tools/jsdoc/package-lock.json
generated
|
@ -1,151 +0,0 @@
|
|||
{
|
||||
"name": "hifiJSDoc",
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"babylon": {
|
||||
"version": "7.0.0-beta.19",
|
||||
"resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz",
|
||||
"integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A=="
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
||||
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
|
||||
},
|
||||
"catharsis": {
|
||||
"version": "0.8.9",
|
||||
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz",
|
||||
"integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=",
|
||||
"requires": {
|
||||
"underscore-contrib": "0.3.0"
|
||||
}
|
||||
},
|
||||
"dts-dom": {
|
||||
"version": "0.1.25",
|
||||
"resolved": "https://registry.npmjs.org/dts-dom/-/dts-dom-0.1.25.tgz",
|
||||
"integrity": "sha512-VIwZyr9KhYltfYvMMlWPwQtr3ud3uNCI7KIPgDnYMvcxLrB8K/6Ttvtdvbz8/TWkv7L1XCYTqeqF6zrwgHgaSg=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
|
||||
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
|
||||
},
|
||||
"js2xmlparser": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz",
|
||||
"integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=",
|
||||
"requires": {
|
||||
"xmlcreate": "1.0.2"
|
||||
}
|
||||
},
|
||||
"jsdoc": {
|
||||
"version": "3.5.5",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz",
|
||||
"integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==",
|
||||
"requires": {
|
||||
"babylon": "7.0.0-beta.19",
|
||||
"bluebird": "3.5.1",
|
||||
"catharsis": "0.8.9",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"js2xmlparser": "3.0.0",
|
||||
"klaw": "2.0.0",
|
||||
"marked": "0.3.19",
|
||||
"mkdirp": "0.5.1",
|
||||
"requizzle": "0.2.1",
|
||||
"strip-json-comments": "2.0.1",
|
||||
"taffydb": "2.6.2",
|
||||
"underscore": "1.8.3"
|
||||
}
|
||||
},
|
||||
"klaw": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz",
|
||||
"integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=",
|
||||
"requires": {
|
||||
"graceful-fs": "4.1.11"
|
||||
}
|
||||
},
|
||||
"marked": {
|
||||
"version": "0.3.19",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
|
||||
"integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg=="
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"requizzle": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
|
||||
"integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
|
||||
"requires": {
|
||||
"underscore": "1.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"underscore": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag="
|
||||
}
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
|
||||
},
|
||||
"taffydb": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
|
||||
"integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg="
|
||||
},
|
||||
"tsd-jsdoc": {
|
||||
"version": "2.0.0-beta.3",
|
||||
"resolved": "https://registry.npmjs.org/tsd-jsdoc/-/tsd-jsdoc-2.0.0-beta.3.tgz",
|
||||
"integrity": "sha1-crHRTdFu5WBYJOlo59Il8R7uFA0=",
|
||||
"requires": {
|
||||
"dts-dom": "0.1.25"
|
||||
}
|
||||
},
|
||||
"underscore": {
|
||||
"version": "1.8.3",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
|
||||
"integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
|
||||
},
|
||||
"underscore-contrib": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
|
||||
"integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
|
||||
"requires": {
|
||||
"underscore": "1.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"underscore": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag="
|
||||
}
|
||||
}
|
||||
},
|
||||
"xmlcreate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz",
|
||||
"integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8="
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue