C# Class Universe.Region.SceneGraph

This class used to be called InnerScene and may not yet truly be a SceneGraph. The non scene graph components should be migrated out over time.
Inheritance: ISceneGraph
ファイルを表示 Open project: Virtual-Universe/Virtual-Universe Class Usage Examples

Protected Properties

Property Type Description
EnableFakeRaycasting bool
Entities Universe.Framework.SceneInfo.Entities.EntityManager
_PhyScene PhysicsScene
m_DefaultObjectName string
m_entityCreators IEntityCreator>.Dictionary
m_lastAllocatedLocalId uint
m_parentScene IScene
m_regInfo RegionInfo
m_syncRoot object

Public Methods

Method Description
AddNewPrim ( UUID ownerID, UUID groupID, System.Vector3 pos, Quaternion rot, PrimitiveBaseShape shape ) : ISceneEntity

Create a New SceneObjectGroup/Part by raycasting

AddNewPrim ( UUID ownerID, UUID groupID, System.Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, System.Vector3 RayStart, UUID RayTargetID, byte RayEndIsIntersection ) : void
AddPrimToScene ( ISceneEntity entity ) : bool

Add the Entity to the Scene and back it up

AllocateLocalId ( ) : uint

Returns a new unallocated local ID

CheckAllocationOfLocalIds ( ISceneEntity group ) : void

Check all the localIDs in this group to make sure that they have not been used previously

DeLinkPartFromEntity ( ISceneEntity entity, ISceneChildEntity part ) : bool

Delinks the object from the group in the EntityManager

DeleteEntity ( IEntity entity ) : bool

Destroy the entity and remove it from the scene

DelinkObjects ( List primIds, IClientAPI client ) : void
DelinkPartToScene ( ISceneEntity entity ) : void

Move this group from inside of another group into the Scene as a full member This does not reset IDs so that it is updated correctly in the client

DuplicateEntity ( ISceneEntity entity ) : ISceneEntity

Duplicate the entity and add it to the Scene

DuplicateObject ( uint LocalID, System.Vector3 offset, uint flags, UUID AgentID, UUID GroupID, Quaternion rot ) : bool

Duplicate the given entity and add it to the world

ForEachScenePresence ( Action action ) : void

Performs action on all scene presences. This can ultimately run the actions in parallel but any delegates passed in will need to implement their own locking on data they reference and modify outside of the scope of the delegate.

GetCoarseLocations ( List &coarseLocations, List &avatarUUIDs, uint maxLocations ) : bool
GetIntersectingPrims ( Ray hray, float length, int count, bool frontFacesOnly, bool faceCenters, bool getAvatars, bool getLand, bool getPrims ) : List

Gets a list of scene object group that intersect with the given ray

GetNewRezLocation ( System.Vector3 RayStart, System.Vector3 RayEnd, UUID RayTargetID, Quaternion rot, byte bypassRayCast, byte RayEndIsIntersection, bool frontFacesOnly, System.Vector3 scale, bool FaceCenter ) : System.Vector3

Gets a new rez location based on the raycast and the size of the object that is being rezzed.

GetScenePresence ( string name ) : IScenePresence

Request the scene presence by name.

GetScenePresence ( uint localID ) : IScenePresence

Request the scene presence by localID.

GetScenePresences ( ) : List

Get a reference to the scene presence list. Changes to the list will be done in a copy There is no guarantee that presences will remain in the scene after the list is returned. This list should remain private to SceneGraph. Callers wishing to iterate should instead pass a delegate to ForEachScenePresence.

HandleObjectPermissionsUpdate ( IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set ) : void
LinkObjects ( IClientAPI client, uint parentPrimId, List childPrimIds ) : void
LinkPartToEntity ( ISceneEntity entity, ISceneChildEntity part ) : bool

Add the new part to the group in the EntityManager

LinkPartToSOG ( ISceneEntity grp, ISceneChildEntity part, int linkNum ) : bool
LinkSetSorter ( ISceneChildEntity a, ISceneChildEntity b ) : int

Sorts a list of Parts by Link Number so they end up in the correct order

PrepPrimForAdditionToScene ( ISceneEntity entity ) : void

Get this prim ready to add to the scene

