Files
node-metaverse/lib/classes/interfaces/IGameObjectData.ts
Casper Warden da4cd459f1 - Add "GET" method to Caps
- New events: ObjectPhysicsDataEvent, ParcelPropertiesEvent, NewObjectEvent, ObjectUpdateEvent, ObjectKilledEvent
- Added getXML function to Color4, Vector2, Vector3, Vector4, GameObject, Region, Quaternion, UUID for opensim-compatible XML export
- Added TextureAnim and ParticleSystem decoding to the "full" ObjectStore
- Object store will automatically request missing "parent" prims
- "setPersist" - When persist is TRUE, the ObjectStore will not forget about "killed" prims - useful for region scanning
- Support for Flexible params, Light params, LightImage params, Mesh data, Sculpt maps
- Fixed object scale being incorrectly calculated
- Add terrain decoding (this was a ballache)
- Add parcel map decoding
- Add support for region windlight settings (region.environment)
- Add support for materials (normal / specular maps)
- Add getBuffer, getLong and bitwiseOr to UUID
- Added a circular-reference-safe JSONStringify to Utils
- Add XferFile capability to Circuit

PUBLIC API:

AssetCommands:
- Rework "downloadAsset" to detect failures
- NEW: downloadInventoryAsset() - uses TransferRequest for prim inventory items
- NEW: getMaterials() - resolves material UUIDs

RegionCommands:
- NEW: getTerrainTextures()
- NEW: exportSettings() - OpenSim XML export of region settings
- NEW: async getTerrain() - Get binary terrain heightmap, 256x256 float32
- resolveObjects() - now fetches task inventory contents too.
- resolveObjects() - fix calculation of land impact
- NEW: getObjectByLocalID(localID: number, timeout: number)
- NEW: getObjectByUUID(uuid: UUID, timeout: number)
- NEW: getParcels();
- NEW: pruneObjects - removes missing GameObjects from a list
- NEW: setPersist - prevent objectstore from forgetting about killed gameobjects
2018-10-31 11:28:24 +00:00

118 lines
3.3 KiB
TypeScript

import {UUID} from '../UUID';
import * as Long from 'long';
import {NameValue} from '../NameValue';
import {Vector3} from '../Vector3';
import {TextureEntry} from '../TextureEntry';
import {Color4} from '../Color4';
import {Quaternion} from '../Quaternion';
import {Vector4} from '../Vector4';
import {Tree} from '../../enums/Tree';
import {PCode, SoundFlags} from '../..';
import {ParticleSystem} from '../ParticleSystem';
import {GameObject} from '../public/GameObject';
import {FlexibleData} from '../public/FlexibleData';
import {LightData} from '../public/LightData';
import {LightImageData} from '../public/LightImageData';
import {SculptData} from '../public/SculptData';
import {MeshData} from '../public/MeshData';
export interface IGameObjectData
{
deleted: boolean;
creatorID?: UUID;
creationDate?: Long;
baseMask?: number;
ownerMask?: number;
groupMask?: number;
everyoneMask?: number;
nextOwnerMask?: number;
ownershipCost?: number;
saleType?: number;
salePrice?: number;
aggregatePerms?: number;
aggregatePermTextures?: number;
aggregatePermTexturesOwner?: number;
category: number;
inventorySerial: number;
itemID: UUID;
folderID: UUID;
fromTaskID: UUID;
lastOwnerID: UUID;
name?: string;
description?: string;
touchName?: string;
sitName?: string;
textureID?: string;
resolvedAt?: number;
totalChildren?: number;
landImpact?: number;
calculatedLandImpact?: number;
physicaImpact?: number;
resourceImpact?: number;
linkResourceImpact?: number;
linkPhysicsImpact?: number;
limitingType?: string;
children?: GameObject[];
ID: number;
FullID: UUID;
ParentID?: number;
OwnerID: UUID;
IsAttachment: boolean;
NameValue: {[key: string]: NameValue};
PCode: PCode;
State?: number;
CRC?: number;
Material?: number;
ClickAction?: number;
Scale?: Vector3;
Flags?: number;
PathCurve?: number;
ProfileCurve?: number;
PathBegin?: number;
PathEnd?: number;
PathScaleX?: number;
PathScaleY?: number;
PathShearX?: number;
PathShearY?: number;
PathTwist?: number;
PathTwistBegin?: number;
PathRadiusOffset?: number;
PathTaperX?: number;
PathTaperY?: number;
PathRevolutions?: number;
PathSkew?: number;
ProfileBegin?: number;
ProfileEnd?: number;
ProfileHollow?: number;
TextureEntry?: TextureEntry;
Text?: string;
TextColor?: Color4;
MediaURL?: string;
JointType?: number;
JointPivot?: Vector3;
JointAxisOrAnchor?: Vector3;
Position?: Vector3;
Rotation?: Quaternion;
CollisionPlane?: Vector4;
Velocity?: Vector3;
Acceleration?: Vector3;
AngularVelocity?: Vector3;
TreeSpecies?: Tree;
Sound?: UUID;
SoundGain?: number;
SoundFlags?: SoundFlags;
SoundRadius?: number;
Particles?: ParticleSystem;
FlexibleData?: FlexibleData;
LightData?: LightData;
LightImageData?: LightImageData;
SculptData?: SculptData;
MeshData?: MeshData;
density?: number;
friction?: number;
gravityMultiplier?: number;
physicsShapeType?: number;
restitution?: number;
}