OpenSim
|
A scene object group is conceptually an object in the scene. The object is constituted of SceneObjectParts (often known as prims), one of which is considered the root part. More...
Public Types | |
enum | axisSelect : int { axisSelect.STATUS_ROTATE_X = 0x002, axisSelect.STATUS_ROTATE_Y = 0x004, axisSelect.STATUS_ROTATE_Z = 0x008, axisSelect.NOT_STATUS_ROTATE_X = 0xFD, axisSelect.NOT_STATUS_ROTATE_Y = 0xFB, axisSelect.NOT_STATUS_ROTATE_Z = 0xF7 } |
Public Member Functions | |
void | ClearPartAttachmentData () |
bool | ContainsPart (UUID partID) |
bool | ContainsPart (uint localID) |
Does this group contain the given part? should be able to remove these methods once we have a entity index in scene More... | |
bool | IsAttachmentCheckFull () |
Check both the attachment property and the relevant properties of the underlying root part. More... | |
delegate SceneObjectGroup | SOGCrossDelegate (SceneObjectGroup sog, Vector3 pos) |
SceneObjectGroup | CrossAsync (SceneObjectGroup sog, Vector3 val) |
void | CrossAsyncCompleted (IAsyncResult iar) |
void | PartSelectChanged (bool partSelect) |
SceneObjectGroup () | |
Constructor More... | |
SceneObjectGroup (SceneObjectPart part) | |
This constructor creates a SceneObjectGroup using a pre-existing SceneObjectPart. The original SceneObjectPart will be used rather than a copy, preserving its existing localID and UUID. More... | |
SceneObjectGroup (UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) | |
Constructor. This object is added to the scene later via AttachToScene() More... | |
SceneObjectGroup (UUID ownerID, Vector3 pos, PrimitiveBaseShape shape) | |
Constructor. More... | |
void | LoadScriptState (XmlDocument doc) |
void | LoadScriptState (XmlReader reader) |
virtual void | AttachToBackup () |
Hooks this object up to the backup event so that it is persisted to the database when the update thread executes. More... | |
void | AttachToScene (Scene scene) |
Attach this object to a scene. It will also now appear to agents. More... | |
EntityIntersection | TestIntersection (Ray hRay, bool frontFacesOnly, bool faceCenters) |
void | GetAxisAlignedBoundingBoxRaw (out float minX, out float maxX, out float minY, out float maxY, out float minZ, out float maxZ) |
Gets a vector representing the size of the bounding box containing all the prims in the group Treats all prims as rectangular, so no shape (cut etc) is taken into account offsetHeight is the offset in the Z axis from the centre of the bounding box to the centre of the root prim More... | |
Vector3 | GetAxisAlignedBoundingBox (out float offsetHeight) |
void | GetResourcesCosts (SceneObjectPart apart, out float linksetResCost, out float linksetPhysCost, out float partCost, out float partPhysCost) |
void | GetSelectedCosts (out float PhysCost, out float StreamCost, out float SimulCost) |
void | SaveScriptedState (XmlTextWriter writer) |
void | SaveScriptedState (XmlTextWriter writer, bool oldIDs) |
byte | GetAttachmentPoint () |
void | DetachToGround () |
void | DetachToInventoryPrep () |
ushort | GetTimeDilation () |
void | SetRootPart (SceneObjectPart part) |
Set a part to act as the root part for this scene object More... | |
void | AddPart (SceneObjectPart part) |
Add a new part to this scene object. The part must already be correctly configured. More... | |
void | RegenerateFullIDs () |
int | GetSceneMaxUndo () |
void | ResetChildPrimPhysicsPositions () |
UUID | GetPartsFullID (uint localID) |
void | ObjectGrabHandler (uint localId, Vector3 offsetPos, IClientAPI remoteClient) |
virtual void | OnGrabPart (SceneObjectPart part, Vector3 offsetPos, IClientAPI remoteClient) |
virtual void | OnGrabGroup (Vector3 offsetPos, IClientAPI remoteClient) |
void | DeleteGroupFromScene (bool silent) |
Delete this group from its scene. More... | |
void | AddScriptLPS (int count) |
void | AddActiveScriptCount (int count) |
void | aggregateScriptEvents () |
void | SetText (string text, Vector3 color, double alpha) |
void | ApplyPhysics () |
Apply physics to this group More... | |
void | SetOwnerId (UUID userId) |
void | ForEachPart (Action< SceneObjectPart > whatToDo) |
virtual void | ProcessBackup (ISimulationDataService datastore, bool forcedBackup) |
Processes backup. More... | |
void | SendFullUpdateToClient (IClientAPI remoteClient) |
Send the parts of this SOG to a single client More... | |
SceneObjectGroup | Copy (bool userExposed) |
Duplicates this object, including operations such as physics set up and attaching to the backup event. More... | |
void | CopyRootPart (SceneObjectPart part, UUID cAgentID, UUID cGroupID, bool userExposed) |
Copy the given part as the root part of this scene object. More... | |
void | ScriptSetPhysicsStatus (bool usePhysics) |
void | ScriptSetTemporaryStatus (bool makeTemporary) |
void | ScriptSetPhantomStatus (bool makePhantom) |
void | ScriptSetVolumeDetect (bool makeVolumeDetect) |
void | applyImpulse (Vector3 impulse) |
void | ApplyAngularImpulse (Vector3 impulse) |
Vector3 | GetTorque () |
void | MoveToTarget (Vector3 target, float tau) |
void | StopMoveToTarget () |
void | RotLookAt (Quaternion target, float strength, float damping) |
void | StartLookAt (Quaternion target, float strength, float damping) |
void | StopLookAt () |
void | SetHoverHeight (float height, PIDHoverType hoverType, float tau) |
Uses a PID to attempt to clamp the object on the Z axis at the given height over tau seconds. More... | |
void | SetRootPartOwner (SceneObjectPart part, UUID cAgentID, UUID cGroupID) |
Set the owner of the root part. More... | |
SceneObjectPart | CopyPart (SceneObjectPart part, UUID cAgentID, UUID cGroupID, bool userExposed) |
Make a copy of the given part. More... | |
void | ResetIDs () |
Reset the UUIDs for all the prims that make up this group. More... | |
void | ServiceObjectPropertiesFamilyRequest (IClientAPI remoteClient, UUID AgentID, uint RequestFlags) |
void | SetPartOwner (SceneObjectPart part, UUID cAgentID, UUID cGroupID) |
override void | Update () |
Performs any updates that need to be done at each frame, as opposed to immediately. These included scheduled updates and updates that occur due to physics processing. More... | |
void | ScheduleGroupForFullUpdate () |
Schedule a full update for this scene object to all interested viewers. More... | |
void | ScheduleGroupForTerseUpdate () |
Schedule a terse update for this scene object to all interested viewers. More... | |
void | SendGroupFullUpdate () |
Immediately send a full update for this scene object. More... | |
void | SendGroupRootTerseUpdate () |
Immediately send an update for this scene object's root prim only. This is for updates regarding the object as a whole, and none of its parts in particular. Note: this may not be used by opensim (it probably should) but it's used by external modules. More... | |
void | QueueForUpdateCheck () |
void | SendGroupTerseUpdate () |
Immediately send a terse update for this scene object. More... | |
void | SendPropertiesToClient (IClientAPI client) |
Send metadata about the root prim (name, description, sale price, permissions, etc.) to a client. More... | |
SceneObjectPart | GetLinkNumPart (int linknum) |
Get the child part by LinkNum More... | |
SceneObjectPart | GetPart (UUID primID) |
Get a part with a given UUID More... | |
SceneObjectPart | GetPart (uint localID) |
Get a part with a given local ID More... | |
void | LinkToGroup (SceneObjectGroup objectGroup) |
Link the prims in a given group to this group More... | |
void | LinkToGroup (SceneObjectGroup objectGroup, bool insert) |
SceneObjectGroup | DelinkFromGroup (uint partID) |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup. More... | |
SceneObjectGroup | DelinkFromGroup (uint partID, bool sendEvents) |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup. More... | |
SceneObjectGroup | DelinkFromGroup (SceneObjectPart linkPart, bool sendEvents) |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup. More... | |
virtual void | DetachFromBackup () |
Stop this object from being persisted over server restarts. More... | |
void | GrabMovement (UUID partID, Vector3 offset, Vector3 pos, IClientAPI remoteClient) |
If object is physical, apply force to move it around If object is not physical, just put it at the resulting location More... | |
void | NonPhysicalGrabMovement (Vector3 pos) |
Apply possition for grabbing non-physical linksets (Ctrl+Drag) This MUST be blocked for linksets that contain touch scripts because the viewer triggers grab on the touch event (Viewer Bug?) This would allow anyone to drag a linkset with a touch script. SL behaviour is also to block grab on prims with touch events. More... | |
void | SpinStart (IClientAPI remoteClient) |
If object is physical, prepare for spinning torques (set flag to save old orientation) More... | |
void | SpinMovement (Quaternion newOrientation, IClientAPI remoteClient) |
If object is physical, apply torque to spin it around More... | |
void | SetPartName (string name, uint localID) |
Set the name of a prim More... | |
void | SetPartDescription (string des, uint localID) |
void | SetPartText (string text, uint localID) |
void | SetPartText (string text, UUID partID) |
string | GetPartName (uint localID) |
string | GetPartDescription (uint localID) |
void | UpdatePrimFlags (uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) |
Update prim flags for this group. More... | |
void | UpdateExtraParam (uint localID, ushort type, bool inUse, byte[] data) |
int | GetPartCount () |
Gets the number of parts More... | |
void | UpdateTextureEntry (uint localID, byte[] textureEntry) |
Update the texture entry for this part More... | |
void | AdjustChildPrimPermissions (bool forceTaskInventoryPermissive) |
void | UpdatePermissions (UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) |
void | UpdateShape (ObjectShapePacket.ObjectDataBlock shapeBlock, uint localID) |
void | GroupResize (Vector3 scale) |
Resize the entire group of prims. More... | |
void | UpdateGroupPosition (Vector3 pos) |
Move this scene object More... | |
void | UpdateSinglePosition (Vector3 pos, uint localID) |
Update the position of a single part of this scene object More... | |
void | UpdateRootPosition (Vector3 newPos) |
Update just the root prim position in a linkset More... | |
void | UpdateGroupRotationR (Quaternion rot) |
Update the rotation of the group. More... | |
void | UpdateGroupRotationPR (Vector3 pos, Quaternion rot) |
Update the position and rotation of a group simultaneously. More... | |
void | UpdateSingleRotation (Quaternion rot, uint localID) |
Update the rotation of a single prim within the group. More... | |
void | UpdateSingleRotation (Quaternion rot, Vector3 pos, uint localID) |
Update the position and rotation simultaneously of a single prim within the group. More... | |
void | UpdateRootRotation (Quaternion rot) |
Update the rotation of just the root prim of a linkset. More... | |
void | doChangeObject (SceneObjectPart part, ObjectChangeData data) |
int | GetAxisRotation (int axis) |
int | registerRotTargetWaypoint (Quaternion target, float tolerance) |
void | unregisterRotTargetWaypoint (int handle) |
int | registerTargetWaypoint (Vector3 target, float tolerance) |
void | unregisterTargetWaypoint (int handle) |
void | checkAtTargets () |
Vector3 | GetGeometricCenter () |
float | GetMass () |
Vector3 | GetCenterOfMass () |
void | SetGroup (UUID GroupID, IClientAPI client) |
If the object is a sculpt/mesh, retrieve the mesh data for each part and reinsert it into each shape so that the physics engine can use it. More... | |
void | TriggerScriptChangedEvent (Changed val) |
int | ScriptCount () |
Returns a count of the number of scripts in this groups parts. More... | |
float | ScriptExecutionTime () |
A float the value is a representative execution time in milliseconds of all scripts in the link set. More... | |
int | RunningScriptCount () |
Returns a count of the number of running scripts in this groups parts. More... | |
List< ScenePresence > | GetSittingAvatars () |
Get a copy of the list of sitting avatars on all prims of this object. More... | |
int | GetSittingAvatarsCount () |
Gets the number of sitting avatars. More... | |
override string | ToString () |
virtual ISceneObject | CloneForNewScene () |
virtual string | ToXml2 () |
virtual string | ExtraToXmlString () |
virtual void | ExtraFromXmlString (string xmlstr) |
void | ResetOwnerChangeFlag () |
void | Clear () |
void | ForceInventoryPersistence () |
Force all task inventories of prims in the scene object to persist More... | |
int | CreateScriptInstances (int startParam, bool postOnRez, string engine, int stateSource) |
Start the scripts contained in all the prims in this group. More... | |
void | RemoveScriptInstances (bool sceneObjectBeingDeleted) |
Stop and remove the scripts contained in all the prims in this group More... | |
void | StopScriptInstances () |
Stop the scripts contained in all the prims in this group More... | |
bool | AddInventoryItem (UUID agentID, uint localID, InventoryItemBase item, UUID copyItemID) |
Add an inventory item from a user's inventory to a prim in this scene object. More... | |
TaskInventoryItem | GetInventoryItem (uint primID, UUID itemID) |
Returns an existing inventory item. Returns the original, so any changes will be live. More... | |
bool | UpdateInventoryItem (TaskInventoryItem item) |
Update an existing inventory item. More... | |
int | RemoveInventoryItem (uint localID, UUID itemID) |
uint | GetEffectivePermissions () |
uint | GetEffectivePermissions (bool useBase) |
void | ApplyNextOwnerPermissions () |
string | GetStateSnapshot () |
void | SetState (string objXMLData, IScene ins) |
void | ResumeScripts () |
bool | ContainsScripts () |
Returns true if any part in the scene object contains scripts, false otherwise. More... | |
Public Member Functions inherited from OpenSim.Region.Framework.Scenes.EntityBase | |
EntityBase () | |
Creates a new Entity (should not occur on it's own) More... | |
virtual EntityBase | Copy () |
Copies the entity More... | |
Public Attributes | |
bool | m_dupeInProgress = false |
bool | inTransit = false |
Static Public Attributes | |
static readonly uint | SLAM = 16 |
Protected Attributes | |
MapAndArray< UUID, SceneObjectPart > | m_parts = new MapAndArray<UUID, SceneObjectPart>() |
ulong | m_regionHandle |
SceneObjectPart | m_rootPart |
bool | m_isSelected = false |
Added because the Parcel code seems to use it but not sure a object should have this as what does it tell us? that some avatar has selected it (but not what Avatar/user) think really there should be a list (or whatever) in each scenepresence saying what prim(s) that user has selected. More... | |
Protected Attributes inherited from OpenSim.Region.Framework.Scenes.EntityBase | |
Scene | m_scene |
UUID | m_uuid |
string | m_name |
Vector3 | m_pos |
Vector3 | m_velocity |
Vector3 | m_rotationalvelocity |
uint | m_localId |
Properties | |
bool | HasGroupChanged [get, set] |
This indicates whether the object has changed such that it needs to be repersisted to permenant storage (the database). More... | |
bool | GroupContainsForeignPrims [get, set] |
Whether the group contains prims that came from a different group. This happens when linking or delinking groups. The implication is that until the group is persisted, the prims in the database still use the old SceneGroupID. That's a problem if the group is deleted, because we delete groups by searching for prims by their SceneGroupID. More... | |
bool | HasGroupChangedDueToDelink [get, set] |
bool | IsAttachment [get, set] |
Is this scene object acting as an attachment? More... | |
UUID | AttachedAvatar [get, set] |
The avatar to which this scene object is attached. More... | |
uint | AttachmentPoint [get, set] |
Attachment point of this scene object to an avatar. More... | |
bool | HasPrivateAttachmentPoint [get] |
If this scene object has an attachment point then indicate whether there is a point where attachments are perceivable by avatars other than the avatar to which this object is attached. More... | |
bool | IsPhantom [get] |
Is this scene object phantom? More... | |
bool | UsesPhysics [get] |
Does this scene object use physics? More... | |
bool | IsTemporary [get] |
Is this scene object temporary? More... | |
bool | IsVolumeDetect [get] |
bool | Backup [get, set] |
Is this entity set to be saved in persistent storage? More... | |
SortedDictionary< uint, scriptPosTarget > | AtTargets [get] |
SortedDictionary< uint, scriptRotTarget > | RotTargets [get] |
override string | Name [get, set] |
The name of an object grouping is always the same as its root part More... | |
string | Description [get, set] |
int | PrimCount [get] |
Number of prims in this group More... | |
Quaternion | GroupRotation [get] |
Vector3 | GroupScale [get] |
UUID | GroupID [get, set] |
SceneObjectPart[] | Parts [get] |
SceneObjectPart | RootPart [get] |
ulong | RegionHandle [get, set] |
override Vector3 | AbsolutePosition [get, set] |
The absolute position of this scene object in the scene More... | |
override Vector3 | Velocity [get, set] |
override uint | LocalId [get, set] |
override UUID | UUID [get, set] |
UUID | LastOwnerID [get, set] |
UUID | OwnerID [get, set] |
float | Damage [get, set] |
Color | Color [get, set] |
string | Text [get, set] |
virtual bool | CanBeBackedUp [get] |
If set to true then the scene object can be backed up in principle, though this will only actually occur if Backup is set. If false then the scene object will never be backed up, Backup will always be false. More... | |
bool | IsSelected [get, set] |
SceneObjectPart | PlaySoundMasterPrim [get, set] |
List< SceneObjectPart > | PlaySoundSlavePrims [get, set] |
SceneObjectPart | LoopSoundMasterPrim [get, set] |
List< SceneObjectPart > | LoopSoundSlavePrims [get, set] |
UUID | RegionUUID [get] |
The UUID for the region this object is in. More... | |
UUID | FromItemID [get, set] |
The item ID that this object was rezzed from, if applicable. More... | |
UUID | FromPartID [get, set] |
Refers to the SceneObjectPart.UUID property of the object that this object was rezzed from, if applicable. More... | |
UUID | FromFolderID [get, set] |
The folder ID that this object was rezzed from, if applicable. More... | |
bool | BlockGrabOverride [get, set] |
If true then grabs are blocked no matter what the individual part BlockGrab setting. More... | |
Properties inherited from OpenSim.Region.Framework.Scenes.EntityBase | |
Scene | Scene [get] |
The scene to which this entity belongs More... | |
virtual UUID | UUID [get, set] |
virtual string | Name [get, set] |
The name of this entity More... | |
bool | IsDeleted [get, set] |
Signals whether this entity was in a scene but has since been removed from it. More... | |
virtual Vector3 | AbsolutePosition [get, set] |
Absolute position of this entity in a scene. More... | |
virtual Vector3 | Velocity [get, set] |
Current velocity of the entity. More... | |
virtual uint | LocalId [get, set] |
Properties inherited from OpenSim.Framework.ISceneEntity | |
string | Name [get, set] |
UUID | UUID [get] |
uint | LocalId [get] |
Vector3 | AbsolutePosition [get] |
Properties inherited from OpenSim.Framework.ISceneObject | |
string | Name [get] |
UUID | UUID [get] |
UUID | OwnerID [get, set] |
The owner of this object. More... | |
bool | HasGroupChanged [get, set] |
A scene object group is conceptually an object in the scene. The object is constituted of SceneObjectParts (often known as prims), one of which is considered the root part.
Definition at line 105 of file SceneObjectGroup.cs.
Enumerator | |
---|---|
STATUS_ROTATE_X | |
STATUS_ROTATE_Y | |
STATUS_ROTATE_Z | |
NOT_STATUS_ROTATE_X | |
NOT_STATUS_ROTATE_Y | |
NOT_STATUS_ROTATE_Z |
Definition at line 109 of file SceneObjectGroup.cs.
|
inline |
Constructor
Definition at line 1084 of file SceneObjectGroup.cs.
|
inline |
This constructor creates a SceneObjectGroup using a pre-existing SceneObjectPart. The original SceneObjectPart will be used rather than a copy, preserving its existing localID and UUID.
part | Root part for this scene object. |
Definition at line 1095 of file SceneObjectGroup.cs.
|
inline |
Constructor. This object is added to the scene later via AttachToScene()
Definition at line 1103 of file SceneObjectGroup.cs.
|
inline |
Constructor.
Definition at line 1111 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2026 of file SceneObjectGroup.cs.
|
inline |
Add an inventory item from a user's inventory to a prim in this scene object.
agentID | The agent adding the item. |
localID | The local ID of the part receiving the add. |
item | The user inventory item being added. |
copyItemID | The item UUID that should be used by the new item. |
Definition at line 114 of file SceneObjectGroup.Inventory.cs.
|
inline |
Add a new part to this scene object. The part must already be correctly configured.
part |
Definition at line 1861 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2021 of file SceneObjectGroup.cs.
|
inline |
|
inline |
Definition at line 2032 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2467 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2444 of file SceneObjectGroup.cs.
|
inline |
Definition at line 299 of file SceneObjectGroup.Inventory.cs.
|
inline |
Apply physics to this group
Definition at line 2086 of file SceneObjectGroup.cs.
|
inlinevirtual |
Hooks this object up to the backup event so that it is persisted to the database when the update thread executes.
Definition at line 1178 of file SceneObjectGroup.cs.
|
inline |
Attach this object to a scene. It will also now appear to agents.
scene |
Definition at line 1199 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4431 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4842 of file SceneObjectGroup.cs.
|
inline |
Definition at line 294 of file SceneObjectGroup.cs.
|
inlinevirtual |
Implements OpenSim.Framework.ISceneObject.
Definition at line 4804 of file SceneObjectGroup.cs.
|
inline |
|
inline |
Does this group contain the given part? should be able to remove these methods once we have a entity index in scene
localID |
Definition at line 487 of file SceneObjectGroup.cs.
|
inline |
Returns true if any part in the scene object contains scripts, false otherwise.
Definition at line 428 of file SceneObjectGroup.Inventory.cs.
|
inline |
Duplicates this object, including operations such as physics set up and attaching to the backup event.
userExposed | True if the duplicate will immediately be in the scene, false otherwise |
Definition at line 2297 of file SceneObjectGroup.cs.
|
inline |
Make a copy of the given part.
part | |
cAgentID | |
cGroupID |
Definition at line 2646 of file SceneObjectGroup.cs.
|
inline |
Copy the given part as the root part of this scene object.
part | |
cAgentID | |
cGroupID |
Definition at line 2394 of file SceneObjectGroup.cs.
|
inline |
Start the scripts contained in all the prims in this group.
startParam | |
postOnRez | |
engine | |
stateSource |
Definition at line 66 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 622 of file SceneObjectGroup.cs.
|
inline |
Definition at line 777 of file SceneObjectGroup.cs.
|
inline |
Delete this group from its scene.
This only handles the in-world consequences of deletion (e.g. any avatars sitting on it are forcibly stood up and all avatars receive notification of its removal. Removal of the scene object from database backup must be handled by the caller.
silent | If true then deletion is not broadcast to clients |
Definition at line 1986 of file SceneObjectGroup.cs.
|
inline |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup.
FIXME: This method should not be called directly since it bypasses update locking, allowing a potential race condition. But currently there is no alternative method that does take a lonk to delink a single prim.
partID |
Definition at line 3153 of file SceneObjectGroup.cs.
|
inline |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup.
FIXME: This method should not be called directly since it bypasses update locking, allowing a potential race condition. But currently there is no alternative method that does take a lonk to delink a single prim.
partID | |
sendEvents |
Definition at line 3170 of file SceneObjectGroup.cs.
|
inline |
Delink the given prim from this group. The delinked prim is established as an independent SceneObjectGroup.
FIXME: This method should not be called directly since it bypasses update locking, allowing a potential race condition. But currently there is no alternative method that does take a lock to delink a single prim.
partID | |
sendEvents |
Definition at line 3200 of file SceneObjectGroup.cs.
|
inlinevirtual |
Stop this object from being persisted over server restarts.
objectGroup |
Definition at line 3296 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1761 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1799 of file SceneObjectGroup.cs.
|
inline |
|
inlinevirtual |
Implements OpenSim.Framework.ISceneObject.
Definition at line 4821 of file SceneObjectGroup.cs.
|
inlinevirtual |
Implements OpenSim.Framework.ISceneObject.
Definition at line 4816 of file SceneObjectGroup.cs.
|
inline |
Force all task inventories of prims in the scene object to persist
Definition at line 48 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 2127 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1756 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1538 of file SceneObjectGroup.cs.
|
inline |
Gets a vector representing the size of the bounding box containing all the prims in the group Treats all prims as rectangular, so no shape (cut etc) is taken into account offsetHeight is the offset in the Z axis from the centre of the bounding box to the centre of the root prim
Definition at line 1294 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4362 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4622 of file SceneObjectGroup.cs.
|
inline |
Definition at line 251 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 256 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 4571 of file SceneObjectGroup.cs.
|
inline |
Returns an existing inventory item. Returns the original, so any changes will be live.
primID | |
itemID |
Definition at line 194 of file SceneObjectGroup.Inventory.cs.
|
inline |
Get the child part by LinkNum
linknum |
Definition at line 2880 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4611 of file SceneObjectGroup.cs.
|
inline |
Get a part with a given UUID
primID |
Definition at line 2897 of file SceneObjectGroup.cs.
|
inline |
Get a part with a given local ID
localID |
Definition at line 2909 of file SceneObjectGroup.cs.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 1939 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1569 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1894 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1639 of file SceneObjectGroup.cs.
|
inline |
Get a copy of the list of sitting avatars on all prims of this object.
This is sorted by the order in which avatars sat down. If an avatar stands up then all avatars that sat down after it move one place down the list.
Definition at line 4780 of file SceneObjectGroup.cs.
|
inline |
Gets the number of sitting avatars.
This applies to all sitting avatars whether there is a sit target set or not.
Definition at line 4791 of file SceneObjectGroup.cs.
|
inline |
Implements OpenSim.Framework.ISceneObject.
Definition at line 308 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 1834 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2482 of file SceneObjectGroup.cs.
|
inline |
If object is physical, apply force to move it around If object is not physical, just put it at the resulting location
partID | Part ID to check for grab |
offset | Always seems to be 0,0,0, so ignoring |
pos | New position. We do the math here to turn it into a force |
remoteClient |
Definition at line 3370 of file SceneObjectGroup.cs.
|
inline |
Resize the entire group of prims.
scale |
Definition at line 3802 of file SceneObjectGroup.cs.
|
inline |
Check both the attachment property and the relevant properties of the underlying root part.
This is necessary in some cases, particularly when a scene object has just crossed into a region and doesn't have the IsAttachment property yet checked.
FIXME: However, this should be fixed so that this property propertly reflects the underlying status.
Definition at line 530 of file SceneObjectGroup.cs.
|
inline |
Link the prims in a given group to this group
Do not call this method directly - use Scene.LinkObjects() instead to avoid races between threads. FIXME: There are places where scripts call these methods directly without locking. This is a potential race condition.
objectGroup | The group of prims which should be linked to this group |
Definition at line 2933 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2940 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1116 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1135 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2488 of file SceneObjectGroup.cs.
|
inline |
Apply possition for grabbing non-physical linksets (Ctrl+Drag) This MUST be blocked for linksets that contain touch scripts because the viewer triggers grab on the touch event (Viewer Bug?) This would allow anyone to drag a linkset with a touch script. SL behaviour is also to block grab on prims with touch events.
pos | New Position |
Definition at line 3417 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1949 of file SceneObjectGroup.cs.
|
inlinevirtual |
Definition at line 1972 of file SceneObjectGroup.cs.
|
inlinevirtual |
Definition at line 1962 of file SceneObjectGroup.cs.
|
inline |
Definition at line 950 of file SceneObjectGroup.cs.
|
inlinevirtual |
|
inline |
Definition at line 2833 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1886 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4377 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4404 of file SceneObjectGroup.cs.
|
inline |
Definition at line 238 of file SceneObjectGroup.Inventory.cs.
|
inline |
Stop and remove the scripts contained in all the prims in this group
Definition at line 91 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 1917 of file SceneObjectGroup.cs.
|
inline |
Reset the UUIDs for all the prims that make up this group.
This is called by methods which want to add a new group to an existing scene, in order to ensure that there are no clashes with groups already present.
Definition at line 2665 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4833 of file SceneObjectGroup.cs.
|
inline |
Definition at line 414 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 2532 of file SceneObjectGroup.cs.
|
inline |
Returns a count of the number of running scripts in this groups parts.
Definition at line 4762 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1665 of file SceneObjectGroup.cs.
|
inline |
Definition at line 1670 of file SceneObjectGroup.cs.
|
inline |
Schedule a full update for this scene object to all interested viewers.
Ultimately, this should be managed such that region modules can invoke it at the end of a set of operations so that either all changes are sent at once. However, currently, a large amount of internal code will set this anyway when some object properties are changed.
Definition at line 2754 of file SceneObjectGroup.cs.
|
inline |
Schedule a terse update for this scene object to all interested viewers.
Ultimately, this should be managed such that region modules can invoke it at the end of a set of operations so that either all changes are sent at once. However, currently, a large amount of internal code will set this anyway when some object properties are changed.
Definition at line 2779 of file SceneObjectGroup.cs.
|
inline |
Returns a count of the number of scripts in this groups parts.
Definition at line 4710 of file SceneObjectGroup.cs.
|
inline |
A float the value is a representative execution time in milliseconds of all scripts in the link set.
Definition at line 4723 of file SceneObjectGroup.cs.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Send the parts of this SOG to a single client
Used when the client initially connects and when client sends RequestPrim packet
remoteClient |
Definition at line 2277 of file SceneObjectGroup.cs.
|
inline |
Immediately send a full update for this scene object.
Definition at line 2791 of file SceneObjectGroup.cs.
|
inline |
Immediately send an update for this scene object's root prim only. This is for updates regarding the object as a whole, and none of its parts in particular. Note: this may not be used by opensim (it probably should) but it's used by external modules.
Definition at line 2825 of file SceneObjectGroup.cs.
|
inline |
Immediately send a terse update for this scene object.
Definition at line 2844 of file SceneObjectGroup.cs.
|
inline |
Send metadata about the root prim (name, description, sale price, permissions, etc.) to a client.
client |
Definition at line 2868 of file SceneObjectGroup.cs.
|
inline |
part |
Definition at line 2683 of file SceneObjectGroup.cs.
|
inline |
If the object is a sculpt/mesh, retrieve the mesh data for each part and reinsert it into each shape so that the physics engine can use it.
When the physics engine has finished with it, the sculpt data is discarded to save memory.
Set the user group to which this scene object belongs.
GroupID | |
client |
Definition at line 4683 of file SceneObjectGroup.cs.
|
inline |
Uses a PID to attempt to clamp the object on the Z axis at the given height over tau seconds.
height | Height to hover. Height of zero disables hover. |
hoverType | Determines what the height is relative to |
tau | Number of seconds over which to reach target |
Definition at line 2590 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2117 of file SceneObjectGroup.cs.
|
inline |
Definition at line 3551 of file SceneObjectGroup.cs.
|
inline |
|
inline |
Definition at line 2693 of file SceneObjectGroup.cs.
|
inline |
Definition at line 3560 of file SceneObjectGroup.cs.
|
inline |
Definition at line 3569 of file SceneObjectGroup.cs.
|
inline |
Set a part to act as the root part for this scene object
part |
Definition at line 1843 of file SceneObjectGroup.cs.
|
inline |
Set the owner of the root part.
part | |
cAgentID | |
cGroupID |
Definition at line 2624 of file SceneObjectGroup.cs.
|
inline |
Implements OpenSim.Framework.ISceneObject.
Definition at line 354 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 2071 of file SceneObjectGroup.cs.
delegate SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.SOGCrossDelegate | ( | SceneObjectGroup | sog, |
Vector3 | pos | ||
) |
|
inline |
If object is physical, apply torque to spin it around
rotation | Rotation. We do the math here to turn it into a torque |
remoteClient |
Definition at line 3449 of file SceneObjectGroup.cs.
|
inline |
If object is physical, prepare for spinning torques (set flag to save old orientation)
rotation | Rotation. We do the math here to turn it into a torque |
remoteClient |
Definition at line 3428 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2558 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2571 of file SceneObjectGroup.cs.
|
inline |
Definition at line 2510 of file SceneObjectGroup.cs.
|
inline |
Stop the scripts contained in all the prims in this group
Definition at line 101 of file SceneObjectGroup.Inventory.cs.
|
inline |
Definition at line 1242 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4797 of file SceneObjectGroup.cs.
|
inlinevirtual |
Implements OpenSim.Framework.ISceneObject.
Definition at line 4811 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4700 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4394 of file SceneObjectGroup.cs.
|
inline |
Definition at line 4421 of file SceneObjectGroup.cs.
|
inlinevirtual |
Performs any updates that need to be done at each frame, as opposed to immediately. These included scheduled updates and updates that occur due to physics processing.
Implements OpenSim.Region.Framework.Scenes.EntityBase.
Definition at line 2702 of file SceneObjectGroup.cs.
|
inline |
Definition at line 3682 of file SceneObjectGroup.cs.
|
inline |
|
inline |
Update the position and rotation of a group simultaneously.
pos | |
rot |
Definition at line 4070 of file SceneObjectGroup.cs.
|
inline |
Update the rotation of the group.
rot |
Definition at line 4049 of file SceneObjectGroup.cs.
|
inline |
Update an existing inventory item.
item | The updated item. An item with the same id must already exist in this prim's inventory |
Definition at line 218 of file SceneObjectGroup.Inventory.cs.
|
inline |
|
inline |
Update prim flags for this group.
localID | |
UsePhysics | |
SetTemporary | |
SetPhantom | |
SetVolumeDetect |
Definition at line 3606 of file SceneObjectGroup.cs.
|
inline |
Update just the root prim position in a linkset
newPos |
Definition at line 4003 of file SceneObjectGroup.cs.
|
inline |
Update the rotation of just the root prim of a linkset.
rot |
Definition at line 4155 of file SceneObjectGroup.cs.
|
inline |
shapeBlock |
Definition at line 3780 of file SceneObjectGroup.cs.
|
inline |
Update the position of a single part of this scene object
pos | |
localID |
Definition at line 3973 of file SceneObjectGroup.cs.
|
inline |
Update the rotation of a single prim within the group.
rot | |
localID |
Definition at line 4097 of file SceneObjectGroup.cs.
|
inline |
Update the position and rotation simultaneously of a single prim within the group.
rot | |
localID |
Definition at line 4127 of file SceneObjectGroup.cs.
|
inline |
Update the texture entry for this part
localID | |
textureEntry |
Definition at line 3707 of file SceneObjectGroup.cs.
bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.inTransit = false |
Definition at line 543 of file SceneObjectGroup.cs.
bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.m_dupeInProgress = false |
Definition at line 381 of file SceneObjectGroup.cs.
|
protected |
Added because the Parcel code seems to use it but not sure a object should have this as what does it tell us? that some avatar has selected it (but not what Avatar/user) think really there should be a list (or whatever) in each scenepresence saying what prim(s) that user has selected.
Definition at line 408 of file SceneObjectGroup.cs.
|
protected |
Definition at line 357 of file SceneObjectGroup.cs.
|
protected |
Definition at line 359 of file SceneObjectGroup.cs.
|
protected |
Definition at line 360 of file SceneObjectGroup.cs.
|
static |
Definition at line 120 of file SceneObjectGroup.cs.
|
getset |
The absolute position of this scene object in the scene
Definition at line 550 of file SceneObjectGroup.cs.
|
getset |
The avatar to which this scene object is attached.
If we're not attached to an avatar then this is UUID.Zero
Definition at line 256 of file SceneObjectGroup.cs.
|
getset |
Attachment point of this scene object to an avatar.
0 if we're not attached to anything
Definition at line 265 of file SceneObjectGroup.cs.
|
get |
Definition at line 367 of file SceneObjectGroup.cs.
|
getset |
Is this entity set to be saved in persistent storage?
Definition at line 355 of file SceneObjectGroup.cs.
|
getset |
If true then grabs are blocked no matter what the individual part BlockGrab setting.
true
if block grab override; otherwise, false
.
Definition at line 1057 of file SceneObjectGroup.cs.
|
getprotected |
If set to true then the scene object can be backed up in principle, though this will only actually occur if Backup is set. If false then the scene object will never be backed up, Backup will always be false.
Definition at line 912 of file SceneObjectGroup.cs.
|
getset |
Definition at line 889 of file SceneObjectGroup.cs.
|
getset |
Definition at line 883 of file SceneObjectGroup.cs.
|
getset |
Definition at line 396 of file SceneObjectGroup.cs.
|
getset |
The folder ID that this object was rezzed from, if applicable.
If not applicable will be UUID.Zero
Definition at line 1051 of file SceneObjectGroup.cs.
|
getset |
The item ID that this object was rezzed from, if applicable.
If not applicable will be UUID.Zero
Definition at line 1035 of file SceneObjectGroup.cs.
|
getset |
Refers to the SceneObjectPart.UUID property of the object that this object was rezzed from, if applicable.
If not applicable will be UUID.Zero
Definition at line 1043 of file SceneObjectGroup.cs.
|
getset |
Whether the group contains prims that came from a different group. This happens when linking or delinking groups. The implication is that until the group is persisted, the prims in the database still use the old SceneGroupID. That's a problem if the group is deleted, because we delete groups by searching for prims by their SceneGroupID.
Definition at line 207 of file SceneObjectGroup.cs.
|
getset |
Definition at line 466 of file SceneObjectGroup.cs.
|
get |
Definition at line 429 of file SceneObjectGroup.cs.
|
get |
Definition at line 434 of file SceneObjectGroup.cs.
|
getset |
This indicates whether the object has changed such that it needs to be repersisted to permenant storage (the database).
Ultimately, this should be managed such that region modules can change it at the end of a set of operations so that either all changes are preserved or none at all. However, currently, a large amount of internal code will set this anyway when some object properties are changed.
Definition at line 145 of file SceneObjectGroup.cs.
|
getset |
Definition at line 218 of file SceneObjectGroup.cs.
|
get |
If this scene object has an attachment point then indicate whether there is a point where attachments are perceivable by avatars other than the avatar to which this object is attached.
HUDs are not perceivable by other avatars.
Definition at line 286 of file SceneObjectGroup.cs.
|
getset |
Is this scene object acting as an attachment?
Definition at line 248 of file SceneObjectGroup.cs.
|
get |
Is this scene object phantom?
Updating must currently take place through UpdatePrimFlags()
Definition at line 317 of file SceneObjectGroup.cs.
|
getset |
Definition at line 917 of file SceneObjectGroup.cs.
|
get |
Is this scene object temporary?
Updating must currently take place through UpdatePrimFlags()
Definition at line 340 of file SceneObjectGroup.cs.
|
get |
Definition at line 345 of file SceneObjectGroup.cs.
|
getset |
Definition at line 871 of file SceneObjectGroup.cs.
|
getset |
Definition at line 851 of file SceneObjectGroup.cs.
|
getset |
Definition at line 1001 of file SceneObjectGroup.cs.
|
getset |
Definition at line 1009 of file SceneObjectGroup.cs.
|
getset |
The name of an object grouping is always the same as its root part
Definition at line 390 of file SceneObjectGroup.cs.
|
getset |
Definition at line 877 of file SceneObjectGroup.cs.
|
get |
Definition at line 472 of file SceneObjectGroup.cs.
|
getset |
Definition at line 986 of file SceneObjectGroup.cs.
|
getset |
Definition at line 993 of file SceneObjectGroup.cs.
|
get |
Number of prims in this group
Definition at line 414 of file SceneObjectGroup.cs.
|
getset |
Definition at line 508 of file SceneObjectGroup.cs.
|
get |
The UUID for the region this object is in.
Definition at line 1018 of file SceneObjectGroup.cs.
|
get |
The root part of this scene object
Definition at line 503 of file SceneObjectGroup.cs.
|
get |
Definition at line 372 of file SceneObjectGroup.cs.
|
getset |
Definition at line 895 of file SceneObjectGroup.cs.
|
get |
Does this scene object use physics?
Updating must currently take place through UpdatePrimFlags()
Definition at line 328 of file SceneObjectGroup.cs.
|
getset |
Definition at line 857 of file SceneObjectGroup.cs.
|
getset |
Definition at line 845 of file SceneObjectGroup.cs.