ProcessObjectDeGrab ( uint localID, IClientAPI remoteClient, List surfaceArgs ) : void
ProcessObjectGrab ( uint localID, Vector3 offsetPos, IClientAPI remoteClient, List surfaceArgs ) : void
ProcessObjectGrabUpdate ( UUID objectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List surfaceArgs ) : void
RegisterEntityCreatorModule ( IEntityCreator entityCreator ) : void
RestorePrimToScene ( ISceneEntity entity, bool force ) : bool

Add the Entity to the Scene and back it up, but do NOT reset its ID's

SubscribeToClientEvents ( IClientAPI client ) : void
TaintPresenceForUpdate ( IScenePresence presence, PresenceTaint taint ) : void
TryGetEntity ( UUID ID, IEntity &entity ) : bool

Try to get an EntityBase as given by its UUID

TryGetEntity ( uint LocalID, IEntity &entity ) : bool

Try to get an EntityBase as given by it's LocalID

TryGetPart ( UUID ID, ISceneChildEntity &entity ) : bool

Get a part (SceneObjectPart) from the EntityManager by UUID

TryGetPart ( uint LocalID, ISceneChildEntity &entity ) : bool

Get a part (SceneObjectPart) from the EntityManager by LocalID

UnSubscribeToClientEvents ( IClientAPI client ) : void
UnregisterEntityCreatorCommander ( IEntityCreator entityCreator ) : void

Unregister a module commander and all its commands

UpdateEntity ( ISceneEntity entity, UUID newID ) : void

THIS IS TO ONLY BE CALLED WHEN AN OBJECT UUID IS UPDATED!!! This method is HIGHLY unsafe and destroys the integrity of the checks above! This is NOT to be used lightly! Do NOT use this unless you have to!

doObjectDuplicateOnRay ( uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates ) : void

Duplicates object specified by localID at position raycasted against RayTargetObject using RayEnd and RayStart to determine what the angle of the ray is

Protected Methods

Method Description
AddScenePresence ( IScenePresence presence ) : void

Add a presence to the scene

Close ( ) : void
DelinkObjects ( List prims ) : void

Delink a linkset

ForEachSceneEntity ( Action action ) : void

Performs action on all scene object groups.

GetClosestIntersectingPrim ( Ray hray, bool frontFacesOnly, bool faceCenters ) : EntityIntersection

Get a scene object group that contains the prim with the given uuid

GetScenePresence ( UUID agentID ) : IScenePresence

Request a scene presence by UUID. Fast, indexed lookup.

HandleObjectGroupUpdate ( IClientAPI remoteClient, UUID GroupID, uint LocalID, UUID Garbage ) : void
HandleRedo ( IClientAPI remoteClient, UUID primId ) : void
HandleUndo ( IClientAPI remoteClient, UUID primId ) : void
LinkObjects ( ISceneChildEntity root, List children ) : void

Initial method invoked when we receive a link objects request from the client.

MakeObjectSearchable ( IClientAPI remoteClient, bool IncludeInSearch, uint LocalID ) : void

Make this object be added to search

MoveObject ( UUID ObjectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List surfaceArgs ) : void

Move the given object

ObjectOwner ( IClientAPI remoteClient, UUID ownerID, UUID groupID, List localIDs ) : void
PrimClickAction ( IClientAPI remoteClient, uint LocalID, string clickAction ) : void
PrimDescription ( IClientAPI remoteClient, uint LocalID, string description ) : void

PrimMaterial ( IClientAPI remoteClient, uint LocalID, string material ) : void
PrimName ( IClientAPI remoteClient, uint LocalID, string name ) : void

RemoveScenePresence ( IEntity agent ) : void

Remove a presence from the scene

RequestObjectPropertiesFamily ( IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID ObjectID ) : void

This handles the nifty little tool tip that you get when you drag your mouse over an object Send to the Object Group to process. We don't know enough to service the request

SceneGraph ( IScene parent, RegionInfo regInfo ) : System
SpinObject ( UUID ObjectID, Quaternion rotation, IClientAPI remoteClient ) : void

Spin the given object

SpinStart ( UUID ObjectID, IClientAPI remoteClient ) : void

Start spinning the given object

