OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Properties | List of all members
OpenSim.Region.Framework.Scenes.SceneObjectGroup Class Reference

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

Inheritance diagram for OpenSim.Region.Framework.Scenes.SceneObjectGroup:
Inheritance graph
[legend]
Collaboration diagram for OpenSim.Region.Framework.Scenes.SceneObjectGroup:
Collaboration graph
[legend]

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< ScenePresenceGetSittingAvatars ()
 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< SceneObjectPartPlaySoundSlavePrims [get, set]
 
SceneObjectPart LoopSoundMasterPrim [get, set]
 
List< SceneObjectPartLoopSoundSlavePrims [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]
 

Detailed Description

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.

Member Enumeration Documentation

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.

Constructor & Destructor Documentation

OpenSim.Region.Framework.Scenes.SceneObjectGroup.SceneObjectGroup ( )
inline

Constructor

Definition at line 1084 of file SceneObjectGroup.cs.

OpenSim.Region.Framework.Scenes.SceneObjectGroup.SceneObjectGroup ( SceneObjectPart  part)
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.

Parameters
partRoot part for this scene object.

Definition at line 1095 of file SceneObjectGroup.cs.

OpenSim.Region.Framework.Scenes.SceneObjectGroup.SceneObjectGroup ( UUID  ownerID,
Vector3  pos,
Quaternion  rot,
PrimitiveBaseShape  shape 
)
inline

Constructor. This object is added to the scene later via AttachToScene()

Definition at line 1103 of file SceneObjectGroup.cs.

OpenSim.Region.Framework.Scenes.SceneObjectGroup.SceneObjectGroup ( UUID  ownerID,
Vector3  pos,
PrimitiveBaseShape  shape 
)
inline

Constructor.

Definition at line 1111 of file SceneObjectGroup.cs.

Member Function Documentation

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AddActiveScriptCount ( int  count)
inline

Definition at line 2026 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.AddInventoryItem ( UUID  agentID,
uint  localID,
InventoryItemBase  item,
UUID  copyItemID 
)
inline

Add an inventory item from a user's inventory to a prim in this scene object.

Parameters
agentIDThe agent adding the item.
localIDThe local ID of the part receiving the add.
itemThe user inventory item being added.
copyItemIDThe item UUID that should be used by the new item.
Returns

Definition at line 114 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AddPart ( SceneObjectPart  part)
inline

Add a new part to this scene object. The part must already be correctly configured.

Parameters
part

Definition at line 1861 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AddScriptLPS ( int  count)
inline

Definition at line 2021 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AdjustChildPrimPermissions ( bool  forceTaskInventoryPermissive)
inline

Definition at line 3716 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.aggregateScriptEvents ( )
inline

Definition at line 2032 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ApplyAngularImpulse ( Vector3  impulse)
inline

Definition at line 2467 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.applyImpulse ( Vector3  impulse)
inline

Definition at line 2444 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ApplyNextOwnerPermissions ( )
inline

Definition at line 299 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ApplyPhysics ( )
inline

Apply physics to this group

Definition at line 2086 of file SceneObjectGroup.cs.

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AttachToBackup ( )
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.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.AttachToScene ( Scene  scene)
inline

Attach this object to a scene. It will also now appear to agents.

Parameters
scene

Definition at line 1199 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.checkAtTargets ( )
inline

Definition at line 4431 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.Clear ( )
inline

Definition at line 4842 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ClearPartAttachmentData ( )
inline

Definition at line 294 of file SceneObjectGroup.cs.

virtual ISceneObject OpenSim.Region.Framework.Scenes.SceneObjectGroup.CloneForNewScene ( )
inlinevirtual

Implements OpenSim.Framework.ISceneObject.

Definition at line 4804 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.ContainsPart ( UUID  partID)
inline

Definition at line 476 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.ContainsPart ( uint  localID)
inline

Does this group contain the given part? should be able to remove these methods once we have a entity index in scene

Parameters
localID
Returns

Definition at line 487 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.ContainsScripts ( )
inline

Returns true if any part in the scene object contains scripts, false otherwise.

Returns

