aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
diff options
context:
space:
mode:
authorAdam Frisby2009-04-01 11:03:42 +0000
committerAdam Frisby2009-04-01 11:03:42 +0000
commit1a25969096834e104d1ea69a26cab9c5b0a061eb (patch)
tree6cf11568dd739f7c6455cdf4e042232d59f132a6 /OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
parent* MRM Adjustments (diff)
downloadopensim-SC_OLD-1a25969096834e104d1ea69a26cab9c5b0a061eb.zip
opensim-SC_OLD-1a25969096834e104d1ea69a26cab9c5b0a061eb.tar.gz
opensim-SC_OLD-1a25969096834e104d1ea69a26cab9c5b0a061eb.tar.bz2
opensim-SC_OLD-1a25969096834e104d1ea69a26cab9c5b0a061eb.tar.xz
* 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.
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs34
1 files changed, 28 insertions, 6 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
index c7f9569..da8fce5 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
@@ -40,19 +40,41 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
40 String Name { get; set; } 40 String Name { get; set; }
41 String Description { get; set; } 41 String Description { get; set; }
42 42
43 IObject[] Children { get; } 43
44 44
45 /// <summary> 45 /// <summary>
46 /// Equals 'this' if we have no parent. Ergo, Root.Children.Count will always return the total number of items in the linkset. 46 /// Returns the root object of a linkset. If this object is the root, it will return itself.
47 /// </summary> 47 /// </summary>
48 IObject Root { get; } 48 IObject Root { get; }
49 49
50 IObjectFace[] Faces { get; } 50 /// <summary>
51 /// Returns a collection of objects which are linked to the current object. Does not include the root object.
52 /// </summary>
53 IObject[] Children { get; }
54
55 /// <summary>
56 /// Returns a list of materials attached to this object. Each may contain unique texture
57 /// and other visual information. For primitive based objects, this correlates with
58 /// Object Faces. For mesh based objects, this correlates with Materials.
59 /// </summary>
60 IObjectMaterial[] Materials { get; }
51 61
62 /// <summary>
63 /// The bounding box of the object. Primitive and Mesh objects alike are scaled to fit within these bounds.
64 /// </summary>
52 Vector3 Scale { get; set; } 65 Vector3 Scale { get; set; }
66
67 /// <summary>
68 /// The rotation of the object relative to the Scene
69 /// </summary>
53 Quaternion Rotation { get; set; } 70 Quaternion Rotation { get; set; }
71
72 /// <summary>
73 /// The position of the object relative to the Scene
74 /// </summary>
54 Vector3 Position { get; set; } 75 Vector3 Position { get; set; }
55 76
77
56 Vector3 SitTarget { get; set; } 78 Vector3 SitTarget { get; set; }
57 String SitTargetText { get; set; } 79 String SitTargetText { get; set; }
58 80
@@ -80,10 +102,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
80 // Taper[A+B], Shear[A+B], Revolutions, 102 // Taper[A+B], Shear[A+B], Revolutions,
81 // RadiusOffset, Skew 103 // RadiusOffset, Skew
82 104
83 Material Material { get; set; } 105 PhysicsMaterial PhysicsMaterial { get; set; }
84 } 106 }
85 107
86 public enum Material 108 public enum PhysicsMaterial
87 { 109 {
88 Default, 110 Default,
89 Glass, 111 Glass,
@@ -114,7 +136,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
114 Planar 136 Planar
115 } 137 }
116 138
117 public interface IObjectFace 139 public interface IObjectMaterial
118 { 140 {
119 Color Color { get; set; } 141 Color Color { get; set; }
120 UUID Texture { get; set; } 142 UUID Texture { get; set; }