TryGetAvatarByName ( string name, IScenePresence &avatar ) : bool
TryGetScenePresence ( UUID agentID, IScenePresence &avatar ) : bool
UpdateEntities ( ) : void
UpdateExtraParam ( UUID agentID, uint LocalID, ushort type, bool inUse, byte data ) : void
UpdatePhysics ( float elapsed ) : void
UpdatePreparePhysics ( ) : void
UpdatePrimFlags ( uint LocalID, bool UsePhysics, bool IsTemporary, bool IsPhantom, ObjectFlagUpdatePacket blocks, IClientAPI remoteClient ) : void

A user has changed an object setting

UpdatePrimGroupScale ( uint LocalID, Vector3 scale, IClientAPI remoteClient ) : void
UpdatePrimPosition ( uint LocalID, Vector3 pos, IClientAPI remoteClient, bool SaveUpdate ) : void

Update the position of the given part

UpdatePrimRotation ( uint LocalID, Quaternion rot, IClientAPI remoteClient ) : void

UpdatePrimRotation ( uint LocalID, Vector3 pos, Quaternion rot, IClientAPI remoteClient ) : void

UpdatePrimScale ( uint LocalID, Vector3 scale, IClientAPI remoteClient ) : void

UpdatePrimShape ( UUID agentID, uint LocalID, UpdateShapeArgs shapeBlock ) : void

UpdatePrimSinglePosition ( uint LocalID, Vector3 pos, IClientAPI remoteClient, bool SaveUpdate ) : void

Update the position of the given part

UpdatePrimSingleRotation ( uint LocalID, Quaternion rot, IClientAPI remoteClient ) : void

UpdatePrimSingleRotationPosition ( uint LocalID, Quaternion rot, Vector3 pos, IClientAPI remoteClient ) : void

UpdatePrimTexture ( uint LocalID, byte texture, IClientAPI remoteClient ) : void

Update the texture entry of the given prim.

Private Methods

Method Description
AddEntity ( IEntity entity, bool AllowUpdate ) : bool

Add this entity to the EntityManager

CheckAllocationOfLocalId ( uint LocalID ) : void

Make sure that this localID has not been used earlier in the Scene Startup

RemoveEntity ( IEntity entity ) : bool

Remove this entity fully from the EntityManager

ResetEntityIDs ( ISceneEntity entity ) : void

Reset all of the UUID's, localID's, etc in this group (includes children)

Method Details

AddNewPrim() public method

Create a New SceneObjectGroup/Part by raycasting
public AddNewPrim ( UUID ownerID, UUID groupID, System.Vector3 pos, Quaternion rot, PrimitiveBaseShape shape ) : ISceneEntity
ownerID UUID
groupID UUID
pos System.Vector3
rot Quaternion
shape PrimitiveBaseShape
return ISceneEntity

AddNewPrim() public method

public AddNewPrim ( UUID ownerID, UUID groupID, System.Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, System.Vector3 RayStart, UUID RayTargetID, byte RayEndIsIntersection ) : void
ownerID UUID
groupID UUID
RayEnd System.Vector3
rot Quaternion
shape PrimitiveBaseShape
bypassRaycast byte
RayStart System.Vector3
RayTargetID UUID
RayEndIsIntersection byte
return void

AddPrimToScene() public method

Add the Entity to the Scene and back it up
public AddPrimToScene ( ISceneEntity entity ) : bool
entity ISceneEntity
return bool

AddScenePresence() protected method

Add a presence to the scene
protected AddScenePresence ( IScenePresence presence ) : void
presence IScenePresence
return void

AllocateLocalId() public method

Returns a new unallocated local ID
public AllocateLocalId ( ) : uint
return uint

CheckAllocationOfLocalIds() public method

Check all the localIDs in this group to make sure that they have not been used previously
public CheckAllocationOfLocalIds ( ISceneEntity group ) : void
group ISceneEntity
return void

Close() protected method

protected Close ( ) : void
return void

DeLinkPartFromEntity() public method

Delinks the object from the group in the EntityManager
public DeLinkPartFromEntity ( ISceneEntity entity, ISceneChildEntity part ) : bool
entity ISceneEntity
part ISceneChildEntity
return bool

DeleteEntity() public method

Destroy the entity and remove it from the scene
public DeleteEntity ( IEntity entity ) : bool
entity IEntity
return bool

DelinkObjects() protected method

Delink a linkset
protected DelinkObjects ( List prims ) : void
prims List
return void

DelinkObjects() public method

public DelinkObjects ( List primIds, IClientAPI client ) : void
primIds List
client IClientAPI
return void