Definition at line 428 of file SceneObjectGroup.Inventory.cs.

Here is the call graph for this function:

SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.Copy ( bool  userExposed)
inline

Duplicates this object, including operations such as physics set up and attaching to the backup event.

Parameters
userExposedTrue if the duplicate will immediately be in the scene, false otherwise
Returns

Definition at line 2297 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.CopyPart ( SceneObjectPart  part,
UUID  cAgentID,
UUID  cGroupID,
bool  userExposed 
)
inline

Make a copy of the given part.

Parameters
part
cAgentID
cGroupID

Definition at line 2646 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.CopyRootPart ( SceneObjectPart  part,
UUID  cAgentID,
UUID  cGroupID,
bool  userExposed 
)
inline

Copy the given part as the root part of this scene object.

Parameters
part
cAgentID
cGroupID

Definition at line 2394 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.CreateScriptInstances ( int  startParam,
bool  postOnRez,
string  engine,
int  stateSource 
)
inline

Start the scripts contained in all the prims in this group.

Parameters
startParam
postOnRez
engine
stateSource
Returns
Number of scripts that were valid for starting. This does not guarantee that all these scripts were actually started, but just that the start could be attempt (e.g. the asset data for the script could be found)

Definition at line 66 of file SceneObjectGroup.Inventory.cs.

SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.CrossAsync ( SceneObjectGroup  sog,
Vector3  val 
)
inline

Definition at line 622 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.CrossAsyncCompleted ( IAsyncResult  iar)
inline

Definition at line 777 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.DeleteGroupFromScene ( bool  silent)
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.

Parameters
silentIf true then deletion is not broadcast to clients

Definition at line 1986 of file SceneObjectGroup.cs.

SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.DelinkFromGroup ( uint  partID)
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.

Parameters
partID
Returns
The object group of the newly delinked prim. Null if part could not be found

Definition at line 3153 of file SceneObjectGroup.cs.

SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.DelinkFromGroup ( uint  partID,
bool  sendEvents 
)
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.

Parameters
partID
sendEvents
Returns
The object group of the newly delinked prim. Null if part could not be found

Definition at line 3170 of file SceneObjectGroup.cs.

SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.DelinkFromGroup ( SceneObjectPart  linkPart,
bool  sendEvents 
)
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.

Parameters
partID
sendEvents
Returns
The object group of the newly delinked prim.

Definition at line 3200 of file SceneObjectGroup.cs.

Here is the call graph for this function:

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.DetachFromBackup ( )
inlinevirtual

Stop this object from being persisted over server restarts.

Parameters
objectGroup

Definition at line 3296 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.DetachToGround ( )
inline

Definition at line 1761 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.DetachToInventoryPrep ( )
inline

Definition at line 1799 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.doChangeObject ( SceneObjectPart  part,
ObjectChangeData  data 
)
inline

Definition at line 4203 of file SceneObjectGroup.cs.

Here is the call graph for this function:

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ExtraFromXmlString ( string  xmlstr)
inlinevirtual

Implements OpenSim.Framework.ISceneObject.

Definition at line 4821 of file SceneObjectGroup.cs.

virtual string OpenSim.Region.Framework.Scenes.SceneObjectGroup.ExtraToXmlString ( )
inlinevirtual

Implements OpenSim.Framework.ISceneObject.

Definition at line 4816 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ForceInventoryPersistence ( )
inline

Force all task inventories of prims in the scene object to persist

Definition at line 48 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ForEachPart ( Action< SceneObjectPart whatToDo)
inline

Definition at line 2127 of file SceneObjectGroup.cs.

byte OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetAttachmentPoint ( )
inline

Definition at line 1756 of file SceneObjectGroup.cs.

Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetAxisAlignedBoundingBox ( out float  offsetHeight)
inline

Definition at line 1538 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetAxisAlignedBoundingBoxRaw ( out float  minX,
out float  maxX,
out float  minY,
out float  maxY,
out float  minZ,
out float  maxZ 
)
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

Returns

Definition at line 1294 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetAxisRotation ( int  axis)
inline

