* MRM Adjustments

* Renamed 'Material' to PhysicsMaterial (Wood, Glass, Metal, etc.). May want to place in subclass with other physics specific properties. (We however need to support these features in ODE/etc first.)
* Renamed Faces to Materials. IObjectFace to IObjectMaterial - this is for clarity for those coming from a 3D Programming background (it also makes more sense if/when we support Meshes in core). Properties and members remain identical.
* Added XMLDoc comments to IObject to assist people writing MRMs in XMLDoc aware editors.
0.6.5-rc1
Adam Frisby 2009-04-01 11:03:42 +00:00
parent 5cd70a8c0e
commit 1a25969096
4 changed files with 32 additions and 14 deletions

View File

@ -40,19 +40,41 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
String Name { get; set; } String Name { get; set; }
String Description { get; set; } String Description { get; set; }
IObject[] Children { get; }
/// <summary> /// <summary>
/// Equals 'this' if we have no parent. Ergo, Root.Children.Count will always return the total number of items in the linkset. /// Returns the root object of a linkset. If this object is the root, it will return itself.
/// </summary> /// </summary>
IObject Root { get; } IObject Root { get; }
IObjectFace[] Faces { get; } /// <summary>
/// Returns a collection of objects which are linked to the current object. Does not include the root object.
/// </summary>
IObject[] Children { get; }
/// <summary>
/// Returns a list of materials attached to this object. Each may contain unique texture
/// and other visual information. For primitive based objects, this correlates with
/// Object Faces. For mesh based objects, this correlates with Materials.
/// </summary>
IObjectMaterial[] Materials { get; }
/// <summary>
/// The bounding box of the object. Primitive and Mesh objects alike are scaled to fit within these bounds.
/// </summary>
Vector3 Scale { get; set; } Vector3 Scale { get; set; }
/// <summary>
/// The rotation of the object relative to the Scene
/// </summary>
Quaternion Rotation { get; set; } Quaternion Rotation { get; set; }
/// <summary>
/// The position of the object relative to the Scene
/// </summary>
Vector3 Position { get; set; } Vector3 Position { get; set; }
Vector3 SitTarget { get; set; } Vector3 SitTarget { get; set; }
String SitTargetText { get; set; } String SitTargetText { get; set; }
@ -80,10 +102,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
// Taper[A+B], Shear[A+B], Revolutions, // Taper[A+B], Shear[A+B], Revolutions,
// RadiusOffset, Skew // RadiusOffset, Skew
Material Material { get; set; } PhysicsMaterial PhysicsMaterial { get; set; }
} }
public enum Material public enum PhysicsMaterial
{ {
Default, Default,
Glass, Glass,
@ -114,7 +136,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
Planar Planar
} }
public interface IObjectFace public interface IObjectMaterial
{ {
Color Color { get; set; } Color Color { get; set; }
UUID Texture { get; set; } UUID Texture { get; set; }

View File

@ -25,10 +25,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{ {
public interface IWorld public interface IWorld

View File

@ -80,12 +80,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
get { return new SOPObject(m_rootScene, GetSOP().ParentGroup.RootPart.LocalId); } get { return new SOPObject(m_rootScene, GetSOP().ParentGroup.RootPart.LocalId); }
} }
public IObjectFace[] Faces public IObjectMaterial[] Materials
{ {
get get
{ {
SceneObjectPart sop = GetSOP(); SceneObjectPart sop = GetSOP();
IObjectFace[] rets = new IObjectFace[getNumberOfSides(sop)]; IObjectMaterial[] rets = new IObjectMaterial[getNumberOfSides(sop)];
for (int i = 0; i < rets.Length;i++ ) for (int i = 0; i < rets.Length;i++ )
{ {
@ -208,7 +208,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
set { throw new System.NotImplementedException(); } set { throw new System.NotImplementedException(); }
} }
public Material Material public PhysicsMaterial PhysicsMaterial
{ {
get { throw new System.NotImplementedException(); } get { throw new System.NotImplementedException(); }
set { throw new System.NotImplementedException(); } set { throw new System.NotImplementedException(); }

View File

@ -35,7 +35,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
private readonly Scene m_internalScene; private readonly Scene m_internalScene;
private readonly Heightmap m_heights; private readonly Heightmap m_heights;
private ObjectAccessor m_objs; private readonly ObjectAccessor m_objs;
public World(Scene internalScene) public World(Scene internalScene)
{ {