mirror of
https://github.com/overte-org/overte.git
synced 2025-04-07 23:53:54 +02:00
Doc review
This commit is contained in:
parent
9f01cc2f32
commit
2d6d3eb4fe
13 changed files with 171 additions and 156 deletions
|
@ -457,12 +457,14 @@ bool AvatarActionHold::updateArguments(QVariantMap arguments) {
|
|||
* @property {number} timeScale=3.4e+38 - Controls how long it takes for the entity's position and rotation to catch up with
|
||||
* the target. The value is the time for the action to catch up to 1/e = 0.368 of the target value, where the action is
|
||||
* applied using an exponential decay.
|
||||
* @property {boolean} kinematic=false - If <code>true</code>, the entity is made kinematic during the action; the entity won't
|
||||
* lag behind the hand but constraint actions such as <code>"hinge"</code> won't act properly.
|
||||
* @property {boolean} kinematicSetVelocity=false - If <code>true</code> and <code>kinematic</code> is <code>true</code>, the
|
||||
* entity's <code>velocity</code> property will be set during the action, e.g., so that other scripts may use the value.
|
||||
* @property {boolean} ignoreIK=false - If <code>true</code>, the entity follows the HMD controller rather than the avatar's
|
||||
* hand.
|
||||
* @property {boolean} kinematic=false - <code>true</code> if the entity is made kinematic during the action; the entity won't
|
||||
* lag behind the hand but constraint actions such as <code>"hinge"</code> won't act properly. <code>false</code> if the
|
||||
* entity is not made kinematic during the action
|
||||
* @property {boolean} kinematicSetVelocity=false - <code>true</code> if, when <code>kinematic</code> is <code>true</code>, the
|
||||
* entity's velocity will be set during the action, e.g., so that other scripts may use the value. <code>false</code> if
|
||||
* the entity's velocity will not be set during the action.
|
||||
* @property {boolean} ignoreIK=false - <code>true</code> if the entity follows the HMD controller, <code>false</code> if it
|
||||
* follows the avatar's hand.
|
||||
*/
|
||||
QVariantMap AvatarActionHold::getArguments() {
|
||||
QVariantMap arguments = ObjectDynamic::getArguments();
|
||||
|
|
|
@ -77,7 +77,7 @@ public:
|
|||
* @hifi-avatar
|
||||
*
|
||||
* @property {Uuid} keyboardFocusOverlay - Get or set the {@link Entities.EntityTypes|Web} entity that has keyboard focus.
|
||||
* If no entity has keyboard focus, get returns <code>null</code>; set to <code>null</code> or {@link Uuid(0)|Uuid.NULL} to
|
||||
* If no entity has keyboard focus, returns <code>null</code>; set to <code>null</code> or {@link Uuid(0)|Uuid.NULL} to
|
||||
* clear keyboard focus.
|
||||
*/
|
||||
|
||||
|
|
|
@ -57,10 +57,11 @@ bool operator!=(const AnimationPropertyGroup& a, const AnimationPropertyGroup& b
|
|||
* @property {number} firstFrame=0 - The first frame to play in the animation.
|
||||
* @property {number} lastFrame=100000 - The last frame to play in the animation.
|
||||
* @property {number} currentFrame=0 - The current frame being played in the animation.
|
||||
* @property {boolean} running=false - If <code>true</code> then the animation should play.
|
||||
* @property {boolean} loop=true - If <code>true</code> then the animation is continuously repeated in a loop.
|
||||
* @property {boolean} hold=false - If <code>true</code> then the rotations and translations of the last frame played are
|
||||
* maintained when the animation stops playing.
|
||||
* @property {boolean} running=false - <code>true</code> if the animation should play, <code>false</code> if it shouldn't.
|
||||
* @property {boolean} loop=true - <code>true</code> if the animation is continuously repeated in a loop, <code>false</code> if
|
||||
* it isn't.
|
||||
* @property {boolean} hold=false - <code>true</code> if the rotations and translations of the last frame played are
|
||||
* maintained when the animation stops playing, <code>false</code> if they aren't.
|
||||
*/
|
||||
void AnimationPropertyGroup::copyToScriptValue(const EntityPropertyFlags& desiredProperties, QScriptValue& properties, QScriptEngine* engine, bool skipDefaults, EntityItemProperties& defaultEntityProperties) const {
|
||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_ANIMATION_URL, Animation, animation, URL, url);
|
||||
|
|
|
@ -109,7 +109,7 @@ variables. These argument variables are used by the code which is run when bull
|
|||
* are disabled during the hold.</td>
|
||||
* <td>{@link Entities.ActionArguments-Hold}</td></tr>
|
||||
* <tr><td><code>"offset"</code></td><td>Object action</td>
|
||||
* <td>Moves an entity so that it is a set distance away from a target point.</td>
|
||||
* <td>Moves an entity so that it is a defined distance away from a target point.</td>
|
||||
* <td>{@link Entities.ActionArguments-Offset}</td></tr>
|
||||
* <tr><td><code>"tractor"</code></td><td>Object action</td>
|
||||
* <td>Moves and rotates an entity to a target position and orientation, optionally relative to another entity.</td>
|
||||
|
|
|
@ -609,8 +609,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
|
||||
/**jsdoc
|
||||
* Different entity types have different properties: some common to all entities (listed in the table) and some specific to
|
||||
* each {@link Entities.EntityType|EntityType} (linked to below). The properties are accessed as an object of property names
|
||||
* and values.
|
||||
* each {@link Entities.EntityType|EntityType} (linked to below).
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties
|
||||
* @property {Uuid} id - The ID of the entity. <em>Read-only.</em>
|
||||
|
@ -644,16 +643,17 @@ 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 - Whether or not the entity can be edited or deleted. If <code>true</code> then the
|
||||
* entity's properties other than <code>locked</code> cannot be changed, and the entity cannot be deleted.
|
||||
* @property {boolean} visible=true - Whether or not the entity is rendered. If <code>true</code> then the entity is rendered.
|
||||
* @property {boolean} canCastShadow=true - Whether or not the entity can cast a shadow. 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} 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.
|
||||
* @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" - Which layer the entity renders in.
|
||||
* @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,
|
||||
* <code>false</code> if they don't.
|
||||
|
@ -697,20 +697,20 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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> 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 {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 - Whether or not the entity should collide with items per its
|
||||
* <code>collisionMask</code> property. If <code>true</code> then the entity does not collide.
|
||||
* @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
|
||||
* formats are per {@link SoundObject}.
|
||||
* @property {boolean} dynamic=false - Whether or not the entity should be affected by collisions. If <code>true</code> then
|
||||
* the entity's movement is affected by collisions.
|
||||
* @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.
|
||||
|
@ -732,8 +732,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* 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.
|
||||
* {@link Uuid(0)|Uuid.NULL} if the entity is not parented.
|
||||
* @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
|
||||
* <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,
|
||||
|
@ -759,19 +759,19 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {string} actionData="" - Base-64 encoded compressed dump of the actions associated with the entity. This property
|
||||
* is typically not used in scripts directly; rather, functions that manipulate an entity's actions update it, e.g.,
|
||||
* {@link Entities.addAction}. The size of this property increases with the number of actions. Because this property value
|
||||
* has to fit within a High Fidelity datagram packet there is a limit to the number of actions that an entity can have, and
|
||||
* has to fit within a High Fidelity 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
|
||||
* provided for <code>Model</code> entities. <em>Read-only.</em>
|
||||
*
|
||||
* @property {boolean} cloneable=false - If <code>true</code> then the domain or avatar entity can be cloned via
|
||||
* {@link Entities.cloneEntity}.
|
||||
* @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 - If <code>true</code> then clones created from this entity will have their
|
||||
* <code>dynamic</code> property set to <code>true</code>.
|
||||
* @property {boolean} cloneAvatarEntity=false - If <code>true</code> then clones created from this entity will be created as
|
||||
* avatar entities.
|
||||
* @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
|
||||
* avatar entities, <code>false</code> if they won't be.
|
||||
* @property {Uuid} cloneOriginID - The ID of the entity that this entity was cloned from.
|
||||
*
|
||||
* @property {Entities.Grab} grab - The entity's grab-related properties.
|
||||
|
@ -833,8 +833,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {Color} color=255,255,255 - The color of the light emitted.
|
||||
* @property {number} intensity=1 - The brightness of the light.
|
||||
* @property {number} falloffRadius=0.1 - The distance from the light's center at which intensity is reduced by 25%.
|
||||
* @property {boolean} isSpotlight=false - If <code>true</code> then the light is directional, emitting along the entity's
|
||||
* local negative z-axis; otherwise, the light is a point light which emanates in all directions.
|
||||
* @property {boolean} isSpotlight=false - <code>true</code> if the light is directional, emitting along the entity's
|
||||
* local negative z-axis; <code>false</code> if the light is a point light which emanates in all directions.
|
||||
* @property {number} exponent=0 - Affects the softness of the spotlight beam: the higher the value the softer the beam.
|
||||
* @property {number} cutoff=1.57 - Affects the size of the spotlight beam: the higher the value the larger the beam.
|
||||
* @example <caption>Create a spotlight pointing at the ground.</caption>
|
||||
|
@ -855,7 +855,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
/**jsdoc
|
||||
* The <code>"Line"</code> {@link Entities.EntityType|EntityType} draws thin, straight lines between a sequence of two or more
|
||||
* points. It has properties in addition to the common {@link Entities.EntityProperties|EntityProperties}.
|
||||
* <p class=important>Deprecated: Use PolyLines instead.</p>
|
||||
* <p class=important>Deprecated: Use {@link Entities.EntityProperties-PolyLine|PolyLine} entities instead.</p>
|
||||
*
|
||||
* @typedef {object} Entities.EntityProperties-Line
|
||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity. Must be sufficient to contain all the
|
||||
|
@ -904,7 +904,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* <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.
|
||||
* 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>.
|
||||
|
@ -919,8 +919,9 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* <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 - If <code>true</code>, the material repeats. If <code>false</code>, fragments
|
||||
* outside of texCoord 0 – 1 will be discarded. Works in both <code>"uv"</code> and </code>"projected"</code> modes.
|
||||
* @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({
|
||||
* type: "Sphere",
|
||||
|
@ -980,7 +981,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* 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
|
||||
* 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
|
||||
|
@ -994,10 +995,11 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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 - If <code>true</code> and the entity is parented to an avatar, then the
|
||||
* avatar's joint rotations are applied to the entity's joints.
|
||||
* @property {boolean} groupCulled=false - If <code>true</code>, the mesh parts of the model are LOD culled as a group.
|
||||
* If <code>false</code>, separate mesh parts will be LOD culled individually.
|
||||
* @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,
|
||||
* <code>false</code> if separate mesh parts are LOD culled individually.
|
||||
*
|
||||
* @example <caption>Rez a Vive tracker puck.</caption>
|
||||
* var entity = Entities.addEntity({
|
||||
|
@ -1033,8 +1035,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* – <code>{x: 0, y: -8.8, z: 0}</code>.
|
||||
* @property {Vec3} dimensions - The dimensions of the particle effect, i.e., a bounding box containing all the particles
|
||||
* during their lifetimes, assuming that <code>emitterShouldTrail == false</code>. <em>Read-only.</em>
|
||||
* @property {boolean} emitterShouldTrail=false - If <code>true</code> then particles are "left behind" as the emitter moves,
|
||||
* otherwise they stay within the entity's dimensions.
|
||||
* @property {boolean} emitterShouldTrail=false - <code>true</code> if particles are "left behind" as the emitter moves,
|
||||
* <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>
|
||||
|
@ -1105,8 +1107,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* <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> to make the particles' rotations relative to the entity's
|
||||
* instantaneous rotation, <code>false</code> to make them 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>
|
||||
|
@ -1141,17 +1143,19 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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
|
||||
* – <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>
|
||||
* <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
|
||||
* 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 - If <code>true</code>, the texture is stretched to fill the whole line, otherwise
|
||||
* the texture repeats along the line.
|
||||
* @property {boolean} glow=false - If <code>true</code>, the opacity of the strokes drops off away from the line center.
|
||||
* @property {boolean} faceCamera=false - If <code>true</code>, each line segment rotates to face the camera.
|
||||
* @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,
|
||||
* <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>
|
||||
* if they don't.
|
||||
* @example <caption>Draw a textured "V".</caption>
|
||||
* var entity = Entities.addEntity({
|
||||
* type: "PolyLine",
|
||||
|
@ -1192,9 +1196,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* the PolyVox data. This property is typically not used in scripts directly; rather, functions that manipulate a PolyVox
|
||||
* entity update it.<br />
|
||||
* 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 High Fidelity datagram packet
|
||||
* there is a limit to the size and complexity of a PolyVox entity, and edits which would result in an overflow are
|
||||
* rejected.
|
||||
* the particular entity's voxels compress. Because this property value has to fit within a High Fidelity datagram packet,
|
||||
* there is a limit to the size and complexity of a PolyVox entity; edits which would result in an overflow are rejected.
|
||||
* @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.
|
||||
|
@ -1282,12 +1285,11 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {number} topMargin=0.0 - The top margin, in meters.
|
||||
* @property {number} bottomMargin=0.0 - The bottom margin, in meters.
|
||||
* @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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* @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>
|
||||
* @example <caption>Create a text entity.</caption>
|
||||
|
@ -1312,17 +1314,18 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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.
|
||||
* @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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* @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
|
||||
|
@ -1331,8 +1334,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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> to highlight the entity when it has keyboard focus,
|
||||
* <code>false</code> to not display the highlight.
|
||||
* @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;
|
||||
* var entity = Entities.addEntity({
|
||||
|
@ -1380,12 +1383,12 @@ 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 - If <code>true</code> then visitors can fly in the zone; otherwise, they cannot.
|
||||
* Only works for domain entities.
|
||||
* @property {boolean} ghostingAllowed=true - If <code>true</code> then visitors with avatar collisions turned off will not
|
||||
* collide with content in the zone; otherwise, visitors will always collide with content in the zone. Only works for domain
|
||||
* entities.
|
||||
|
||||
* @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
|
||||
* 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
|
||||
* certain properties:
|
||||
|
@ -1421,7 +1424,7 @@ 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> fi the 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,
|
||||
* <code>false</code> if it shouldn't.
|
||||
|
@ -1432,12 +1435,11 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* <code>"none"</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>, otherwise
|
||||
* <code>false</code>. Setting this property to <code>false</code> sets the <code>billboardMode</code> to
|
||||
* @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>
|
||||
* @example <caption>Create an image entity.</caption>
|
||||
|
@ -1461,8 +1463,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
|||
* @property {number} alpha=1 - The opacity of the grid.
|
||||
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||
* @property {boolean} followCamera=true - If <code>true</code>, the grid is always visible even as the camera moves to another
|
||||
* position.
|
||||
* @property {boolean} followCamera=true - <code>true</code> if the grid is always visible even as the camera moves to another
|
||||
* position, <code>false</code> if it doesn't follow the camrmea.
|
||||
* @property {number} majorGridEvery=5 - Integer number of <code>minorGridEvery</code> intervals at which to draw a thick grid
|
||||
* line. Minimum value = <code>1</code>.
|
||||
* @property {number} minorGridEvery=1 - Real number of meters at which to draw thin grid lines. Minimum value =
|
||||
|
@ -1895,7 +1897,8 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
|||
* @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 - Is <code>true</code> if any of the textures has transparency.
|
||||
* @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.
|
||||
*/
|
||||
// currently only supported by models
|
||||
|
|
|
@ -59,8 +59,8 @@ private:
|
|||
/**jsdoc
|
||||
* The result of a {@link Entities.findRayIntersection|findRayIntersection} search using a {@link PickRay}.
|
||||
* @typedef {object} Entities.RayToEntityIntersectionResult
|
||||
* @property {boolean} intersects - <code>true</code> if the {@link PickRay} intersected an entity, otherwise
|
||||
* <code>false</code>.
|
||||
* @property {boolean} intersects - <code>true</code> if the {@link PickRay} intersected an entity, <code>false</code> if it
|
||||
* didn't.
|
||||
* @property {boolean} accurate - Is always <code>true</code>.
|
||||
* @property {Uuid} entityID - The ID if the entity intersected, if any, otherwise <code>null</code>.
|
||||
* @property {number} distance - The distance from the {@link PickRay} origin to the intersection point.
|
||||
|
@ -131,8 +131,8 @@ public:
|
|||
* <tr><td><code>leaveEntity</code></td><td>{@link Entities.leaveEntity}</td></tr>
|
||||
* <tr><td><code>mouseDoublePressOnEntity</code></td><td>{@link Entities.mouseDoublePressOnEntity}</td></tr>
|
||||
* <tr><td><code>mouseMoveOnEntity</code></td><td>{@link Entities.mouseMoveOnEntity}</td></tr>
|
||||
* <tr><td><code>mouseMoveEvent</code></td><td><span class="important">Deprecated: This is a synonym for
|
||||
* <code>mouseMoveOnEntity</code>.</span></td></tr>
|
||||
* <tr><td><code>mouseMoveEvent</code></td><td><span class="important">Deprecated: Use <code>mouseMoveOnEntity</code>
|
||||
* instead.</span></td></tr>
|
||||
* <tr><td><code>mousePressOnEntity</code></td><td>{@link Entities.mousePressOnEntity}</td></tr>
|
||||
* <tr><td><code>mouseReleaseOnEntity</code></td><td>{@link Entities.mouseReleaseOnEntity}</td></tr>
|
||||
* </tbody>
|
||||
|
@ -148,8 +148,8 @@ public:
|
|||
* @hifi-assignment-client
|
||||
*
|
||||
* @property {Uuid} keyboardFocusEntity - The {@link Entities.EntityProperties-Web|Web} entity that has keyboard focus. If no
|
||||
* Web entity has keyboard focus, get returns <code>null</code>; set to <code>null</code> or {@link Uuid(0)|Uuid.NULL} to
|
||||
* clear keyboard focus.
|
||||
* Web entity has keyboard focus, returns <code>null</code>; set to <code>null</code> or {@link Uuid(0)|Uuid.NULL} to clear
|
||||
* keyboard focus.
|
||||
*/
|
||||
/// handles scripting of Entity commands from JS passed to assigned clients
|
||||
class EntityScriptingInterface : public OctreeScriptingInterface, public Dependency {
|
||||
|
@ -191,8 +191,8 @@ public:
|
|||
* objects (e.g., the <code>"keyLight"</code> property), use the property and subproperty names in dot notation (e.g.,
|
||||
* <code>"keyLight.color"</code>).
|
||||
* @returns {Entities.EntityProperties[]} The specified properties of each entity for each entity that can be found. If
|
||||
* none of the entities can be found then an empty array. If no properties are specified, then all properties are
|
||||
* returned.
|
||||
* none of the entities can be found, then an empty array is returned. If no properties are specified, then all
|
||||
* properties are returned.
|
||||
* @example <caption>Retrieve the names of the nearby entities</caption>
|
||||
* var SEARCH_RADIUS = 50; // meters
|
||||
* var entityIDs = Entities.findEntities(MyAvatar.position, SEARCH_RADIUS);
|
||||
|
@ -353,9 +353,10 @@ public slots:
|
|||
bool collisionless, bool grabbable, const glm::vec3& position, const glm::vec3& gravity);
|
||||
|
||||
/**jsdoc
|
||||
* Creates a clone of an entity. The clone has a modified <code>name</code> property, other properties set per the original
|
||||
* entity's clone-related {@link Entities.EntityProperties|properties} (e.g., <code>cloneLifetime</code>), and
|
||||
* clone-related properties set to defaults.
|
||||
* Creates a clone of an entity. The clone has the same properties as the original except that: it has a modified
|
||||
* <code>name</code> property, clone-related properties are set per the original entity's clone-related
|
||||
* {@link Entities.EntityProperties|properties} (e.g., <code>cloneLifetime</code>), and its clone-related properties are
|
||||
* set to their defaults.
|
||||
* <p>Domain entities must have their <code>cloneable</code> property value be <code>true</code> in order to be cloned. A
|
||||
* domain entity can be cloned by a client that doesn't have rez permissions in the domain.</p>
|
||||
* <p>Avatar entities must have their <code>cloneable</code> and <code>cloneAvatarEntity</code> property values be
|
||||
|
@ -507,7 +508,7 @@ public slots:
|
|||
Q_INVOKABLE QObject* getEntityObject(const QUuid& id);
|
||||
|
||||
/**jsdoc
|
||||
* Checks whether an entities's assets have been loaded. For example, for an <code>Model</code> entity the result indicates
|
||||
* Checks whether an entity's assets have been loaded. For example, for an <code>Model</code> entity the result indicates
|
||||
* whether its textures have been loaded.
|
||||
* @function Entities.isLoaded
|
||||
* @param {Uuid} id - The ID of the entity to check.
|
||||
|
@ -747,7 +748,8 @@ public slots:
|
|||
* @param {string} entityName - The name of the entity to search for.
|
||||
* @param {Vec3} center - The point about which to search.
|
||||
* @param {number} radius - The radius within which to search.
|
||||
* @param {boolean} [caseSensitive=false] - If <code>true</code> then the search is case-sensitive.
|
||||
* @param {boolean} [caseSensitive=false] - <code>true</code> if the search is case-sensitive, <code>false</code> if it is
|
||||
* case-insensitive.
|
||||
* @returns {Uuid[]} An array of entity IDs that have the specified name and intersect the search sphere. The array is
|
||||
* empty if no entities could be found.
|
||||
* @example <caption>Report the number of entities with the name, "Light-Target".</caption>
|
||||
|
@ -767,12 +769,14 @@ public slots:
|
|||
* @param {boolean} [precisionPicking=false] - <code>true</code> to pick against precise meshes, <code>false</code> to pick
|
||||
* against coarse meshes. If <code>true</code> and the intersected entity is a <code>Model</code> entity, the result's
|
||||
* <code>extraInfo</code> property includes more information than it otherwise would.
|
||||
* @param {Uuid[]} [entitiesToInclude=[]] - If not empty then the search is restricted to these entities.
|
||||
* @param {Uuid[]} [entitiesToInclude=[]] - If not empty, then the search is restricted to these entities.
|
||||
* @param {Uuid[]} [entitiesToDiscard=[]] - Entities to ignore during the search.
|
||||
* @param {boolean} [visibleOnly=false] - If <code>true</code> then only entities that are
|
||||
* <code>{@link Entities.EntityProperties|visible}</code> are searched.
|
||||
* @param {boolean} [collideableOnly=false] - If <code>true</code> then only entities that are not
|
||||
* <code>{@link Entities.EntityProperties|collisionless}</code> are searched.
|
||||
* @param {boolean} [visibleOnly=false] - <code>true</code> if only entities that are
|
||||
* <code>{@link Entities.EntityProperties|visible}</code> are searched for, <code>false</code> if their visibility
|
||||
* doesn't matter.
|
||||
* @param {boolean} [collideableOnly=false] - <code>true</code> if only entities that are not
|
||||
* <code>{@link Entities.EntityProperties|collisionless}</code> are searched, <code>false</code> if their
|
||||
* collideability doesn't matter.
|
||||
* @returns {Entities.RayToEntityIntersectionResult} The result of the search for the first intersected entity.
|
||||
* @example <caption>Find the entity directly in front of your avatar.</caption>
|
||||
* var pickRay = {
|
||||
|
@ -856,7 +860,7 @@ public slots:
|
|||
|
||||
/**jsdoc
|
||||
* Sets whether or not ray picks intersect the bounding box of {@link Entities.EntityProperties-Light|Light} entities. By
|
||||
* default, Light entities are not intersected. The setting lasts for the Interface session. Ray picks are done using
|
||||
* default, Light entities are not intersected. The setting lasts for the Interface session. Ray picks are performed using
|
||||
* {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* @function Entities.setLightsArePickable
|
||||
* @param {boolean} value - <code>true</code> to make ray picks intersect the bounding box of
|
||||
|
@ -867,7 +871,7 @@ public slots:
|
|||
|
||||
/**jsdoc
|
||||
* Gets whether or not ray picks intersect the bounding box of {@link Entities.EntityProperties-Light|Light} entities. Ray
|
||||
* picks are done using {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* picks are performed using {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* @function Entities.getLightsArePickable
|
||||
* @returns {boolean} <code>true</code> if ray picks intersect the bounding box of
|
||||
* {@link Entities.EntityProperties-Light|Light} entities, otherwise <code>false</code>.
|
||||
|
@ -877,7 +881,7 @@ public slots:
|
|||
|
||||
/**jsdoc
|
||||
* Sets whether or not ray picks intersect the bounding box of {@link Entities.EntityProperties-Zone|Zone} entities. By
|
||||
* default, Zone entities are not intersected. The setting lasts for the Interface session. Ray picks are done using
|
||||
* default, Zone entities are not intersected. The setting lasts for the Interface session. Ray picks are performed using
|
||||
* {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* @function Entities.setZonesArePickable
|
||||
* @param {boolean} value - <code>true</code> to make ray picks intersect the bounding box of
|
||||
|
@ -888,7 +892,7 @@ public slots:
|
|||
|
||||
/**jsdoc
|
||||
* Gets whether or not ray picks intersect the bounding box of {@link Entities.EntityProperties-Zone|Zone} entities. Ray
|
||||
* picks are done using {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* picks are performed using {@link Entities.findRayIntersection|findRayIntersection}, or the {@link Picks} API.
|
||||
* @function Entities.getZonesArePickable
|
||||
* @returns {boolean} <code>true</code> if ray picks intersect the bounding box of
|
||||
* {@link Entities.EntityProperties-Zone|Zone} entities, otherwise <code>false</code>.
|
||||
|
@ -1068,7 +1072,7 @@ public slots:
|
|||
* the dimensions of each voxel.
|
||||
* @function Entities.worldCoordsToVoxelCoords
|
||||
* @param {Uuid} entityID - The ID of the {@link Entities.EntityProperties-PolyVox|PolyVox} entity.
|
||||
* @param {Vec3} worldCoords - The world coordinates. May be outside the entity's bounding box.
|
||||
* @param {Vec3} worldCoords - The world coordinates. The value may be outside the entity's bounding box.
|
||||
* @returns {Vec3} The voxel coordinates of the <code>worldCoords</code> if the <code>entityID</code> is a
|
||||
* {@link Entities.EntityProperties-PolyVox|PolyVox} entity, otherwise {@link Vec3(0)|Vec3.ZERO}. The value may be
|
||||
* fractional and outside the entity's bounding box.
|
||||
|
@ -1083,7 +1087,7 @@ public slots:
|
|||
* <code>Vec3.ONE</code> being the dimensions of each voxel.
|
||||
* @function Entities.voxelCoordsToLocalCoords
|
||||
* @param {Uuid} entityID - The ID of the {@link Entities.EntityProperties-PolyVox|PolyVox} entity.
|
||||
* @param {Vec3} voxelCoords - The voxel coordinates. May be fractional and outside the entity's bounding box.
|
||||
* @param {Vec3} voxelCoords - The voxel coordinates. The value may be fractional and outside the entity's bounding box.
|
||||
* @returns {Vec3} The local coordinates of the <code>voxelCoords</code> if the <code>entityID</code> is a
|
||||
* {@link Entities.EntityProperties-PolyVox|PolyVox} entity, otherwise {@link Vec3(0)|Vec3.ZERO}.
|
||||
* @example <caption>Get the world dimensions of a voxel in a PolyVox entity.</caption>
|
||||
|
@ -1107,7 +1111,7 @@ public slots:
|
|||
* <code>Vec3.ONE</code> being the dimensions of each voxel.
|
||||
* @function Entities.localCoordsToVoxelCoords
|
||||
* @param {Uuid} entityID - The ID of the {@link Entities.EntityProperties-PolyVox|PolyVox} entity.
|
||||
* @param {Vec3} localCoords - The local coordinates. May be outside the entity's bounding box.
|
||||
* @param {Vec3} localCoords - The local coordinates. The value may be outside the entity's bounding box.
|
||||
* @returns {Vec3} The voxel coordinates of the <code>worldCoords</code> if the <code>entityID</code> is a
|
||||
* {@link Entities.EntityProperties-PolyVox|PolyVox} entity, otherwise {@link Vec3(0)|Vec3.ZERO}. The value may be
|
||||
* fractional and outside the entity's bounding box.
|
||||
|
@ -2105,7 +2109,7 @@ public slots:
|
|||
* @function Entities.getPropertyInfo
|
||||
* @param {string} propertyName - The name of the property to get the information for.
|
||||
* @returns {Entities.EntityPropertyInfo} The information about the property if it can be found, otherwise an empty object.
|
||||
* @example <caption>Report property info. for some properties.</caption>
|
||||
* @example <caption>Report property information for some properties.</caption>
|
||||
* print("alpha: " + JSON.stringify(Entities.getPropertyInfo("alpha")));
|
||||
* print("script: " + JSON.stringify(Entities.getPropertyInfo("script")));
|
||||
*/
|
||||
|
@ -2209,7 +2213,7 @@ signals:
|
|||
/**jsdoc
|
||||
* Triggered when your ability to make changes to the asset server's assets changes.
|
||||
* @function Entities.canWriteAssetsChanged
|
||||
* @param {boolean} canWriteAssets - <code>true</code> if the script can change the <code>?</code> property of an entity,
|
||||
* @param {boolean} canWriteAssets - <code>true</code> if the script can change the asset server's assets,
|
||||
* <code>false</code> if it can't.
|
||||
* @returns {Signal}
|
||||
*/
|
||||
|
|
|
@ -44,19 +44,20 @@ static const glm::vec3 INITIAL_EQUIPPABLE_INDICATOR_OFFSET { glm::vec3(0.0f) };
|
|||
* Grabbing behavior is defined by the following properties:
|
||||
*
|
||||
* @typedef {object} Entities.Grab
|
||||
* @property {boolean} grabbable=true - If <code>true</code> then the entity can be grabbed.
|
||||
* @property {boolean} grabKinematic=true - If <code>true</code> then the entity will be updated in a kinematic manner when
|
||||
* grabbed; if <code>false</code> it will be grabbed using a tractor action. A kinematic grab will make the item appear
|
||||
* @property {boolean} grabbable=true - <code>true</code> if the entity can be grabbed, <code>false</code> if it can't be.
|
||||
* @property {boolean} grabKinematic=true - <code>true</code> if the entity will be updated in a kinematic manner when
|
||||
* grabbed; <code>false</code> if it will be grabbed using a tractor action. A kinematic grab will make the item appear
|
||||
* more tightly held but will cause it to behave poorly when interacting with dynamic entities.
|
||||
* @property {boolean} grabFollowsController=true - If <code>true</code> then the entity will follow the motions of the hand
|
||||
* controller even if the avatar's hand can't get to the implied position. This should be set <code>true</code> for tools,
|
||||
* pens, etc. and <code>false</code> for things meant to decorate the hand.
|
||||
* @property {boolean} triggerable=false - If <code>true</code> then the entity will receive calls to trigger
|
||||
* {@link Controller|Controller entity methods}.
|
||||
* @property {boolean} grabDelegateToParent=true - If <code>true</code> and the entity is grabbed, the grab will be transferred
|
||||
* to its parent entity if there is one; if <code>false</code>, a child entity can be grabbed and moved relative to its
|
||||
* parent.
|
||||
* @property {boolean} equippable=true - If <code>true</code> then the entity can be equipped.
|
||||
* @property {boolean} grabFollowsController=true - <code>true</code> if the entity will follow the motions of the hand
|
||||
* controller even if the avatar's hand can't get to the implied position, <code>false</code> if it will follow the motions
|
||||
* of the avatar's hand. This should be set <code>true</code> for tools, pens, etc. and <code>false</code> for things meant
|
||||
* to decorate the hand.
|
||||
* @property {boolean} triggerable=false - <code>true</code> if the entity will receive calls to trigger
|
||||
* {@link Controller|Controller entity methods}, <code>false</code> if it won't.
|
||||
* @property {boolean} grabDelegateToParent=true - <code>true</code> if when the entity is grabbed, the grab will be
|
||||
* transferred to its parent entity if there is one; <code>false</code> if the grab won't be transferred, so a child entity
|
||||
* can be grabbed and moved relative to its parent.
|
||||
* @property {boolean} equippable=true - <code>true</code> if the entity can be equipped, <code>false</code> if it cannot.
|
||||
* @property {Vec3} equippableLeftPosition=0,0,0 - Positional offset from the left hand, when equipped.
|
||||
* @property {Quat} equippableLeftRotation=0,0,0,1 - Rotational offset from the left hand, when equipped.
|
||||
* @property {Vec3} equippableRightPosition=0,0,0 - Positional offset from the right hand, when equipped.
|
||||
|
|
|
@ -49,14 +49,16 @@ static const float INITIAL_KEY_LIGHT_ALTITUDE{ 200.0f };
|
|||
* @property {number} hazeRange=1000 - The horizontal distance at which visibility is reduced to 95%; i.e., 95% of each pixel's
|
||||
* color is haze.
|
||||
* @property {Color} hazeColor=128,154,179 - The color of the haze when looking away from the key light.
|
||||
* @property {boolean} hazeEnableGlare=false - If <code>true</code> then the haze is colored with glare from the key light;
|
||||
* <code>hazeGlareColor</code> and <code>hazeGlareAngle</code> are used.
|
||||
* @property {boolean} hazeEnableGlare=false - <code>true</code> if the haze is colored with glare from the key light,
|
||||
* <code>false</code> if it isn't. If <code>true</code>, then <code>hazeGlareColor</code> and <code>hazeGlareAngle</code>
|
||||
* are used.
|
||||
* @property {Color} hazeGlareColor=255,299,179 - The color of the haze when looking towards the key light.
|
||||
* @property {number} hazeGlareAngle=20 - The angle in degrees across the circle around the key light that the glare color and
|
||||
* haze color are blended 50/50.
|
||||
*
|
||||
* @property {boolean} hazeAltitudeEffect=false - If <code>true</code> then haze decreases with altitude as defined by the
|
||||
* entity's local coordinate system; <code>hazeBaseRef</code> and <code>hazeCeiling</code> are used.
|
||||
* @property {boolean} hazeAltitudeEffect=false - <code>true</code> if haze decreases with altitude as defined by the
|
||||
* entity's local coordinate system, <code>false</code> if it doesn't. If <code>true</code>, then <code>hazeBaseRef</code>
|
||||
* and <code>hazeCeiling</code> are used.
|
||||
* @property {number} hazeBaseRef=0 - The y-axis value in the entity's local coordinate system at which the haze density starts
|
||||
* reducing with altitude.
|
||||
* @property {number} hazeCeiling=200 - The y-axis value in the entity's local coordinate system at which the haze density has
|
||||
|
@ -65,8 +67,8 @@ static const float INITIAL_KEY_LIGHT_ALTITUDE{ 200.0f };
|
|||
* @property {number} hazeBackgroundBlend=0 - The proportion of the skybox image to show through the haze: <code>0.0</code>
|
||||
* displays no skybox image; <code>1.0</code> displays no haze.
|
||||
*
|
||||
* @property {boolean} hazeAttenuateKeyLight=false - If <code>true</code> then the haze attenuates the key light;
|
||||
* <code>hazeKeyLightRange</code> and <code>hazeKeyLightAltitude</code> are used.
|
||||
* @property {boolean} hazeAttenuateKeyLight=false - <code>true</code> if the haze attenuates the key light, <code>false</code>
|
||||
* if it doesn't. If <code>true</code>, then <code>hazeKeyLightRange</code> and <code>hazeKeyLightAltitude</code> are used.
|
||||
* @property {number} hazeKeyLightRange=1000 - The distance at which the haze attenuates the key light by 95%.
|
||||
* @property {number} hazeKeyLightAltitude=200 - The altitude at which the haze starts attenuating the key light (i.e., the
|
||||
* altitude at which the distance starts being calculated).
|
||||
|
|
|
@ -33,8 +33,9 @@ class ReadBitstreamToTreeParams;
|
|||
* @property {Color} color=255,255,255 - The color of the light.
|
||||
* @property {number} intensity=1 - The intensity of the light.
|
||||
* @property {Vec3} direction=0,-1,0 - The direction the light is shining.
|
||||
* @property {boolean} castShadows=false - If <code>true</code> then shadows are cast. Shadows are cast by avatars, plus
|
||||
* {@link Entities.EntityProperties-Model|Model} and {@link Entities.EntityProperties-Shape|Shape} entities that have their
|
||||
* @property {boolean} castShadows=false - <code>true</code> if shadows are cast, <code>false</code> if they aren't. Shadows
|
||||
* are cast by avatars, plus {@link Entities.EntityProperties-Model|Model} and
|
||||
* {@link Entities.EntityProperties-Shape|Shape} entities that have their
|
||||
* <code>{@link Entities.EntityProperties|canCastShadow}</code> property set to <code>true</code>.
|
||||
*/
|
||||
class KeyLightPropertyGroup : public PropertyGroup {
|
||||
|
|
|
@ -115,15 +115,15 @@ NetworkMaterialResource::ParsedMaterials NetworkMaterialResource::parseJSONMater
|
|||
* Supported models are: <code>"hifi_pbr"</code>.
|
||||
* @property {string} name="" - A name for the material. Supported by all material models.
|
||||
* @property {ColorFloat|RGBS|string} emissive - The emissive color, i.e., the color that the material emits. A
|
||||
* {@link ColorFloat} value is treated as sRGB and must have component values in the range <code>0.0</code> —
|
||||
* {@link ColorFloat} value is treated as sRGB and must have component values in the range <code>0.0</code> –
|
||||
* <code>1.0</code>. A {@link RGBS} value can be either RGB or sRGB.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
* @property {number|string} opacity=1.0 - The opacity, range <code>0.0</code> – <code>1.0</code>.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
* @property {boolean|string} unlit=false - If <code>true</code>, the material is not lit, otherwise it is.
|
||||
* @property {boolean|string} unlit=false - <code>true</code> if the material is not lit, <code>false</code> if it is.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
* @property {ColorFloat|RGBS|string} albedo - The albedo color. A {@link ColorFloat} value is treated as sRGB and must have
|
||||
* component values in the range <code>0.0</code> — <code>1.0</code>. A {@link RGBS} value can be either RGB or sRGB.
|
||||
* component values in the range <code>0.0</code> – <code>1.0</code>. A {@link RGBS} value can be either RGB or sRGB.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
* @property {number|string} roughness - The roughness, range <code>0.0</code> – <code>1.0</code>.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
|
@ -172,9 +172,9 @@ NetworkMaterialResource::ParsedMaterials NetworkMaterialResource::parseJSONMater
|
|||
* @property {string} materialParams - Parameters for controlling the material projection and repetition.
|
||||
* Set to <code>"fallthrough"</code> to fall through to the material below. <code>"hifi_pbr"</code> model only.
|
||||
* <p><em>Currently not used.</em></p>
|
||||
* @property {boolean} defaultFallthrough=false - If <code>true</code>, all properties fall through to the material below
|
||||
* unless they are set. If <code>false</code>, they respect their individual fall-through setting. <code>"hifi_pbr"</code>
|
||||
* model only.
|
||||
* @property {boolean} defaultFallthrough=false - <code>true</code> if all properties fall through to the material below
|
||||
* unless they are set, <code>false</code> if properties respect their individual fall-through settings.
|
||||
* <code>"hifi_pbr"</code> model only.
|
||||
*/
|
||||
// Note: See MaterialEntityItem.h for default values used in practice.
|
||||
std::pair<std::string, std::shared_ptr<NetworkMaterial>> NetworkMaterialResource::parseJSONMaterial(const QJsonObject& materialJSON, const QUrl& baseUrl) {
|
||||
|
|
|
@ -143,8 +143,8 @@ bool ObjectActionOffset::updateArguments(QVariantMap arguments) {
|
|||
}
|
||||
|
||||
/**jsdoc
|
||||
* The <code>"offset"</code> {@link Entities.ActionType|ActionType} moves an entity so that it is a set distance away from a
|
||||
* target point.
|
||||
* The <code>"offset"</code> {@link Entities.ActionType|ActionType} moves an entity so that it is a defined distance away from
|
||||
* a target point.
|
||||
* It has arguments in addition to the common {@link Entities.ActionArguments|ActionArguments}:
|
||||
*
|
||||
* @typedef {object} Entities.ActionArguments-Offset
|
||||
|
|
|
@ -95,23 +95,24 @@ bool ObjectDynamic::updateArguments(QVariantMap arguments) {
|
|||
|
||||
/**jsdoc
|
||||
* Different entity action types have different arguments: some common to all actions (listed in the table) and some specific
|
||||
* to each {@link Entities.ActionType|ActionType} (linked to below). The arguments are accessed as an object of property names
|
||||
* and values.
|
||||
* to each {@link Entities.ActionType|ActionType} (linked to below).
|
||||
*
|
||||
* @typedef {object} Entities.ActionArguments
|
||||
* @property {Entities.ActionType} type - The type of action.
|
||||
* @property {string} tag="" - A string that a script can use for its own purposes.
|
||||
* @property {number} ttl=0 - How long the action should exist, in seconds, before it is automatically deleted. A value of
|
||||
* <code>0</code> means that the action should not be deleted.
|
||||
* @property {boolean} isMine=true - Is <code>true</code> if the action was created during the current client session,
|
||||
* <code>false</code> otherwise. <em>Read-only.</em>
|
||||
* @property {boolean} ::no-motion-state - Is present when the entity hasn't been registered with the physics engine yet (e.g.,
|
||||
* if the action hasn't been properly configured), otherwise <code>undefined</code>. <em>Read-only.</em>
|
||||
* @property {boolean} ::active - Is <code>true</code> when the action is modifying the entity's motion, <code>false</code>
|
||||
* otherwise. Is present once the entity has been registered with the physics engine, otherwise <code>undefined</code>.
|
||||
* @property {boolean} isMine=true - <code>true</code> if the action was created during the current client session,
|
||||
* <code>false</code> if it wasn't. <em>Read-only.</em>
|
||||
* @property {boolean} ::no-motion-state - Is present with a value of <code>true</code> when the entity hasn't been registered
|
||||
* with the physics engine yet (e.g., if the action hasn't been properly configured), otherwise the property is
|
||||
* <code>undefined</code>. <em>Read-only.</em>
|
||||
* @property {boolean} ::active - <code>true</code> when the action is modifying the entity's motion, <code>false</code>
|
||||
* otherwise. Is present once the entity has been registered with the physics engine, otherwise the property is
|
||||
* <code>undefined</code>.
|
||||
* <em>Read-only.</em>
|
||||
* @property {Entities.PhysicsMotionType} ::motion-type - How the entity moves with the action. Is present once the entity has
|
||||
* been registered with the physics engine, otherwise <code>undefined</code>. <em>Read-only.</em>
|
||||
* been registered with the physics engine, otherwise the property is <code>undefined</code>. <em>Read-only.</em>
|
||||
*
|
||||
* @comment The different action types have additional arguments as follows:
|
||||
* @see {@link Entities.ActionArguments-FarGrab|ActionArguments-FarGrab}
|
||||
|
|
|
@ -108,8 +108,8 @@ public:
|
|||
* Sets whether your microphone audio is echoed back to you from the server. When enabled, microphone audio is echoed
|
||||
* only if you're unmuted or are using push-to-talk.
|
||||
* @function Audio.setServerEcho
|
||||
* @parm {boolean} serverEcho - <code>true</code> to enable echoing microphone back to you from the server,
|
||||
* <code>false<code> to disable.
|
||||
* @param {boolean} serverEcho - <code>true</code> to enable echoing microphone back to you from the server,
|
||||
* <code>false</code> to disable.
|
||||
*/
|
||||
Q_INVOKABLE void setServerEcho(bool serverEcho);
|
||||
|
||||
|
|
Loading…
Reference in a new issue