Definition at line 4362 of file SceneObjectGroup.cs.

Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetCenterOfMass ( )
inline

Definition at line 4622 of file SceneObjectGroup.cs.

uint OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetEffectivePermissions ( )
inline

Definition at line 251 of file SceneObjectGroup.Inventory.cs.

Here is the caller graph for this function:

uint OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetEffectivePermissions ( bool  useBase)
inline

Definition at line 256 of file SceneObjectGroup.Inventory.cs.

Here is the call graph for this function:

Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetGeometricCenter ( )
inline

Definition at line 4571 of file SceneObjectGroup.cs.

TaskInventoryItem OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetInventoryItem ( uint  primID,
UUID  itemID 
)
inline

Returns an existing inventory item. Returns the original, so any changes will be live.

Parameters
primID
itemID
Returns
null if the item does not exist

Definition at line 194 of file SceneObjectGroup.Inventory.cs.

Here is the caller graph for this function:

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetLinkNumPart ( int  linknum)
inline

Get the child part by LinkNum

Parameters
linknum
Returns
null if no child part with that linknum or child part

Definition at line 2880 of file SceneObjectGroup.cs.

float OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetMass ( )
inline

Definition at line 4611 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPart ( UUID  primID)
inline

Get a part with a given UUID

Parameters
primID
Returns
null if a part with the primID was not found

Definition at line 2897 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPart ( uint  localID)
inline

Get a part with a given local ID

Parameters
localID
Returns
null if a part with the local ID was not found

Definition at line 2909 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPartCount ( )
inline

Gets the number of parts

Returns

Definition at line 3697 of file SceneObjectGroup.cs.

string OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPartDescription ( uint  localID)
inline

Definition at line 3588 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

string OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPartName ( uint  localID)
inline

Definition at line 3578 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetPartsFullID ( uint  localID)
inline

Definition at line 1939 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetResourcesCosts ( SceneObjectPart  apart,
out float  linksetResCost,
out float  linksetPhysCost,
out float  partCost,
out float  partPhysCost 
)
inline

Definition at line 1569 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetSceneMaxUndo ( )
inline

Definition at line 1894 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetSelectedCosts ( out float  PhysCost,
out float  StreamCost,
out float  SimulCost 
)
inline

Definition at line 1639 of file SceneObjectGroup.cs.

List<ScenePresence> OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetSittingAvatars ( )
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.

Returns
A list of the sitting avatars. Returns an empty list if there are no sitting avatars.

Definition at line 4780 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetSittingAvatarsCount ( )
inline

Gets the number of sitting avatars.

This applies to all sitting avatars whether there is a sit target set or not.

Returns

Definition at line 4791 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

string OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetStateSnapshot ( )
inline

Implements OpenSim.Framework.ISceneObject.

Definition at line 308 of file SceneObjectGroup.Inventory.cs.

ushort OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetTimeDilation ( )
inline

Definition at line 1834 of file SceneObjectGroup.cs.

Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.GetTorque ( )
inline

Definition at line 2482 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.GrabMovement ( UUID  partID,
Vector3  offset,
Vector3  pos,
IClientAPI  remoteClient 
)
inline

If object is physical, apply force to move it around If object is not physical, just put it at the resulting location

Parameters
partIDPart ID to check for grab
offsetAlways seems to be 0,0,0, so ignoring
posNew position. We do the math here to turn it into a force
remoteClient

Definition at line 3370 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.GroupResize ( Vector3  scale)
inline

Resize the entire group of prims.

Parameters
scale

Definition at line 3802 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsAttachmentCheckFull ( )
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.

Returns

Definition at line 530 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.LinkToGroup ( SceneObjectGroup  objectGroup)
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.

Parameters
objectGroupThe group of prims which should be linked to this group

Definition at line 2933 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.LinkToGroup ( SceneObjectGroup  objectGroup,
bool  insert 
)
inline

Definition at line 2940 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.LoadScriptState ( XmlDocument  doc)
inline

Definition at line 1116 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.LoadScriptState ( XmlReader  reader)
inline

Definition at line 1135 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.MoveToTarget ( Vector3  target,
float  tau 
)
inline

