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