DelinkPartToScene() public method

Move this group from inside of another group into the Scene as a full member This does not reset IDs so that it is updated correctly in the client
public DelinkPartToScene ( ISceneEntity entity ) : void
entity ISceneEntity
return void

DuplicateEntity() public method

Duplicate the entity and add it to the Scene
public DuplicateEntity ( ISceneEntity entity ) : ISceneEntity
entity ISceneEntity
return ISceneEntity

DuplicateObject() public method

Duplicate the given entity and add it to the world
public DuplicateObject ( uint LocalID, System.Vector3 offset, uint flags, UUID AgentID, UUID GroupID, Quaternion rot ) : bool
LocalID uint LocalID of the object to duplicate
offset System.Vector3 Duplicated objects position offset from the original entity
flags uint Flags to give the Duplicated object
AgentID UUID
GroupID UUID
rot Quaternion Rotation to have the duplicated entity set to
return bool

ForEachSceneEntity() protected method

Performs action on all scene object groups.
protected ForEachSceneEntity ( Action action ) : void
action Action
return void

ForEachScenePresence() public method

Performs action on all scene presences. This can ultimately run the actions in parallel but any delegates passed in will need to implement their own locking on data they reference and modify outside of the scope of the delegate.
public ForEachScenePresence ( Action action ) : void
action Action
return void

GetClosestIntersectingPrim() protected method

Get a scene object group that contains the prim with the given uuid
protected GetClosestIntersectingPrim ( Ray hray, bool frontFacesOnly, bool faceCenters ) : EntityIntersection
hray OpenMetaverse.Ray
frontFacesOnly bool
faceCenters bool
return Universe.Framework.SceneInfo.Entities.EntityIntersection

GetCoarseLocations() public method

public GetCoarseLocations ( List &coarseLocations, List &avatarUUIDs, uint maxLocations ) : bool
coarseLocations List
avatarUUIDs List
maxLocations uint
return bool

GetIntersectingPrims() public method

Gets a list of scene object group that intersect with the given ray
public GetIntersectingPrims ( Ray hray, float length, int count, bool frontFacesOnly, bool faceCenters, bool getAvatars, bool getLand, bool getPrims ) : List
hray OpenMetaverse.Ray
length float
count int
frontFacesOnly bool
faceCenters bool
getAvatars bool
getLand bool
getPrims bool
return List

GetNewRezLocation() public method

Gets a new rez location based on the raycast and the size of the object that is being rezzed.
public GetNewRezLocation ( System.Vector3 RayStart, System.Vector3 RayEnd, UUID RayTargetID, Quaternion rot, byte bypassRayCast, byte RayEndIsIntersection, bool frontFacesOnly, System.Vector3 scale, bool FaceCenter ) : System.Vector3
RayStart System.Vector3
RayEnd System.Vector3
RayTargetID UUID
rot Quaternion
bypassRayCast byte
RayEndIsIntersection byte
frontFacesOnly bool
scale System.Vector3
FaceCenter bool
return System.Vector3

GetScenePresence() protected method

Request a scene presence by UUID. Fast, indexed lookup.
protected GetScenePresence ( UUID agentID ) : IScenePresence
agentID UUID
return IScenePresence

GetScenePresence() public method

Request the scene presence by name.
public GetScenePresence ( string name ) : IScenePresence
name string
return IScenePresence

GetScenePresence() public method

Request the scene presence by localID.
public GetScenePresence ( uint localID ) : IScenePresence
localID uint
return IScenePresence

GetScenePresences() public method

Get a reference to the scene presence list. Changes to the list will be done in a copy There is no guarantee that presences will remain in the scene after the list is returned. This list should remain private to SceneGraph. Callers wishing to iterate should instead pass a delegate to ForEachScenePresence.
public GetScenePresences ( ) : List
return List

HandleObjectGroupUpdate() protected method

protected HandleObjectGroupUpdate ( IClientAPI remoteClient, UUID GroupID, uint LocalID, UUID Garbage ) : void
remoteClient IClientAPI
GroupID UUID
LocalID uint
Garbage UUID
return void

HandleObjectPermissionsUpdate() public method

public HandleObjectPermissionsUpdate ( IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set ) : void
controller IClientAPI
agentID UUID
sessionID UUID
field byte
localId uint
mask uint
set byte
return void