Definition at line 2488 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.NonPhysicalGrabMovement ( Vector3  pos)
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.

Parameters
posNew Position

Definition at line 3417 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ObjectGrabHandler ( uint  localId,
Vector3  offsetPos,
IClientAPI  remoteClient 
)
inline

Definition at line 1949 of file SceneObjectGroup.cs.

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.OnGrabGroup ( Vector3  offsetPos,
IClientAPI  remoteClient 
)
inlinevirtual

Definition at line 1972 of file SceneObjectGroup.cs.

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.OnGrabPart ( SceneObjectPart  part,
Vector3  offsetPos,
IClientAPI  remoteClient 
)
inlinevirtual

Definition at line 1962 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.PartSelectChanged ( bool  partSelect)
inline

Definition at line 950 of file SceneObjectGroup.cs.

virtual void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ProcessBackup ( ISimulationDataService  datastore,
bool  forcedBackup 
)
inlinevirtual

Processes backup.

Parameters
datastore

Definition at line 2140 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.QueueForUpdateCheck ( )
inline

Definition at line 2833 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.RegenerateFullIDs ( )
inline

Definition at line 1886 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.registerRotTargetWaypoint ( Quaternion  target,
float  tolerance 
)
inline

Definition at line 4377 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.registerTargetWaypoint ( Vector3  target,
float  tolerance 
)
inline

Definition at line 4404 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.RemoveInventoryItem ( uint  localID,
UUID  itemID 
)
inline

Definition at line 238 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.RemoveScriptInstances ( bool  sceneObjectBeingDeleted)
inline

Stop and remove the scripts contained in all the prims in this group

Definition at line 91 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ResetChildPrimPhysicsPositions ( )
inline

Definition at line 1917 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ResetIDs ( )
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.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ResetOwnerChangeFlag ( )
inline

Definition at line 4833 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ResumeScripts ( )
inline

Definition at line 414 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.RotLookAt ( Quaternion  target,
float  strength,
float  damping 
)
inline

Definition at line 2532 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.RunningScriptCount ( )
inline

Returns a count of the number of running scripts in this groups parts.

Definition at line 4762 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SaveScriptedState ( XmlTextWriter  writer)
inline

Definition at line 1665 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SaveScriptedState ( XmlTextWriter  writer,
bool  oldIDs 
)
inline

Definition at line 1670 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScheduleGroupForFullUpdate ( )
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.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScheduleGroupForTerseUpdate ( )
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.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptCount ( )
inline

Returns a count of the number of scripts in this groups parts.

Definition at line 4710 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

float OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptExecutionTime ( )
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.

Here is the caller graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptSetPhantomStatus ( bool  makePhantom)
inline

Definition at line 2421 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptSetPhysicsStatus ( bool  usePhysics)
inline

Definition at line 2405 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptSetTemporaryStatus ( bool  makeTemporary)
inline

Definition at line 2416 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ScriptSetVolumeDetect ( bool  makeVolumeDetect)
inline

Definition at line 2426 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SendFullUpdateToClient ( IClientAPI  remoteClient)
inline

Send the parts of this SOG to a single client

Used when the client initially connects and when client sends RequestPrim packet

Parameters
remoteClient

Definition at line 2277 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SendGroupFullUpdate ( )
inline

Immediately send a full update for this scene object.

Definition at line 2791 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SendGroupRootTerseUpdate ( )
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.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SendGroupTerseUpdate ( )
inline

Immediately send a terse update for this scene object.

Definition at line 2844 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SendPropertiesToClient ( IClientAPI  client)
inline

Send metadata about the root prim (name, description, sale price, permissions, etc.) to a client.

Parameters
client

Definition at line 2868 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.ServiceObjectPropertiesFamilyRequest ( IClientAPI  remoteClient,
UUID  AgentID,
uint  RequestFlags 
)
inline

Parameters
part

Definition at line 2683 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetGroup ( UUID  GroupID,
IClientAPI  client 
)
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.

Parameters
GroupID
client

