diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs | 96 |
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 @@ | |||
1 | using System; | ||
2 | using System.Drawing; | ||
3 | using OpenMetaverse; | ||
4 | |||
5 | namespace 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 | } | ||