HandleRedo() protected method

protected HandleRedo ( IClientAPI remoteClient, UUID primId ) : void
remoteClient IClientAPI
primId UUID
return void

HandleUndo() protected method

protected HandleUndo ( IClientAPI remoteClient, UUID primId ) : void
remoteClient IClientAPI
primId UUID
return void

LinkObjects() public method

public LinkObjects ( IClientAPI client, uint parentPrimId, List childPrimIds ) : void
client IClientAPI
parentPrimId uint
childPrimIds List
return void

LinkObjects() protected method

Initial method invoked when we receive a link objects request from the client.
protected LinkObjects ( ISceneChildEntity root, List children ) : void
root ISceneChildEntity
children List
return void

LinkPartToEntity() public method

Add the new part to the group in the EntityManager
public LinkPartToEntity ( ISceneEntity entity, ISceneChildEntity part ) : bool
entity ISceneEntity
part ISceneChildEntity
return bool

LinkPartToSOG() public method

public LinkPartToSOG ( ISceneEntity grp, ISceneChildEntity part, int linkNum ) : bool
grp ISceneEntity
part ISceneChildEntity
linkNum int
return bool

LinkSetSorter() public method

Sorts a list of Parts by Link Number so they end up in the correct order
public LinkSetSorter ( ISceneChildEntity a, ISceneChildEntity b ) : int
a ISceneChildEntity
b ISceneChildEntity
return int

MakeObjectSearchable() protected method

Make this object be added to search
protected MakeObjectSearchable ( IClientAPI remoteClient, bool IncludeInSearch, uint LocalID ) : void
remoteClient IClientAPI
IncludeInSearch bool
LocalID uint
return void

MoveObject() protected method

Move the given object
protected MoveObject ( UUID ObjectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List surfaceArgs ) : void
ObjectID UUID
offset Vector3
pos Vector3
remoteClient IClientAPI
surfaceArgs List
return void

ObjectOwner() protected method

protected ObjectOwner ( IClientAPI remoteClient, UUID ownerID, UUID groupID, List localIDs ) : void
remoteClient IClientAPI
ownerID UUID
groupID UUID
localIDs List
return void

PrepPrimForAdditionToScene() public method

Get this prim ready to add to the scene
public PrepPrimForAdditionToScene ( ISceneEntity entity ) : void
entity ISceneEntity
return void

PrimClickAction() protected method

protected PrimClickAction ( IClientAPI remoteClient, uint LocalID, string clickAction ) : void
remoteClient IClientAPI
LocalID uint
clickAction string
return void

PrimDescription() protected method

protected PrimDescription ( IClientAPI remoteClient, uint LocalID, string description ) : void
remoteClient IClientAPI
LocalID uint
description string
return void

PrimMaterial() protected method

protected PrimMaterial ( IClientAPI remoteClient, uint LocalID, string material ) : void
remoteClient IClientAPI
LocalID uint
material string
return void

PrimName() protected method

protected PrimName ( IClientAPI remoteClient, uint LocalID, string name ) : void
remoteClient IClientAPI
LocalID uint
name string
return void

ProcessObjectDeGrab() public method

public ProcessObjectDeGrab ( uint localID, IClientAPI remoteClient, List surfaceArgs ) : void
localID uint
remoteClient IClientAPI
surfaceArgs List
return void

ProcessObjectGrab() public method

public ProcessObjectGrab ( uint localID, Vector3 offsetPos, IClientAPI remoteClient, List surfaceArgs ) : void
localID uint
offsetPos Vector3
remoteClient IClientAPI
surfaceArgs List
return void

ProcessObjectGrabUpdate() public method

public ProcessObjectGrabUpdate ( UUID objectID, Vector3 offset, Vector3 pos, IClientAPI remoteClient, List surfaceArgs ) : void
objectID UUID
offset Vector3
pos Vector3
remoteClient IClientAPI
surfaceArgs List
return void

RegisterEntityCreatorModule() public method

public RegisterEntityCreatorModule ( IEntityCreator entityCreator ) : void
entityCreator IEntityCreator
return void

RemoveScenePresence() protected method

Remove a presence from the scene
protected RemoveScenePresence ( IEntity agent ) : void
agent IEntity
return void

RequestObjectPropertiesFamily() protected method