Definition at line 4683 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetHoverHeight ( float  height,
PIDHoverType  hoverType,
float  tau 
)
inline

Uses a PID to attempt to clamp the object on the Z axis at the given height over tau seconds.

Parameters
heightHeight to hover. Height of zero disables hover.
hoverTypeDetermines what the height is relative to
tauNumber of seconds over which to reach target

Definition at line 2590 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetOwnerId ( UUID  userId)
inline

Definition at line 2117 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetPartDescription ( string  des,
uint  localID 
)
inline

Definition at line 3551 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetPartName ( string  name,
uint  localID 
)
inline

Set the name of a prim

Parameters
name
localID

Definition at line 3542 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetPartOwner ( SceneObjectPart  part,
UUID  cAgentID,
UUID  cGroupID 
)
inline

Definition at line 2693 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetPartText ( string  text,
uint  localID 
)
inline

Definition at line 3560 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetPartText ( string  text,
UUID  partID 
)
inline

Definition at line 3569 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetRootPart ( SceneObjectPart  part)
inline

Set a part to act as the root part for this scene object

Parameters
part

Definition at line 1843 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetRootPartOwner ( SceneObjectPart  part,
UUID  cAgentID,
UUID  cGroupID 
)
inline

Set the owner of the root part.

Parameters
part
cAgentID
cGroupID

Definition at line 2624 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetState ( string  objXMLData,
IScene  ins 
)
inline

Implements OpenSim.Framework.ISceneObject.

Definition at line 354 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SetText ( string  text,
Vector3  color,
double  alpha 
)
inline

Definition at line 2071 of file SceneObjectGroup.cs.

delegate SceneObjectGroup OpenSim.Region.Framework.Scenes.SceneObjectGroup.SOGCrossDelegate ( SceneObjectGroup  sog,
Vector3  pos 
)
void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SpinMovement ( Quaternion  newOrientation,
IClientAPI  remoteClient 
)
inline

If object is physical, apply torque to spin it around

Parameters
rotationRotation. We do the math here to turn it into a torque
remoteClient

Definition at line 3449 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.SpinStart ( IClientAPI  remoteClient)
inline

If object is physical, prepare for spinning torques (set flag to save old orientation)

Parameters
rotationRotation. We do the math here to turn it into a torque
remoteClient

Definition at line 3428 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.StartLookAt ( Quaternion  target,
float  strength,
float  damping 
)
inline

Definition at line 2558 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.StopLookAt ( )
inline

Definition at line 2571 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.StopMoveToTarget ( )
inline

Definition at line 2510 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.StopScriptInstances ( )
inline

Stop the scripts contained in all the prims in this group

Definition at line 101 of file SceneObjectGroup.Inventory.cs.

EntityIntersection OpenSim.Region.Framework.Scenes.SceneObjectGroup.TestIntersection ( Ray  hRay,
bool  frontFacesOnly,
bool  faceCenters 
)
inline

Definition at line 1242 of file SceneObjectGroup.cs.

override string OpenSim.Region.Framework.Scenes.SceneObjectGroup.ToString ( )
inline

Definition at line 4797 of file SceneObjectGroup.cs.

virtual string OpenSim.Region.Framework.Scenes.SceneObjectGroup.ToXml2 ( )
inlinevirtual

Implements OpenSim.Framework.ISceneObject.

Definition at line 4811 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.TriggerScriptChangedEvent ( Changed  val)
inline

Definition at line 4700 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.unregisterRotTargetWaypoint ( int  handle)
inline

Definition at line 4394 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.unregisterTargetWaypoint ( int  handle)
inline

Definition at line 4421 of file SceneObjectGroup.cs.

override void OpenSim.Region.Framework.Scenes.SceneObjectGroup.Update ( )
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.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateExtraParam ( uint  localID,
ushort  type,
bool  inUse,
byte[]  data 
)
inline

Definition at line 3682 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateGroupPosition ( Vector3  pos)
inline

Move this scene object

Parameters
pos

Definition at line 3937 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateGroupRotationPR ( Vector3  pos,
Quaternion  rot 
)
inline

Update the position and rotation of a group simultaneously.

