removed cruft

This commit is contained in:
milad nazeri 2018-04-22 08:51:47 -07:00
parent dc3d162c5b
commit e9b9c05b5d
18 changed files with 885 additions and 7404 deletions

View file

@ -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();

View file

@ -48,6 +48,10 @@ protected:
bool _isMenuSorted;
protected slots:
/**jsdoc
* Delete
* @function AvatarBookmarks.addBookMark
*/
void deleteBookmark();
private:

View file

@ -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

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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();

View file

@ -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);

View file

@ -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:

View file

@ -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,

View file

@ -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:

View file

@ -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(),

View file

@ -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:

View file

@ -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

View file

@ -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:

View file

@ -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