This handles the nifty little tool tip that you get when you drag your mouse over an object Send to the Object Group to process. We don't know enough to service the request
protected RequestObjectPropertiesFamily ( IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID ObjectID ) : void
remoteClient IClientAPI
AgentID UUID
RequestFlags uint
ObjectID UUID
return void

RestorePrimToScene() public method

Add the Entity to the Scene and back it up, but do NOT reset its ID's
public RestorePrimToScene ( ISceneEntity entity, bool force ) : bool
entity ISceneEntity
force bool
return bool

SceneGraph() protected method

protected SceneGraph ( IScene parent, RegionInfo regInfo ) : System
parent IScene
regInfo RegionInfo
return System

SpinObject() protected method

Spin the given object
protected SpinObject ( UUID ObjectID, Quaternion rotation, IClientAPI remoteClient ) : void
ObjectID UUID
rotation Quaternion
remoteClient IClientAPI
return void

SpinStart() protected method

Start spinning the given object
protected SpinStart ( UUID ObjectID, IClientAPI remoteClient ) : void
ObjectID UUID
remoteClient IClientAPI
return void

SubscribeToClientEvents() public method

public SubscribeToClientEvents ( IClientAPI client ) : void
client IClientAPI
return void

TaintPresenceForUpdate() public method

public TaintPresenceForUpdate ( IScenePresence presence, PresenceTaint taint ) : void
presence IScenePresence
taint PresenceTaint
return void

TryGetAvatarByName() protected method

protected TryGetAvatarByName ( string name, IScenePresence &avatar ) : bool
name string
avatar IScenePresence
return bool

TryGetEntity() public method

Try to get an EntityBase as given by its UUID
public TryGetEntity ( UUID ID, IEntity &entity ) : bool
ID UUID
entity IEntity
return bool

TryGetEntity() public method

Try to get an EntityBase as given by it's LocalID
public TryGetEntity ( uint LocalID, IEntity &entity ) : bool
LocalID uint
entity IEntity
return bool

TryGetPart() public method

Get a part (SceneObjectPart) from the EntityManager by UUID
public TryGetPart ( UUID ID, ISceneChildEntity &entity ) : bool
ID UUID
entity ISceneChildEntity
return bool

TryGetPart() public method

Get a part (SceneObjectPart) from the EntityManager by LocalID
public TryGetPart ( uint LocalID, ISceneChildEntity &entity ) : bool
LocalID uint
entity ISceneChildEntity
return bool

TryGetScenePresence() protected method

protected TryGetScenePresence ( UUID agentID, IScenePresence &avatar ) : bool
agentID UUID
avatar IScenePresence
return bool

UnSubscribeToClientEvents() public method

public UnSubscribeToClientEvents ( IClientAPI client ) : void
client IClientAPI
return void

UnregisterEntityCreatorCommander() public method

Unregister a module commander and all its commands
public UnregisterEntityCreatorCommander ( IEntityCreator entityCreator ) : void
entityCreator IEntityCreator
return void

UpdateEntities() protected method

protected UpdateEntities ( ) : void
return void

UpdateEntity() public method

THIS IS TO ONLY BE CALLED WHEN AN OBJECT UUID IS UPDATED!!! This method is HIGHLY unsafe and destroys the integrity of the checks above! This is NOT to be used lightly! Do NOT use this unless you have to!
public UpdateEntity ( ISceneEntity entity, UUID newID ) : void
entity ISceneEntity
newID UUID new UUID to set the root part to
return void

UpdateExtraParam() protected method

protected UpdateExtraParam ( UUID agentID, uint LocalID, ushort type, bool inUse, byte data ) : void
agentID UUID
LocalID uint
type ushort
inUse bool
data byte
return void

UpdatePhysics() protected method

protected UpdatePhysics ( float elapsed ) : void
elapsed float
return void

UpdatePreparePhysics() protected method

protected UpdatePreparePhysics ( ) : void
return void

UpdatePrimFlags() protected method

A user has changed an object setting
protected UpdatePrimFlags ( uint LocalID, bool UsePhysics, bool IsTemporary, bool IsPhantom, ObjectFlagUpdatePacket blocks, IClientAPI remoteClient ) : void
LocalID uint
UsePhysics bool
IsTemporary bool
IsPhantom bool
blocks ObjectFlagUpdatePacket
remoteClient IClientAPI
return void

UpdatePrimGroupScale() protected method

protected UpdatePrimGroupScale ( uint LocalID, Vector3 scale, IClientAPI remoteClient ) : void
LocalID uint
scale Vector3
remoteClient IClientAPI
return void

UpdatePrimPosition() protected method

Update the position of the given part
protected UpdatePrimPosition ( uint LocalID, Vector3 pos, IClientAPI remoteClient, bool SaveUpdate ) : void
LocalID uint
pos Vector3
remoteClient IClientAPI
SaveUpdate bool
return void

UpdatePrimRotation() protected method

protected UpdatePrimRotation ( uint LocalID, Quaternion rot, IClientAPI remoteClient ) : void
LocalID uint
rot Quaternion
remoteClient IClientAPI
return void

UpdatePrimRotation() protected method

protected UpdatePrimRotation ( uint LocalID, Vector3 pos, Quaternion rot, IClientAPI remoteClient ) : void
LocalID uint
pos Vector3
rot Quaternion
remoteClient IClientAPI
return void

UpdatePrimScale() protected method

protected UpdatePrimScale ( uint LocalID, Vector3 scale, IClientAPI remoteClient ) : void
LocalID uint
scale Vector3
remoteClient IClientAPI
return void

UpdatePrimShape() protected method

protected UpdatePrimShape ( UUID agentID, uint LocalID, UpdateShapeArgs shapeBlock ) : void
agentID UUID
LocalID uint
shapeBlock UpdateShapeArgs
return void

UpdatePrimSinglePosition() protected method

Update the position of the given part
protected UpdatePrimSinglePosition ( uint LocalID, Vector3 pos, IClientAPI remoteClient, bool SaveUpdate ) : void
LocalID uint
pos Vector3
remoteClient IClientAPI
SaveUpdate bool
return void

UpdatePrimSingleRotation() protected method

protected UpdatePrimSingleRotation ( uint LocalID, Quaternion rot, IClientAPI remoteClient ) : void
LocalID uint
rot Quaternion
remoteClient IClientAPI
return void

UpdatePrimSingleRotationPosition() protected method

protected UpdatePrimSingleRotationPosition ( uint LocalID, Quaternion rot, Vector3 pos, IClientAPI remoteClient ) : void
LocalID uint
rot Quaternion
pos Vector3
remoteClient IClientAPI
return void

UpdatePrimTexture() protected method

Update the texture entry of the given prim.
protected UpdatePrimTexture ( uint LocalID, byte texture, IClientAPI remoteClient ) : void
LocalID uint
texture byte
remoteClient IClientAPI
return void

doObjectDuplicateOnRay() public method

Duplicates object specified by localID at position raycasted against RayTargetObject using RayEnd and RayStart to determine what the angle of the ray is
public doObjectDuplicateOnRay ( uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates ) : void
localID uint ID of object to duplicate
dupeFlags uint
AgentID UUID Agent doing the duplication
GroupID UUID Group of new object
RayTargetObj UUID The target of the Ray
RayEnd Vector3 The ending of the ray (farthest away point)
RayStart Vector3 The Beginning of the ray (closest point)
BypassRaycast bool Bool to bypass raycasting
RayEndIsIntersection bool The End specified is the place to add the object
CopyCenters bool Position the object at the center of the face that it's colliding with
CopyRotates bool Rotate the object the same as the localID object
return void

Property Details

EnableFakeRaycasting protected_oe property

protected bool EnableFakeRaycasting
return bool

Entities protected_oe property

protected EntityManager,Universe.Framework.SceneInfo.Entities Entities
return Universe.Framework.SceneInfo.Entities.EntityManager

_PhyScene protected_oe property

protected PhysicsScene _PhyScene
return PhysicsScene

m_DefaultObjectName protected_oe property

protected string m_DefaultObjectName
return string

m_entityCreators protected_oe property

protected Dictionary m_entityCreators
return IEntityCreator>.Dictionary

m_lastAllocatedLocalId protected_oe property

The last allocated local prim id. When a new local id is requested, the next number in the sequence is dispensed.
protected uint m_lastAllocatedLocalId
return uint

m_parentScene protected_oe property

protected IScene m_parentScene
return IScene

m_regInfo protected_oe property

protected RegionInfo m_regInfo
return RegionInfo

m_syncRoot protected_oe property

protected object m_syncRoot
return object