Parameters
pos
rot

Definition at line 4070 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateGroupRotationR ( Quaternion  rot)
inline

Update the rotation of the group.

Parameters
rot

Definition at line 4049 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateInventoryItem ( TaskInventoryItem  item)
inline

Update an existing inventory item.

Parameters
itemThe updated item. An item with the same id must already exist in this prim's inventory
Returns
false if the item did not exist, true if the update occurred succesfully

Definition at line 218 of file SceneObjectGroup.Inventory.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdatePermissions ( UUID  AgentID,
byte  field,
uint  localID,
uint  mask,
byte  addRemTF 
)
inline

Definition at line 3741 of file SceneObjectGroup.cs.

Here is the call graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdatePrimFlags ( uint  localID,
bool  UsePhysics,
bool  SetTemporary,
bool  SetPhantom,
bool  SetVolumeDetect 
)
inline

Update prim flags for this group.

Parameters
localID
UsePhysics
SetTemporary
SetPhantom
SetVolumeDetect

Definition at line 3606 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateRootPosition ( Vector3  newPos)
inline

Update just the root prim position in a linkset

Parameters
newPos

Definition at line 4003 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateRootRotation ( Quaternion  rot)
inline

Update the rotation of just the root prim of a linkset.

Parameters
rot

Definition at line 4155 of file SceneObjectGroup.cs.

Here is the caller graph for this function:

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateShape ( ObjectShapePacket.ObjectDataBlock  shapeBlock,
uint  localID 
)
inline

Parameters
shapeBlock

Definition at line 3780 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateSinglePosition ( Vector3  pos,
uint  localID 
)
inline

Update the position of a single part of this scene object

Parameters
pos
localID

Definition at line 3973 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateSingleRotation ( Quaternion  rot,
uint  localID 
)
inline

Update the rotation of a single prim within the group.

Parameters
rot
localID

Definition at line 4097 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateSingleRotation ( Quaternion  rot,
Vector3  pos,
uint  localID 
)
inline

Update the position and rotation simultaneously of a single prim within the group.

Parameters
rot
localID

Definition at line 4127 of file SceneObjectGroup.cs.

void OpenSim.Region.Framework.Scenes.SceneObjectGroup.UpdateTextureEntry ( uint  localID,
byte[]  textureEntry 
)
inline

Update the texture entry for this part

Parameters
localID
textureEntry

Definition at line 3707 of file SceneObjectGroup.cs.

Member Data Documentation

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.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.m_isSelected = false
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.

MapAndArray<UUID, SceneObjectPart> OpenSim.Region.Framework.Scenes.SceneObjectGroup.m_parts = new MapAndArray<UUID, SceneObjectPart>()
protected

Definition at line 357 of file SceneObjectGroup.cs.

ulong OpenSim.Region.Framework.Scenes.SceneObjectGroup.m_regionHandle
protected

Definition at line 359 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.m_rootPart
protected

Definition at line 360 of file SceneObjectGroup.cs.

readonly uint OpenSim.Region.Framework.Scenes.SceneObjectGroup.SLAM = 16
static

Definition at line 120 of file SceneObjectGroup.cs.

Property Documentation

override Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.AbsolutePosition
getset

The absolute position of this scene object in the scene

Definition at line 550 of file SceneObjectGroup.cs.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.AttachedAvatar
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.

uint OpenSim.Region.Framework.Scenes.SceneObjectGroup.AttachmentPoint
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.

SortedDictionary<uint, scriptPosTarget> OpenSim.Region.Framework.Scenes.SceneObjectGroup.AtTargets
get

Definition at line 367 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.Backup
getset

Is this entity set to be saved in persistent storage?

Definition at line 355 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.BlockGrabOverride
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.

virtual bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.CanBeBackedUp
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.

Color OpenSim.Region.Framework.Scenes.SceneObjectGroup.Color
getset

Definition at line 889 of file SceneObjectGroup.cs.

float OpenSim.Region.Framework.Scenes.SceneObjectGroup.Damage
getset

Definition at line 883 of file SceneObjectGroup.cs.

