* Removes IObject.Position, IObject.Rotation from IObject

* Adds IObject.WorldPosition and IObject.OffsetPosition - this is equivilent to AbsolutePosition and OffsetPosition in SOP respectively.
* Adds IObject.WorldRotation and IObject.OffsetRotation - as above.
0.6.5-rc1
Adam Frisby 2009-04-04 06:28:55 +00:00
parent fcbe7b9ed6
commit c3e1756a48
2 changed files with 55 additions and 6 deletions

View File

@ -33,14 +33,35 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
public interface IObject public interface IObject
{ {
/// <summary>
/// Returns whether or not this object is still in the world.
/// Eg, if you store an IObject reference, however the object
/// is deleted before you use it, it will throw a NullReference
/// exception. 'Exists' allows you to check the object is still
/// in play before utilizing it.
/// </summary>
bool Exists { get; } bool Exists { get; }
/// <summary>
/// The local region-unique ID for this object.
/// </summary>
uint LocalID { get; } uint LocalID { get; }
/// <summary>
/// The global 'world-unique' ID for this object.
/// (Note, may not actually be world unique)
/// </summary>
UUID GlobalID { get; } UUID GlobalID { get; }
/// <summary>
/// The name of this Object.
/// </summary>
String Name { get; set; } String Name { get; set; }
String Description { get; set; }
/// <summary>
/// The description assigned to this object.
/// </summary>
String Description { get; set; }
/// <summary> /// <summary>
/// Returns the root object of a linkset. If this object is the root, it will return itself. /// Returns the root object of a linkset. If this object is the root, it will return itself.
@ -67,19 +88,35 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
/// <summary> /// <summary>
/// The rotation of the object relative to the Scene /// The rotation of the object relative to the Scene
/// </summary> /// </summary>
Quaternion Rotation { get; set; } Quaternion WorldRotation { get; set; }
/// <summary>
/// The rotation of the object relative to a parent object
/// If root, works the same as WorldRotation
/// </summary>
Quaternion OffsetRotation { get; set; }
/// <summary> /// <summary>
/// The position of the object relative to the Scene /// The position of the object relative to the Scene
/// </summary> /// </summary>
Vector3 Position { get; set; } Vector3 WorldPosition { get; set; }
/// <summary>
/// The position of the object relative to a parent object
/// If root, works the same as WorldPosition
/// </summary>
Vector3 OffsetPosition { get; set; }
Vector3 SitTarget { get; set; } Vector3 SitTarget { get; set; }
String SitTargetText { get; set; } String SitTargetText { get; set; }
String TouchText { get; set; } String TouchText { get; set; }
/// <summary>
/// Text to be associated with this object, in the
/// Second Life(r) viewer, this is shown above the
/// object.
/// </summary>
String Text { get; set; } String Text { get; set; }
bool IsPhysical { get; set; } // SetStatus(PHYSICS) bool IsPhysical { get; set; } // SetStatus(PHYSICS)

View File

@ -103,13 +103,19 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
set { GetSOP().Scale = value; } set { GetSOP().Scale = value; }
} }
public Quaternion Rotation public Quaternion WorldRotation
{ {
get { throw new System.NotImplementedException(); } get { throw new System.NotImplementedException(); }
set { throw new System.NotImplementedException(); } set { throw new System.NotImplementedException(); }
} }
public Vector3 Position public Quaternion OffsetRotation
{
get { throw new System.NotImplementedException(); }
set { throw new System.NotImplementedException(); }
}
public Vector3 WorldPosition
{ {
get { return GetSOP().AbsolutePosition; } get { return GetSOP().AbsolutePosition; }
set set
@ -119,6 +125,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
} }
} }
public Vector3 OffsetPosition
{
get { return GetSOP().OffsetPosition; }
set { GetSOP().OffsetPosition = value; }
}
public Vector3 SitTarget public Vector3 SitTarget
{ {
get { throw new System.NotImplementedException(); } get { throw new System.NotImplementedException(); }