diff options
Diffstat (limited to 'OpenSim/OpenSim.World')
-rw-r--r-- | OpenSim/OpenSim.World/Avatar.Client.cs | 15 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/Avatar.Update.cs | 48 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/Avatar.cs | 50 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/AvatarAnimations.cs | 6 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/Entity.cs | 24 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/SceneObject.cs | 23 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/World.PacketHandlers.cs | 82 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/World.Scripting.cs | 33 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/World.cs | 133 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/WorldBase.cs | 17 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/types/Mesh.cs | 13 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/types/Triangle.cs | 9 |
12 files changed, 349 insertions, 104 deletions
diff --git a/OpenSim/OpenSim.World/Avatar.Client.cs b/OpenSim/OpenSim.World/Avatar.Client.cs index 7656a89..2338f27 100644 --- a/OpenSim/OpenSim.World/Avatar.Client.cs +++ b/OpenSim/OpenSim.World/Avatar.Client.cs | |||
@@ -10,21 +10,36 @@ namespace OpenSim.world | |||
10 | private List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> updateList = new List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>(); | 10 | private List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> updateList = new List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock>(); |
11 | private List<Entity> interestList = new List<Entity>(); | 11 | private List<Entity> interestList = new List<Entity>(); |
12 | 12 | ||
13 | /// <summary> | ||
14 | /// Forwards a packet to the Avatar's client (IClientAPI object). | ||
15 | /// Note: Quite likely to be obsolete once the Client API is finished | ||
16 | /// </summary> | ||
17 | /// <param name="packet"></param> | ||
13 | public void SendPacketToViewer(Packet packet) | 18 | public void SendPacketToViewer(Packet packet) |
14 | { | 19 | { |
15 | this.ControllingClient.OutPacket(packet); | 20 | this.ControllingClient.OutPacket(packet); |
16 | } | 21 | } |
17 | 22 | ||
23 | /// <summary> | ||
24 | /// | ||
25 | /// </summary> | ||
26 | /// <param name="terseBlock"></param> | ||
18 | public void AddTerseUpdateToViewersList(ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock) | 27 | public void AddTerseUpdateToViewersList(ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock) |
19 | { | 28 | { |
20 | 29 | ||
21 | } | 30 | } |
22 | 31 | ||
32 | /// <summary> | ||
33 | /// | ||
34 | /// </summary> | ||
23 | public void SendUpdateListToViewer() | 35 | public void SendUpdateListToViewer() |
24 | { | 36 | { |
25 | 37 | ||
26 | } | 38 | } |
27 | 39 | ||
40 | /// <summary> | ||
41 | /// | ||
42 | /// </summary> | ||
28 | private void UpdateInterestList() | 43 | private void UpdateInterestList() |
29 | { | 44 | { |
30 | 45 | ||
diff --git a/OpenSim/OpenSim.World/Avatar.Update.cs b/OpenSim/OpenSim.World/Avatar.Update.cs index c8d92ec..478f224 100644 --- a/OpenSim/OpenSim.World/Avatar.Update.cs +++ b/OpenSim/OpenSim.World/Avatar.Update.cs | |||
@@ -10,65 +10,109 @@ namespace OpenSim.world | |||
10 | { | 10 | { |
11 | partial class Avatar | 11 | partial class Avatar |
12 | { | 12 | { |
13 | /// <summary> | ||
14 | /// | ||
15 | /// </summary> | ||
13 | public override void update() | 16 | public override void update() |
14 | { | 17 | { |
15 | 18 | ||
16 | 19 | ||
17 | } | 20 | } |
18 | 21 | ||
22 | /// <summary> | ||
23 | /// | ||
24 | /// </summary> | ||
25 | /// <param name="remoteAvatar"></param> | ||
19 | public void SendUpdateToOtherClient(Avatar remoteAvatar) | 26 | public void SendUpdateToOtherClient(Avatar remoteAvatar) |
20 | { | 27 | { |
21 | 28 | ||
22 | } | 29 | } |
23 | 30 | ||
31 | /// <summary> | ||
32 | /// | ||
33 | /// </summary> | ||
34 | /// <returns></returns> | ||
24 | public ObjectUpdatePacket CreateUpdatePacket() | 35 | public ObjectUpdatePacket CreateUpdatePacket() |
25 | { | 36 | { |
26 | return null; | 37 | return null; |
27 | } | 38 | } |
28 | 39 | ||
40 | /// <summary> | ||
41 | /// | ||
42 | /// </summary> | ||
29 | public void SendInitialPosition() | 43 | public void SendInitialPosition() |
30 | { | 44 | { |
31 | Console.WriteLine("sending initial Avatar data"); | 45 | Console.WriteLine("sending initial Avatar data"); |
32 | this.ControllingClient.SendAvatarData(this.regionData, this.firstname, this.lastname, this.uuid, this.localid, new LLVector3(128, 128, 60)); | 46 | this.ControllingClient.SendAvatarData(this.regionData, this.firstname, this.lastname, this.uuid, this.localid, new LLVector3(128, 128, 60)); |
33 | } | 47 | } |
34 | 48 | ||
49 | /// <summary> | ||
50 | /// | ||
51 | /// </summary> | ||
35 | public void SendOurAppearance() | 52 | public void SendOurAppearance() |
36 | { | 53 | { |
37 | 54 | ||
38 | } | 55 | } |
39 | 56 | ||
57 | /// <summary> | ||
58 | /// | ||
59 | /// </summary> | ||
60 | /// <param name="OurClient"></param> | ||
40 | public void SendOurAppearance(IClientAPI OurClient) | 61 | public void SendOurAppearance(IClientAPI OurClient) |
41 | { | 62 | { |
42 | this.ControllingClient.SendWearables(this.Wearables); | 63 | this.ControllingClient.SendWearables(this.Wearables); |
43 | } | 64 | } |
44 | 65 | ||
66 | /// <summary> | ||
67 | /// | ||
68 | /// </summary> | ||
69 | /// <param name="avatarInfo"></param> | ||
45 | public void SendAppearanceToOtherAgent(Avatar avatarInfo) | 70 | public void SendAppearanceToOtherAgent(Avatar avatarInfo) |
46 | { | 71 | { |
47 | 72 | ||
48 | } | 73 | } |
49 | 74 | ||
75 | /// <summary> | ||
76 | /// | ||
77 | /// </summary> | ||
78 | /// <param name="texture"></param> | ||
79 | /// <param name="visualParam"></param> | ||
50 | public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam) | 80 | public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam) |
51 | { | 81 | { |
52 | 82 | ||
53 | } | 83 | } |
54 | 84 | ||
85 | /// <summary> | ||
86 | /// | ||
87 | /// </summary> | ||
55 | public void StopMovement() | 88 | public void StopMovement() |
56 | { | 89 | { |
57 | 90 | ||
58 | } | 91 | } |
59 | 92 | ||
93 | /// <summary> | ||
94 | /// Very likely to be deleted soon! | ||
95 | /// </summary> | ||
96 | /// <returns></returns> | ||
60 | public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock() | 97 | public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock() |
61 | { | 98 | { |
62 | return null; | 99 | return null; |
63 | } | 100 | } |
64 | 101 | ||
65 | // Sends animation update | 102 | /// <summary> |
103 | /// | ||
104 | /// </summary> | ||
105 | /// <param name="animID"></param> | ||
106 | /// <param name="seq"></param> | ||
66 | public void SendAnimPack(LLUUID animID, int seq) | 107 | public void SendAnimPack(LLUUID animID, int seq) |
67 | { | 108 | { |
68 | 109 | ||
69 | 110 | ||
70 | } | 111 | } |
71 | 112 | ||
113 | /// <summary> | ||
114 | /// | ||
115 | /// </summary> | ||
72 | public void SendAnimPack() | 116 | public void SendAnimPack() |
73 | { | 117 | { |
74 | 118 | ||
diff --git a/OpenSim/OpenSim.World/Avatar.cs b/OpenSim/OpenSim.World/Avatar.cs index 1c22977..ecd938b 100644 --- a/OpenSim/OpenSim.World/Avatar.cs +++ b/OpenSim/OpenSim.World/Avatar.cs | |||
@@ -39,6 +39,13 @@ namespace OpenSim.world | |||
39 | private bool childAvatar = false; | 39 | private bool childAvatar = false; |
40 | private RegionInfo regionData; | 40 | private RegionInfo regionData; |
41 | 41 | ||
42 | /// <summary> | ||
43 | /// | ||
44 | /// </summary> | ||
45 | /// <param name="theClient"></param> | ||
46 | /// <param name="world"></param> | ||
47 | /// <param name="clientThreads"></param> | ||
48 | /// <param name="regionDat"></param> | ||
42 | public Avatar(IClientAPI theClient, World world, Dictionary<uint, IClientAPI> clientThreads, RegionInfo regionDat) | 49 | public Avatar(IClientAPI theClient, World world, Dictionary<uint, IClientAPI> clientThreads, RegionInfo regionDat) |
43 | { | 50 | { |
44 | 51 | ||
@@ -84,6 +91,9 @@ namespace OpenSim.world | |||
84 | * */ | 91 | * */ |
85 | } | 92 | } |
86 | 93 | ||
94 | /// <summary> | ||
95 | /// | ||
96 | /// </summary> | ||
87 | public PhysicsActor PhysActor | 97 | public PhysicsActor PhysActor |
88 | { | 98 | { |
89 | set | 99 | set |
@@ -96,21 +106,36 @@ namespace OpenSim.world | |||
96 | } | 106 | } |
97 | } | 107 | } |
98 | 108 | ||
109 | /// <summary> | ||
110 | /// | ||
111 | /// </summary> | ||
112 | /// <param name="status"></param> | ||
99 | public void ChildStatusChange(bool status) | 113 | public void ChildStatusChange(bool status) |
100 | { | 114 | { |
101 | 115 | ||
102 | } | 116 | } |
103 | 117 | ||
118 | /// <summary> | ||
119 | /// | ||
120 | /// </summary> | ||
104 | public override void addForces() | 121 | public override void addForces() |
105 | { | 122 | { |
106 | 123 | ||
107 | } | 124 | } |
108 | 125 | ||
126 | /// <summary> | ||
127 | /// likely to removed very soon | ||
128 | /// </summary> | ||
129 | /// <param name="name"></param> | ||
109 | public static void SetupTemplate(string name) | 130 | public static void SetupTemplate(string name) |
110 | { | 131 | { |
111 | 132 | ||
112 | } | 133 | } |
113 | 134 | ||
135 | /// <summary> | ||
136 | /// likely to removed very soon | ||
137 | /// </summary> | ||
138 | /// <param name="objdata"></param> | ||
114 | protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata) | 139 | protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata) |
115 | { | 140 | { |
116 | 141 | ||
@@ -118,32 +143,51 @@ namespace OpenSim.world | |||
118 | 143 | ||
119 | } | 144 | } |
120 | 145 | ||
146 | /// <summary> | ||
147 | /// | ||
148 | /// </summary> | ||
121 | public void CompleteMovement() | 149 | public void CompleteMovement() |
122 | { | 150 | { |
123 | this.ControllingClient.MoveAgentIntoRegion(this.regionData); | 151 | this.ControllingClient.MoveAgentIntoRegion(this.regionData); |
124 | } | 152 | } |
125 | 153 | ||
154 | /// <summary> | ||
155 | /// | ||
156 | /// </summary> | ||
157 | /// <param name="pack"></param> | ||
126 | public void HandleAgentUpdate(Packet pack) | 158 | public void HandleAgentUpdate(Packet pack) |
127 | { | 159 | { |
128 | this.HandleUpdate((AgentUpdatePacket)pack); | 160 | this.HandleUpdate((AgentUpdatePacket)pack); |
129 | } | 161 | } |
130 | 162 | ||
163 | /// <summary> | ||
164 | /// | ||
165 | /// </summary> | ||
166 | /// <param name="pack"></param> | ||
131 | public void HandleUpdate(AgentUpdatePacket pack) | 167 | public void HandleUpdate(AgentUpdatePacket pack) |
132 | { | 168 | { |
133 | 169 | ||
134 | } | 170 | } |
135 | 171 | ||
136 | //really really should be moved somewhere else (RegionInfo.cs ?) | 172 | /// <summary> |
173 | /// | ||
174 | /// </summary> | ||
137 | public void SendRegionHandshake() | 175 | public void SendRegionHandshake() |
138 | { | 176 | { |
139 | this.ControllingClient.SendRegionHandshake(this.regionData); | 177 | this.ControllingClient.SendRegionHandshake(this.regionData); |
140 | } | 178 | } |
141 | 179 | ||
180 | /// <summary> | ||
181 | /// | ||
182 | /// </summary> | ||
142 | public static void LoadAnims() | 183 | public static void LoadAnims() |
143 | { | 184 | { |
144 | 185 | ||
145 | } | 186 | } |
146 | 187 | ||
188 | /// <summary> | ||
189 | /// | ||
190 | /// </summary> | ||
147 | public override void LandRenegerated() | 191 | public override void LandRenegerated() |
148 | { | 192 | { |
149 | 193 | ||
diff --git a/OpenSim/OpenSim.World/AvatarAnimations.cs b/OpenSim/OpenSim.World/AvatarAnimations.cs index b554af8..21de457 100644 --- a/OpenSim/OpenSim.World/AvatarAnimations.cs +++ b/OpenSim/OpenSim.World/AvatarAnimations.cs | |||
@@ -11,10 +11,16 @@ namespace OpenSim.world | |||
11 | public Dictionary<string, LLUUID> AnimsLLUUID = new Dictionary<string, LLUUID>(); | 11 | public Dictionary<string, LLUUID> AnimsLLUUID = new Dictionary<string, LLUUID>(); |
12 | public Dictionary<LLUUID, string> AnimsNames = new Dictionary<LLUUID, string>(); | 12 | public Dictionary<LLUUID, string> AnimsNames = new Dictionary<LLUUID, string>(); |
13 | 13 | ||
14 | /// <summary> | ||
15 | /// | ||
16 | /// </summary> | ||
14 | public AvatarAnimations() | 17 | public AvatarAnimations() |
15 | { | 18 | { |
16 | } | 19 | } |
17 | 20 | ||
21 | /// <summary> | ||
22 | /// | ||
23 | /// </summary> | ||
18 | public void LoadAnims() | 24 | public void LoadAnims() |
19 | { | 25 | { |
20 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Avatar.cs:LoadAnims() - Loading avatar animations"); | 26 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Avatar.cs:LoadAnims() - Loading avatar animations"); |
diff --git a/OpenSim/OpenSim.World/Entity.cs b/OpenSim/OpenSim.World/Entity.cs index 96e039a..b14beed 100644 --- a/OpenSim/OpenSim.World/Entity.cs +++ b/OpenSim/OpenSim.World/Entity.cs | |||
@@ -16,17 +16,22 @@ namespace OpenSim.world | |||
16 | public LLVector3 velocity; | 16 | public LLVector3 velocity; |
17 | public Quaternion rotation; | 17 | public Quaternion rotation; |
18 | protected List<Entity> children; | 18 | protected List<Entity> children; |
19 | 19 | protected LLVector3 m_pos; | |
20 | protected PhysicsActor _physActor; | ||
21 | protected World m_world; | ||
20 | protected string m_name; | 22 | protected string m_name; |
23 | |||
24 | /// <summary> | ||
25 | /// | ||
26 | /// </summary> | ||
21 | public virtual string Name | 27 | public virtual string Name |
22 | { | 28 | { |
23 | get { return m_name; } | 29 | get { return m_name; } |
24 | } | 30 | } |
25 | 31 | ||
26 | protected LLVector3 m_pos; | 32 | /// <summary> |
27 | protected PhysicsActor _physActor; | 33 | /// |
28 | protected World m_world; | 34 | /// </summary> |
29 | |||
30 | public virtual LLVector3 Pos | 35 | public virtual LLVector3 Pos |
31 | { | 36 | { |
32 | get | 37 | get |
@@ -76,6 +81,9 @@ namespace OpenSim.world | |||
76 | children = new List<Entity>(); | 81 | children = new List<Entity>(); |
77 | } | 82 | } |
78 | 83 | ||
84 | /// <summary> | ||
85 | /// | ||
86 | /// </summary> | ||
79 | public virtual void addForces() | 87 | public virtual void addForces() |
80 | { | 88 | { |
81 | foreach (Entity child in children) | 89 | foreach (Entity child in children) |
@@ -111,11 +119,17 @@ namespace OpenSim.world | |||
111 | return mesh; | 119 | return mesh; |
112 | } | 120 | } |
113 | 121 | ||
122 | /// <summary> | ||
123 | /// Called at a set interval to inform entities that they should back themsleves up to the DB | ||
124 | /// </summary> | ||
114 | public virtual void BackUp() | 125 | public virtual void BackUp() |
115 | { | 126 | { |
116 | 127 | ||
117 | } | 128 | } |
118 | 129 | ||
130 | /// <summary> | ||
131 | /// Infoms the entity that the land (heightmap) has changed | ||
132 | /// </summary> | ||
119 | public virtual void LandRenegerated() | 133 | public virtual void LandRenegerated() |
120 | { | 134 | { |
121 | 135 | ||
diff --git a/OpenSim/OpenSim.World/SceneObject.cs b/OpenSim/OpenSim.World/SceneObject.cs index d78c7a2..9ed99ba 100644 --- a/OpenSim/OpenSim.World/SceneObject.cs +++ b/OpenSim/OpenSim.World/SceneObject.cs | |||
@@ -18,30 +18,53 @@ namespace OpenSim.world | |||
18 | private Dictionary<uint, IClientAPI> m_clientThreads; | 18 | private Dictionary<uint, IClientAPI> m_clientThreads; |
19 | private World m_world; | 19 | private World m_world; |
20 | 20 | ||
21 | /// <summary> | ||
22 | /// | ||
23 | /// </summary> | ||
21 | public SceneObject() | 24 | public SceneObject() |
22 | { | 25 | { |
23 | 26 | ||
24 | } | 27 | } |
25 | 28 | ||
29 | /// <summary> | ||
30 | /// | ||
31 | /// </summary> | ||
32 | /// <param name="addPacket"></param> | ||
33 | /// <param name="agentID"></param> | ||
34 | /// <param name="localID"></param> | ||
26 | public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID) | 35 | public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID) |
27 | { | 36 | { |
28 | } | 37 | } |
29 | 38 | ||
39 | /// <summary> | ||
40 | /// | ||
41 | /// </summary> | ||
42 | /// <param name="data"></param> | ||
30 | public void CreateFromBytes(byte[] data) | 43 | public void CreateFromBytes(byte[] data) |
31 | { | 44 | { |
32 | 45 | ||
33 | } | 46 | } |
34 | 47 | ||
48 | /// <summary> | ||
49 | /// | ||
50 | /// </summary> | ||
35 | public override void update() | 51 | public override void update() |
36 | { | 52 | { |
37 | 53 | ||
38 | } | 54 | } |
39 | 55 | ||
56 | /// <summary> | ||
57 | /// | ||
58 | /// </summary> | ||
40 | public override void BackUp() | 59 | public override void BackUp() |
41 | { | 60 | { |
42 | 61 | ||
43 | } | 62 | } |
44 | 63 | ||
64 | /// <summary> | ||
65 | /// | ||
66 | /// </summary> | ||
67 | /// <param name="client"></param> | ||
45 | public void GetProperites(IClientAPI client) | 68 | public void GetProperites(IClientAPI client) |
46 | { | 69 | { |
47 | /* | 70 | /* |
diff --git a/OpenSim/OpenSim.World/World.PacketHandlers.cs b/OpenSim/OpenSim.World/World.PacketHandlers.cs index 9bd09f0..dd340d7 100644 --- a/OpenSim/OpenSim.World/World.PacketHandlers.cs +++ b/OpenSim/OpenSim.World/World.PacketHandlers.cs | |||
@@ -13,6 +13,12 @@ namespace OpenSim.world | |||
13 | { | 13 | { |
14 | public partial class World | 14 | public partial class World |
15 | { | 15 | { |
16 | /// <summary> | ||
17 | /// | ||
18 | /// </summary> | ||
19 | /// <param name="action"></param> | ||
20 | /// <param name="north"></param> | ||
21 | /// <param name="west"></param> | ||
16 | public void ModifyTerrain(byte action, float north, float west) | 22 | public void ModifyTerrain(byte action, float north, float west) |
17 | { | 23 | { |
18 | switch (action) | 24 | switch (action) |
@@ -31,6 +37,14 @@ namespace OpenSim.world | |||
31 | return; | 37 | return; |
32 | } | 38 | } |
33 | 39 | ||
40 | /// <summary> | ||
41 | /// | ||
42 | /// </summary> | ||
43 | /// <param name="message"></param> | ||
44 | /// <param name="type"></param> | ||
45 | /// <param name="fromPos"></param> | ||
46 | /// <param name="fromName"></param> | ||
47 | /// <param name="fromAgentID"></param> | ||
34 | public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) | 48 | public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) |
35 | { | 49 | { |
36 | Console.WriteLine("Chat message"); | 50 | Console.WriteLine("Chat message"); |
@@ -79,59 +93,127 @@ namespace OpenSim.world | |||
79 | } | 93 | } |
80 | } | 94 | } |
81 | 95 | ||
96 | /// <summary> | ||
97 | /// | ||
98 | /// </summary> | ||
99 | /// <param name="primAsset"></param> | ||
100 | /// <param name="pos"></param> | ||
82 | public void RezObject(AssetBase primAsset, LLVector3 pos) | 101 | public void RezObject(AssetBase primAsset, LLVector3 pos) |
83 | { | 102 | { |
84 | 103 | ||
85 | } | 104 | } |
86 | 105 | ||
106 | /// <summary> | ||
107 | /// | ||
108 | /// </summary> | ||
109 | /// <param name="packet"></param> | ||
110 | /// <param name="simClient"></param> | ||
87 | public void DeRezObject(Packet packet, IClientAPI simClient) | 111 | public void DeRezObject(Packet packet, IClientAPI simClient) |
88 | { | 112 | { |
89 | 113 | ||
90 | } | 114 | } |
91 | 115 | ||
116 | /// <summary> | ||
117 | /// | ||
118 | /// </summary> | ||
119 | /// <param name="remoteClient"></param> | ||
92 | public void SendAvatarsToClient(IClientAPI remoteClient) | 120 | public void SendAvatarsToClient(IClientAPI remoteClient) |
93 | { | 121 | { |
94 | 122 | ||
95 | } | 123 | } |
96 | 124 | ||
125 | /// <summary> | ||
126 | /// | ||
127 | /// </summary> | ||
128 | /// <param name="parentPrim"></param> | ||
129 | /// <param name="childPrims"></param> | ||
97 | public void LinkObjects(uint parentPrim, List<uint> childPrims) | 130 | public void LinkObjects(uint parentPrim, List<uint> childPrims) |
98 | { | 131 | { |
99 | 132 | ||
100 | 133 | ||
101 | } | 134 | } |
102 | 135 | ||
136 | /// <summary> | ||
137 | /// | ||
138 | /// </summary> | ||
139 | /// <param name="primLocalID"></param> | ||
140 | /// <param name="shapeBlock"></param> | ||
103 | public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) | 141 | public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) |
104 | { | 142 | { |
105 | 143 | ||
106 | } | 144 | } |
107 | 145 | ||
146 | /// <summary> | ||
147 | /// | ||
148 | /// </summary> | ||
149 | /// <param name="primLocalID"></param> | ||
150 | /// <param name="remoteClient"></param> | ||
108 | public void SelectPrim(uint primLocalID, IClientAPI remoteClient) | 151 | public void SelectPrim(uint primLocalID, IClientAPI remoteClient) |
109 | { | 152 | { |
110 | 153 | ||
111 | } | 154 | } |
112 | 155 | ||
156 | /// <summary> | ||
157 | /// | ||
158 | /// </summary> | ||
159 | /// <param name="localID"></param> | ||
160 | /// <param name="packet"></param> | ||
161 | /// <param name="remoteClient"></param> | ||
113 | public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient) | 162 | public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient) |
114 | { | 163 | { |
115 | 164 | ||
116 | } | 165 | } |
117 | 166 | ||
167 | /// <summary> | ||
168 | /// | ||
169 | /// </summary> | ||
170 | /// <param name="localID"></param> | ||
171 | /// <param name="texture"></param> | ||
172 | /// <param name="remoteClient"></param> | ||
118 | public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient) | 173 | public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient) |
119 | { | 174 | { |
120 | 175 | ||
121 | } | 176 | } |
122 | 177 | ||
178 | /// <summary> | ||
179 | /// | ||
180 | /// </summary> | ||
181 | /// <param name="localID"></param> | ||
182 | /// <param name="pos"></param> | ||
183 | /// <param name="remoteClient"></param> | ||
123 | public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient) | 184 | public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient) |
124 | { | 185 | { |
125 | 186 | ||
126 | } | 187 | } |
127 | 188 | ||
189 | /// <summary> | ||
190 | /// | ||
191 | /// </summary> | ||
192 | /// <param name="localID"></param> | ||
193 | /// <param name="rot"></param> | ||
194 | /// <param name="remoteClient"></param> | ||
128 | public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient) | 195 | public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient) |
129 | { | 196 | { |
130 | 197 | ||
131 | } | 198 | } |
132 | 199 | ||
200 | /// <summary> | ||
201 | /// | ||
202 | /// </summary> | ||
203 | /// <param name="localID"></param> | ||
204 | /// <param name="scale"></param> | ||
205 | /// <param name="remoteClient"></param> | ||
133 | public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient) | 206 | public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient) |
134 | { | 207 | { |
135 | } | 208 | } |
209 | |||
210 | /// <summary> | ||
211 | /// Sends prims to a client | ||
212 | /// </summary> | ||
213 | /// <param name="RemoteClient">Client to send to</param> | ||
214 | public void GetInitialPrims(IClientAPI RemoteClient) | ||
215 | { | ||
216 | |||
217 | } | ||
136 | } | 218 | } |
137 | } | 219 | } |
diff --git a/OpenSim/OpenSim.World/World.Scripting.cs b/OpenSim/OpenSim.World/World.Scripting.cs index 24d887c..048a97f 100644 --- a/OpenSim/OpenSim.World/World.Scripting.cs +++ b/OpenSim/OpenSim.World/World.Scripting.cs | |||
@@ -14,11 +14,17 @@ namespace OpenSim.world | |||
14 | { | 14 | { |
15 | private Dictionary<string, IScriptEngine> scriptEngines = new Dictionary<string, IScriptEngine>(); | 15 | private Dictionary<string, IScriptEngine> scriptEngines = new Dictionary<string, IScriptEngine>(); |
16 | 16 | ||
17 | /// <summary> | ||
18 | /// | ||
19 | /// </summary> | ||
17 | private void LoadScriptEngines() | 20 | private void LoadScriptEngines() |
18 | { | 21 | { |
19 | this.LoadScriptPlugins(); | 22 | this.LoadScriptPlugins(); |
20 | } | 23 | } |
21 | 24 | ||
25 | /// <summary> | ||
26 | /// | ||
27 | /// </summary> | ||
22 | public void LoadScriptPlugins() | 28 | public void LoadScriptPlugins() |
23 | { | 29 | { |
24 | string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ScriptEngines"); | 30 | string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ScriptEngines"); |
@@ -31,6 +37,10 @@ namespace OpenSim.world | |||
31 | } | 37 | } |
32 | } | 38 | } |
33 | 39 | ||
40 | /// <summary> | ||
41 | /// | ||
42 | /// </summary> | ||
43 | /// <param name="FileName"></param> | ||
34 | private void AddPlugin(string FileName) | 44 | private void AddPlugin(string FileName) |
35 | { | 45 | { |
36 | Assembly pluginAssembly = Assembly.LoadFrom(FileName); | 46 | Assembly pluginAssembly = Assembly.LoadFrom(FileName); |
@@ -59,6 +69,13 @@ namespace OpenSim.world | |||
59 | pluginAssembly = null; | 69 | pluginAssembly = null; |
60 | } | 70 | } |
61 | 71 | ||
72 | /// <summary> | ||
73 | /// | ||
74 | /// </summary> | ||
75 | /// <param name="scriptType"></param> | ||
76 | /// <param name="scriptName"></param> | ||
77 | /// <param name="script"></param> | ||
78 | /// <param name="ent"></param> | ||
62 | public void LoadScript(string scriptType, string scriptName, string script, Entity ent) | 79 | public void LoadScript(string scriptType, string scriptName, string script, Entity ent) |
63 | { | 80 | { |
64 | if(this.scriptEngines.ContainsKey(scriptType)) | 81 | if(this.scriptEngines.ContainsKey(scriptType)) |
@@ -69,6 +86,11 @@ namespace OpenSim.world | |||
69 | 86 | ||
70 | #region IScriptAPI Methods | 87 | #region IScriptAPI Methods |
71 | 88 | ||
89 | /// <summary> | ||
90 | /// | ||
91 | /// </summary> | ||
92 | /// <param name="localID"></param> | ||
93 | /// <returns></returns> | ||
72 | public OSVector3 GetEntityPosition(uint localID) | 94 | public OSVector3 GetEntityPosition(uint localID) |
73 | { | 95 | { |
74 | OSVector3 res = new OSVector3(); | 96 | OSVector3 res = new OSVector3(); |
@@ -85,6 +107,13 @@ namespace OpenSim.world | |||
85 | return res; | 107 | return res; |
86 | } | 108 | } |
87 | 109 | ||
110 | /// <summary> | ||
111 | /// | ||
112 | /// </summary> | ||
113 | /// <param name="localID"></param> | ||
114 | /// <param name="x"></param> | ||
115 | /// <param name="y"></param> | ||
116 | /// <param name="z"></param> | ||
88 | public void SetEntityPosition(uint localID, float x , float y, float z) | 117 | public void SetEntityPosition(uint localID, float x , float y, float z) |
89 | { | 118 | { |
90 | foreach (Entity entity in this.Entities.Values) | 119 | foreach (Entity entity in this.Entities.Values) |
@@ -103,6 +132,10 @@ namespace OpenSim.world | |||
103 | 132 | ||
104 | } | 133 | } |
105 | 134 | ||
135 | /// <summary> | ||
136 | /// | ||
137 | /// </summary> | ||
138 | /// <returns></returns> | ||
106 | public uint GetRandomAvatarID() | 139 | public uint GetRandomAvatarID() |
107 | { | 140 | { |
108 | //Console.WriteLine("script- getting random avatar id"); | 141 | //Console.WriteLine("script- getting random avatar id"); |
diff --git a/OpenSim/OpenSim.World/World.cs b/OpenSim/OpenSim.World/World.cs index 29c75e8..77af862 100644 --- a/OpenSim/OpenSim.World/World.cs +++ b/OpenSim/OpenSim.World/World.cs | |||
@@ -36,6 +36,9 @@ namespace OpenSim.world | |||
36 | public string m_datastore; | 36 | public string m_datastore; |
37 | 37 | ||
38 | #region Properties | 38 | #region Properties |
39 | /// <summary> | ||
40 | /// | ||
41 | /// </summary> | ||
39 | public PhysicsScene PhysScene | 42 | public PhysicsScene PhysScene |
40 | { | 43 | { |
41 | set | 44 | set |
@@ -79,12 +82,11 @@ namespace OpenSim.world | |||
79 | TerrainManager = new TerrainManager(new SecondLife()); | 82 | TerrainManager = new TerrainManager(new SecondLife()); |
80 | Terrain = new TerrainEngine(); | 83 | Terrain = new TerrainEngine(); |
81 | Avatar.SetupTemplate("avatar-texture.dat"); | 84 | Avatar.SetupTemplate("avatar-texture.dat"); |
82 | // MainConsole.Instance.WriteLine("World.cs - Creating script engine instance"); | 85 | |
83 | // Initialise this only after the world has loaded | ||
84 | // Scripts = new ScriptEngine(this); | ||
85 | Avatar.LoadAnims(); | 86 | Avatar.LoadAnims(); |
86 | this.SetDefaultScripts(); | 87 | |
87 | this.LoadScriptEngines(); | 88 | //this.SetDefaultScripts(); |
89 | //this.LoadScriptEngines(); | ||
88 | 90 | ||
89 | 91 | ||
90 | } | 92 | } |
@@ -95,6 +97,9 @@ namespace OpenSim.world | |||
95 | } | 97 | } |
96 | #endregion | 98 | #endregion |
97 | 99 | ||
100 | /// <summary> | ||
101 | /// | ||
102 | /// </summary> | ||
98 | public void StartTimer() | 103 | public void StartTimer() |
99 | { | 104 | { |
100 | m_heartbeatTimer.Enabled = true; | 105 | m_heartbeatTimer.Enabled = true; |
@@ -102,79 +107,7 @@ namespace OpenSim.world | |||
102 | m_heartbeatTimer.Elapsed += new ElapsedEventHandler(this.Heartbeat); | 107 | m_heartbeatTimer.Elapsed += new ElapsedEventHandler(this.Heartbeat); |
103 | } | 108 | } |
104 | 109 | ||
105 | #region Script Methods | 110 | |
106 | /// <summary> | ||
107 | /// Loads a new script into the specified entity | ||
108 | /// </summary> | ||
109 | /// <param name="entity">Entity to be scripted</param> | ||
110 | /// <param name="script">The script to load</param> | ||
111 | public void AddScript(Entity entity, Script script) | ||
112 | { | ||
113 | try | ||
114 | { | ||
115 | ScriptHandler scriptHandler = new ScriptHandler(script, entity, this); | ||
116 | m_scriptHandlers.Add(scriptHandler.ScriptId, scriptHandler); | ||
117 | } | ||
118 | catch (Exception e) | ||
119 | { | ||
120 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM, "World.cs: AddScript() - Failed with exception " + e.ToString()); | ||
121 | } | ||
122 | } | ||
123 | |||
124 | /// <summary> | ||
125 | /// Loads a new script into the specified entity, using a script loaded from a string. | ||
126 | /// </summary> | ||
127 | /// <param name="entity">The entity to be scripted</param> | ||
128 | /// <param name="scriptData">The string containing the script</param> | ||
129 | public void AddScript(Entity entity, string scriptData) | ||
130 | { | ||
131 | try | ||
132 | { | ||
133 | int scriptstart = 0; | ||
134 | int scriptend = 0; | ||
135 | string substring; | ||
136 | scriptstart = scriptData.LastIndexOf("<Script>"); | ||
137 | scriptend = scriptData.LastIndexOf("</Script>"); | ||
138 | substring = scriptData.Substring(scriptstart + 8, scriptend - scriptstart - 8); | ||
139 | substring = substring.Trim(); | ||
140 | //Console.WriteLine("searching for script to add: " + substring); | ||
141 | |||
142 | ScriptFactory scriptFactory; | ||
143 | //Console.WriteLine("script string is " + substring); | ||
144 | if (substring.StartsWith("<ScriptEngine:")) | ||
145 | { | ||
146 | string substring1 = ""; | ||
147 | string script = ""; | ||
148 | // Console.WriteLine("searching for script engine"); | ||
149 | substring1 = substring.Remove(0, 14); | ||
150 | int dev = substring1.IndexOf(','); | ||
151 | string sEngine = substring1.Substring(0, dev); | ||
152 | substring1 = substring1.Remove(0, dev + 1); | ||
153 | int end = substring1.IndexOf('>'); | ||
154 | string sName = substring1.Substring(0, end); | ||
155 | //Console.WriteLine(" script info : " + sEngine + " , " + sName); | ||
156 | int startscript = substring.IndexOf('>'); | ||
157 | script = substring.Remove(0, startscript + 1); | ||
158 | // Console.WriteLine("script data is " + script); | ||
159 | if (this.scriptEngines.ContainsKey(sEngine)) | ||
160 | { | ||
161 | this.scriptEngines[sEngine].LoadScript(script, sName, entity.localid); | ||
162 | } | ||
163 | } | ||
164 | else if (this.m_scripts.TryGetValue(substring, out scriptFactory)) | ||
165 | { | ||
166 | //Console.WriteLine("added script"); | ||
167 | this.AddScript(entity, scriptFactory()); | ||
168 | } | ||
169 | } | ||
170 | catch (Exception e) | ||
171 | { | ||
172 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM, "World.cs: AddScript() - Failed with exception " + e.ToString()); | ||
173 | } | ||
174 | } | ||
175 | |||
176 | #endregion | ||
177 | |||
178 | #region Update Methods | 111 | #region Update Methods |
179 | 112 | ||
180 | 113 | ||
@@ -240,6 +173,10 @@ namespace OpenSim.world | |||
240 | updateLock.ReleaseMutex(); | 173 | updateLock.ReleaseMutex(); |
241 | } | 174 | } |
242 | 175 | ||
176 | /// <summary> | ||
177 | /// | ||
178 | /// </summary> | ||
179 | /// <returns></returns> | ||
243 | public bool Backup() | 180 | public bool Backup() |
244 | { | 181 | { |
245 | try | 182 | try |
@@ -321,14 +258,6 @@ namespace OpenSim.world | |||
321 | } | 258 | } |
322 | } | 259 | } |
323 | 260 | ||
324 | public void SetDefaultScripts() | ||
325 | { | ||
326 | this.m_scripts.Add("FollowRandomAvatar", delegate() | ||
327 | { | ||
328 | return new OpenSim.RegionServer.world.scripting.FollowRandomAvatar(); | ||
329 | }); | ||
330 | } | ||
331 | |||
332 | #endregion | 261 | #endregion |
333 | 262 | ||
334 | #region Regenerate Terrain | 263 | #region Regenerate Terrain |
@@ -453,14 +382,6 @@ namespace OpenSim.world | |||
453 | 382 | ||
454 | #region Primitives Methods | 383 | #region Primitives Methods |
455 | 384 | ||
456 | /// <summary> | ||
457 | /// Sends prims to a client | ||
458 | /// </summary> | ||
459 | /// <param name="RemoteClient">Client to send to</param> | ||
460 | public void GetInitialPrims(IClientAPI RemoteClient) | ||
461 | { | ||
462 | |||
463 | } | ||
464 | 385 | ||
465 | /// <summary> | 386 | /// <summary> |
466 | /// Loads the World's objects | 387 | /// Loads the World's objects |
@@ -487,11 +408,21 @@ namespace OpenSim.world | |||
487 | 408 | ||
488 | } | 409 | } |
489 | 410 | ||
411 | /// <summary> | ||
412 | /// | ||
413 | /// </summary> | ||
414 | /// <param name="addPacket"></param> | ||
415 | /// <param name="agentClient"></param> | ||
490 | public void AddNewPrim(Packet addPacket, IClientAPI agentClient) | 416 | public void AddNewPrim(Packet addPacket, IClientAPI agentClient) |
491 | { | 417 | { |
492 | AddNewPrim((ObjectAddPacket)addPacket, agentClient.AgentId); | 418 | AddNewPrim((ObjectAddPacket)addPacket, agentClient.AgentId); |
493 | } | 419 | } |
494 | 420 | ||
421 | /// <summary> | ||
422 | /// | ||
423 | /// </summary> | ||
424 | /// <param name="addPacket"></param> | ||
425 | /// <param name="ownerID"></param> | ||
495 | public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID) | 426 | public void AddNewPrim(ObjectAddPacket addPacket, LLUUID ownerID) |
496 | { | 427 | { |
497 | 428 | ||
@@ -501,6 +432,12 @@ namespace OpenSim.world | |||
501 | 432 | ||
502 | #region Add/Remove Avatar Methods | 433 | #region Add/Remove Avatar Methods |
503 | 434 | ||
435 | /// <summary> | ||
436 | /// | ||
437 | /// </summary> | ||
438 | /// <param name="remoteClient"></param> | ||
439 | /// <param name="agentID"></param> | ||
440 | /// <param name="child"></param> | ||
504 | public override void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) | 441 | public override void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) |
505 | { | 442 | { |
506 | remoteClient.OnRegionHandShakeReply += new GenericCall(this.SendLayerData); | 443 | remoteClient.OnRegionHandShakeReply += new GenericCall(this.SendLayerData); |
@@ -552,6 +489,10 @@ namespace OpenSim.world | |||
552 | return; | 489 | return; |
553 | } | 490 | } |
554 | 491 | ||
492 | /// <summary> | ||
493 | /// | ||
494 | /// </summary> | ||
495 | /// <param name="agentID"></param> | ||
555 | public override void RemoveAvatar(LLUUID agentID) | 496 | public override void RemoveAvatar(LLUUID agentID) |
556 | { | 497 | { |
557 | return; | 498 | return; |
@@ -562,6 +503,10 @@ namespace OpenSim.world | |||
562 | //The idea is to have a group of method that return a list of avatars meeting some requirement | 503 | //The idea is to have a group of method that return a list of avatars meeting some requirement |
563 | // ie it could be all Avatars within a certain range of the calling prim/avatar. | 504 | // ie it could be all Avatars within a certain range of the calling prim/avatar. |
564 | 505 | ||
506 | /// <summary> | ||
507 | /// | ||
508 | /// </summary> | ||
509 | /// <returns></returns> | ||
565 | public List<Avatar> RequestAvatarList() | 510 | public List<Avatar> RequestAvatarList() |
566 | { | 511 | { |
567 | List<Avatar> result = new List<Avatar>(); | 512 | List<Avatar> result = new List<Avatar>(); |
diff --git a/OpenSim/OpenSim.World/WorldBase.cs b/OpenSim/OpenSim.World/WorldBase.cs index 4371b6d..19a8fb5 100644 --- a/OpenSim/OpenSim.World/WorldBase.cs +++ b/OpenSim/OpenSim.World/WorldBase.cs | |||
@@ -49,6 +49,9 @@ namespace OpenSim.world | |||
49 | #endregion | 49 | #endregion |
50 | 50 | ||
51 | #region Constructors | 51 | #region Constructors |
52 | /// <summary> | ||
53 | /// | ||
54 | /// </summary> | ||
52 | public WorldBase() | 55 | public WorldBase() |
53 | { | 56 | { |
54 | 57 | ||
@@ -101,11 +104,21 @@ namespace OpenSim.world | |||
101 | #endregion | 104 | #endregion |
102 | 105 | ||
103 | #region Add/Remove Agent/Avatar | 106 | #region Add/Remove Agent/Avatar |
107 | /// <summary> | ||
108 | /// | ||
109 | /// </summary> | ||
110 | /// <param name="remoteClient"></param> | ||
111 | /// <param name="agentID"></param> | ||
112 | /// <param name="child"></param> | ||
104 | public virtual void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) | 113 | public virtual void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) |
105 | { | 114 | { |
106 | return ; | 115 | return ; |
107 | } | 116 | } |
108 | 117 | ||
118 | /// <summary> | ||
119 | /// | ||
120 | /// </summary> | ||
121 | /// <param name="agentID"></param> | ||
109 | public virtual void RemoveAvatar(LLUUID agentID) | 122 | public virtual void RemoveAvatar(LLUUID agentID) |
110 | { | 123 | { |
111 | return ; | 124 | return ; |
@@ -113,6 +126,10 @@ namespace OpenSim.world | |||
113 | 126 | ||
114 | #endregion | 127 | #endregion |
115 | 128 | ||
129 | /// <summary> | ||
130 | /// | ||
131 | /// </summary> | ||
132 | /// <returns></returns> | ||
116 | public virtual RegionInfo GetRegionInfo() | 133 | public virtual RegionInfo GetRegionInfo() |
117 | { | 134 | { |
118 | return null; | 135 | return null; |
diff --git a/OpenSim/OpenSim.World/types/Mesh.cs b/OpenSim/OpenSim.World/types/Mesh.cs index 3e00c91..ff0cc65 100644 --- a/OpenSim/OpenSim.World/types/Mesh.cs +++ b/OpenSim/OpenSim.World/types/Mesh.cs | |||
@@ -9,16 +9,29 @@ namespace OpenSim.types | |||
9 | { | 9 | { |
10 | public List<Triangle> mesh; | 10 | public List<Triangle> mesh; |
11 | 11 | ||
12 | /// <summary> | ||
13 | /// | ||
14 | /// </summary> | ||
12 | public Mesh() | 15 | public Mesh() |
13 | { | 16 | { |
14 | mesh = new List<Triangle>(); | 17 | mesh = new List<Triangle>(); |
15 | } | 18 | } |
16 | 19 | ||
20 | /// <summary> | ||
21 | /// | ||
22 | /// </summary> | ||
23 | /// <param name="tri"></param> | ||
17 | public void AddTri(Triangle tri) | 24 | public void AddTri(Triangle tri) |
18 | { | 25 | { |
19 | mesh.Add(tri); | 26 | mesh.Add(tri); |
20 | } | 27 | } |
21 | 28 | ||
29 | /// <summary> | ||
30 | /// | ||
31 | /// </summary> | ||
32 | /// <param name="a"></param> | ||
33 | /// <param name="b"></param> | ||
34 | /// <returns></returns> | ||
22 | public static Mesh operator +(Mesh a, Mesh b) | 35 | public static Mesh operator +(Mesh a, Mesh b) |
23 | { | 36 | { |
24 | a.mesh.AddRange(b.mesh); | 37 | a.mesh.AddRange(b.mesh); |
diff --git a/OpenSim/OpenSim.World/types/Triangle.cs b/OpenSim/OpenSim.World/types/Triangle.cs index 8dfea6e..07c0a91 100644 --- a/OpenSim/OpenSim.World/types/Triangle.cs +++ b/OpenSim/OpenSim.World/types/Triangle.cs | |||
@@ -11,6 +11,9 @@ namespace OpenSim.types | |||
11 | Vector3 b; | 11 | Vector3 b; |
12 | Vector3 c; | 12 | Vector3 c; |
13 | 13 | ||
14 | /// <summary> | ||
15 | /// | ||
16 | /// </summary> | ||
14 | public Triangle() | 17 | public Triangle() |
15 | { | 18 | { |
16 | a = new Vector3(); | 19 | a = new Vector3(); |
@@ -18,6 +21,12 @@ namespace OpenSim.types | |||
18 | c = new Vector3(); | 21 | c = new Vector3(); |
19 | } | 22 | } |
20 | 23 | ||
24 | /// <summary> | ||
25 | /// | ||
26 | /// </summary> | ||
27 | /// <param name="A"></param> | ||
28 | /// <param name="B"></param> | ||
29 | /// <param name="C"></param> | ||
21 | public Triangle(Vector3 A, Vector3 B, Vector3 C) | 30 | public Triangle(Vector3 A, Vector3 B, Vector3 C) |
22 | { | 31 | { |
23 | a = A; | 32 | a = A; |