string OpenSim.Region.Framework.Scenes.SceneObjectGroup.Description
getset

Definition at line 396 of file SceneObjectGroup.cs.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.FromFolderID
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.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.FromItemID
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.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.FromPartID
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.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.GroupContainsForeignPrims
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.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.GroupID
getset

Definition at line 466 of file SceneObjectGroup.cs.

Quaternion OpenSim.Region.Framework.Scenes.SceneObjectGroup.GroupRotation
get

Definition at line 429 of file SceneObjectGroup.cs.

Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.GroupScale
get

Definition at line 434 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.HasGroupChanged
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.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.HasGroupChangedDueToDelink
getset

Definition at line 218 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.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.

HUDs are not perceivable by other avatars.

Definition at line 286 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsAttachment
getset

Is this scene object acting as an attachment?

Definition at line 248 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsPhantom
get

Is this scene object phantom?

Updating must currently take place through UpdatePrimFlags()

Definition at line 317 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsSelected
getset

Definition at line 917 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsTemporary
get

Is this scene object temporary?

Updating must currently take place through UpdatePrimFlags()

Definition at line 340 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.IsVolumeDetect
get

Definition at line 345 of file SceneObjectGroup.cs.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.LastOwnerID
getset

Definition at line 871 of file SceneObjectGroup.cs.

override uint OpenSim.Region.Framework.Scenes.SceneObjectGroup.LocalId
getset

Definition at line 851 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.LoopSoundMasterPrim
getset

Definition at line 1001 of file SceneObjectGroup.cs.

List<SceneObjectPart> OpenSim.Region.Framework.Scenes.SceneObjectGroup.LoopSoundSlavePrims
getset

Definition at line 1009 of file SceneObjectGroup.cs.

override string OpenSim.Region.Framework.Scenes.SceneObjectGroup.Name
getset

The name of an object grouping is always the same as its root part

Definition at line 390 of file SceneObjectGroup.cs.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.OwnerID
getset

Definition at line 877 of file SceneObjectGroup.cs.

SceneObjectPart [] OpenSim.Region.Framework.Scenes.SceneObjectGroup.Parts
get

Definition at line 472 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.PlaySoundMasterPrim
getset

Definition at line 986 of file SceneObjectGroup.cs.

List<SceneObjectPart> OpenSim.Region.Framework.Scenes.SceneObjectGroup.PlaySoundSlavePrims
getset

Definition at line 993 of file SceneObjectGroup.cs.

int OpenSim.Region.Framework.Scenes.SceneObjectGroup.PrimCount
get

Number of prims in this group

Definition at line 414 of file SceneObjectGroup.cs.

ulong OpenSim.Region.Framework.Scenes.SceneObjectGroup.RegionHandle
getset

Definition at line 508 of file SceneObjectGroup.cs.

UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.RegionUUID
get

The UUID for the region this object is in.

Definition at line 1018 of file SceneObjectGroup.cs.

SceneObjectPart OpenSim.Region.Framework.Scenes.SceneObjectGroup.RootPart
get

The root part of this scene object

Definition at line 503 of file SceneObjectGroup.cs.

SortedDictionary<uint, scriptRotTarget> OpenSim.Region.Framework.Scenes.SceneObjectGroup.RotTargets
get

Definition at line 372 of file SceneObjectGroup.cs.

string OpenSim.Region.Framework.Scenes.SceneObjectGroup.Text
getset

Definition at line 895 of file SceneObjectGroup.cs.

bool OpenSim.Region.Framework.Scenes.SceneObjectGroup.UsesPhysics
get

Does this scene object use physics?

Updating must currently take place through UpdatePrimFlags()

Definition at line 328 of file SceneObjectGroup.cs.

override UUID OpenSim.Region.Framework.Scenes.SceneObjectGroup.UUID
getset

Definition at line 857 of file SceneObjectGroup.cs.

override Vector3 OpenSim.Region.Framework.Scenes.SceneObjectGroup.Velocity
getset

Definition at line 845 of file SceneObjectGroup.cs.


The documentation for this class was generated from the following files: