aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs96
1 files changed, 96 insertions, 0 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
new file mode 100644
index 0000000..04d36a5
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
@@ -0,0 +1,96 @@
1using System;
2using System.Drawing;
3using OpenMetaverse;
4
5namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
6{
7 interface IObject
8 {
9 bool Exists { get; }
10 uint LocalID { get; }
11 UUID GlobalID { get; }
12
13 IObject[] Children { get; }
14
15 /// <summary>
16 /// Equals 'this' if we have no parent. Ergo, Root.Children.Count will always return the total number of items in the linkset.
17 /// </summary>
18 IObject Root { get; }
19
20 IObjectFace[] Faces { get; }
21
22 Vector3 Scale { get; set; }
23 Quaternion Rotation { get; set; }
24
25 Vector3 SitTarget { get; set; }
26 String SitTargetText { get; set; }
27
28 String TouchText { get; set; }
29
30 String Text { get; set; }
31
32 bool IsPhysical { get; set; } // SetStatus(PHYSICS)
33 bool IsPhantom { get; set; } // SetStatus(PHANTOM)
34 bool IsRotationLockedX { get; set; } // SetStatus(!ROTATE_X)
35 bool IsRotationLockedY { get; set; } // SetStatus(!ROTATE_Y)
36 bool IsRotationLockedZ { get; set; } // SetStatus(!ROTATE_Z)
37 bool IsSandboxed { get; set; } // SetStatus(SANDBOX)
38 bool IsImmotile { get; set; } // SetStatus(BLOCK_GRAB)
39 bool IsAlwaysReturned { get; set; } // SetStatus(!DIE_AT_EDGE)
40 bool IsTemporary { get; set; } // TEMP_ON_REZ
41
42 bool IsFlexible { get; set; }
43
44 PrimType PrimShape { get; set; }
45 // TODO:
46 // PrimHole
47 // Repeats, Offsets, Cut/Dimple/ProfileCut
48 // Hollow, Twist, HoleSize,
49 // Taper[A+B], Shear[A+B], Revolutions,
50 // RadiusOffset, Skew
51
52 Material Material { get; set; }
53 }
54
55 public enum Material
56 {
57 Default,
58 Glass,
59 Metal,
60 Plastic,
61 Wood,
62 Rubber,
63 Stone,
64 Flesh
65 }
66
67 public enum PrimType
68 {
69 NotPrimitive,
70 Box,
71 Cylinder,
72 Prism,
73 Sphere,
74 Torus,
75 Tube,
76 Ring,
77 Sculpt
78 }
79
80 public enum TextureMapping
81 {
82 Default,
83 Planar
84 }
85
86 interface IObjectFace
87 {
88 Color Color { get; set; }
89 UUID Texture { get; set; }
90 TextureMapping Mapping { get; set; } // SetPrimParms(PRIM_TEXGEN)
91 bool Bright { get; set; } // SetPrimParms(FULLBRIGHT)
92 double Bloom { get; set; } // SetPrimParms(GLOW)
93 bool Shiny { get; set; } // SetPrimParms(SHINY)
94 bool BumpMap { get; set; } // SetPrimParms(BUMPMAP) [DEPRECIATE IN FAVOUR OF UUID?]
95 }
96}