From 07c487a28f6ce6d85cf32fba0c2ded724f7b5af7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 2 Feb 2012 21:36:45 +0100 Subject: Make ban, eject, freeze and the scripted versions of those work. --- OpenSim/Framework/ILandObject.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index f75a990..dd73b3f 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -73,9 +73,9 @@ namespace OpenSim.Framework bool IsRestrictedFromLand(UUID avatar); void SendLandUpdateToClient(IClientAPI remote_client); void SendLandUpdateToClient(bool snap_selection, IClientAPI remote_client); - List CreateAccessListArrayByFlag(AccessList flag); + List CreateAccessListArrayByFlag(AccessList flag); void SendAccessList(UUID agentID, UUID sessionID, uint flags, int sequenceID, IClientAPI remote_client); - void UpdateAccessList(uint flags, UUID transactionID, int sequenceID, int sections, List entries, IClientAPI remote_client); + void UpdateAccessList(uint flags, UUID transactionID, int sequenceID, int sections, List entries, IClientAPI remote_client); void UpdateLandBitmapByteArray(); void SetLandBitmapFromByteArray(); bool[,] GetLandBitmap(); -- cgit v1.1 From a285ff7e6942f9b55b18b00a765a5b4491fba011 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 3 Jan 2013 14:27:21 +0000 Subject: check land permitions on sit target for unscripted sits --- OpenSim/Framework/ILandObject.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index 4f98d7b..7a24d1e 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -70,6 +70,7 @@ namespace OpenSim.Framework void UpdateLandProperties(LandUpdateArgs args, IClientAPI remote_client); bool IsEitherBannedOrRestricted(UUID avatar); bool IsBannedFromLand(UUID avatar); + bool CanBeOnThisLand(UUID avatar, float posHeight); bool IsRestrictedFromLand(UUID avatar); bool IsInLandAccessList(UUID avatar); void SendLandUpdateToClient(IClientAPI remote_client); -- cgit v1.1 From 5b73b9c4a85335ba837280688b903fef44be8f35 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 11 Dec 2013 01:39:56 +0000 Subject: Committing the Avination Scene Presence and related texture code - Parts of region crossing code - New bakes handling code - Bakes now sent from sim to sim without central storage - Appearance handling changes - Some changes to sitting - A number of unrelated fixes and improvements --- OpenSim/Framework/ILandObject.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index 4f98d7b..7a24d1e 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -70,6 +70,7 @@ namespace OpenSim.Framework void UpdateLandProperties(LandUpdateArgs args, IClientAPI remote_client); bool IsEitherBannedOrRestricted(UUID avatar); bool IsBannedFromLand(UUID avatar); + bool CanBeOnThisLand(UUID avatar, float posHeight); bool IsRestrictedFromLand(UUID avatar); bool IsInLandAccessList(UUID avatar); void SendLandUpdateToClient(IClientAPI remote_client); -- cgit v1.1 From f0998a9222bdbd27bc11ed106cb4087c18b2c05e Mon Sep 17 00:00:00 2001 From: Dev Random Date: Thu, 10 Apr 2014 21:08:54 -0400 Subject: Add per-user checking to PrimLimitsModule Signed-off-by: Melanie --- OpenSim/Framework/ILandObject.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index 7a24d1e..8465c86 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -38,6 +38,7 @@ namespace OpenSim.Framework int GetParcelMaxPrimCount(); int GetSimulatorMaxPrimCount(); int GetPrimsFree(); + Dictionary GetLandObjectOwners(); LandData LandData { get; set; } bool[,] LandBitmap { get; set; } -- cgit v1.1 From d6dbfd1687f098d2ef460d5a7a6d3c89f48ef89c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 30 Jul 2014 15:43:54 +0100 Subject: missing file in commit 5fe1f878372b5490304a2ad7c0a41293ae36aaa0 --- OpenSim/Framework/ILandObject.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index 7a24d1e..8d15119 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -67,7 +67,7 @@ namespace OpenSim.Framework void SendLandUpdateToAvatarsOverMe(); void SendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client); - void UpdateLandProperties(LandUpdateArgs args, IClientAPI remote_client); + bool UpdateLandProperties(LandUpdateArgs args, IClientAPI remote_client, out bool snap_selection, out bool needOverlay); bool IsEitherBannedOrRestricted(UUID avatar); bool IsBannedFromLand(UUID avatar); bool CanBeOnThisLand(UUID avatar, float posHeight); -- cgit v1.1 From b23e5fd8b6d1cc01eddaf08fde646551a8e2c984 Mon Sep 17 00:00:00 2001 From: Jak Daniels Date: Wed, 18 Nov 2015 18:02:13 +0000 Subject: Changes to LandObject/ILandObject to support importing OARs with different Region sizes to the destination region. Signed-off-by: UbitUmarov --- OpenSim/Framework/ILandObject.cs | 47 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index db1496c..ef7a9e6 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -97,20 +97,63 @@ namespace OpenSim.Framework /// /// Land co-ordinates are zero indexed. The inputs are treated as points. So if you want to create a bitmap /// that covers an entire 256 x 256m region apart from a strip of land on the east, then you would need to - /// specify start_x = 0, start_y = 0, end_x = 252 (or anything up to 255), end_y = 256. + /// specify start_x = 0, start_y = 0, end_x = 252 (or anything up to 255), end_y = 255. /// /// At the moment, the smallest parcel of land is 4m x 4m, so if the /// region is 256 x 256m (the SL size), the bitmap returned will start at (0,0) and end at (63,63). + /// The value of the set_value needs to be true to define an active parcel of the given size. /// /// /// /// /// + /// /// The bitmap created. - bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y); + bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y, bool set_value = true); bool[,] ModifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value); + + /// + /// Merge two (same size) land bitmaps. + /// + /// + /// + /// The modified bitmap. bool[,] MergeLandBitmaps(bool[,] bitmap_base, bool[,] bitmap_add); + + /// + /// Remap a land bitmap. Takes the supplied land bitmap and rotates it, crops it and finally offsets it into + /// a final land bitmap of the target region size. + /// + /// The original parcel bitmap + /// + /// <x,y,?> + /// <x,y,?> + /// <x,y,?> + /// <x,y,?> + /// out: This is set if the resultant bitmap is now empty + /// out: parcel.AABBMin <x,y,0> + /// out: parcel.AABBMax <x,y,0> + /// New parcel bitmap + bool[,] RemapLandBitmap(bool[,] bitmap_base, Vector2 displacement, float rotationDegrees, Vector2 boundingOrigin, Vector2 boundingSize, Vector2 regionSize, out bool isEmptyNow, out Vector3 AABBMin, out Vector3 AABBMax); + + /// + /// Clears any parcel data in bitmap_base where there exists parcel data in bitmap_new. In other words the parcel data + /// in bitmap_new takes over the space of the parcel data in bitmap_base. + /// + /// + /// + /// out: This is set if the resultant bitmap is now empty + /// out: parcel.AABBMin <x,y,0> + /// out: parcel.AABBMax <x,y,0> + /// New parcel bitmap + bool[,] RemoveFromLandBitmap(bool[,] bitmap_base, bool[,] bitmap_new, out bool isEmptyNow, out Vector3 AABBMin, out Vector3 AABBMax); + + byte[] ConvertLandBitmapToBytes(); + bool[,] ConvertBytesToLandBitmap(bool overrideRegionSize = false); + bool IsLandBitmapEmpty(bool[,] landBitmap); + void DebugLandBitmap(bool[,] landBitmap); + void SendForceObjectSelect(int local_id, int request_type, List returnIDs, IClientAPI remote_client); void SendLandObjectOwners(IClientAPI remote_client); void ReturnLandObjects(uint type, UUID[] owners, UUID[] tasks, IClientAPI remote_client); -- cgit v1.1 From 2a354f6c286b4b70e2768d9b267f53c3d391a10b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 14 Dec 2015 11:57:24 +0000 Subject: calculate land startpoint, endpoint and center estimate when it is updated, it not every time they are needed --- OpenSim/Framework/ILandObject.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index ef7a9e6..7a50c2a 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -50,16 +50,19 @@ namespace OpenSim.Framework IPrimCounts PrimCounts { get; set; } /// - /// The start point for the land object. This is the western-most point as one scans land working from - /// north to south. + /// The start point for the land object. This is the northern-most point as one scans land working from + /// west to east. /// - Vector3 StartPoint { get; } + Vector2 StartPoint { get; } /// - /// The end point for the land object. This is the eastern-most point as one scans land working from - /// south to north. + /// The end point for the land object. This is the southern-most point as one scans land working from + /// west to east. /// - Vector3 EndPoint { get; } + Vector2 EndPoint { get; } + + // a estimation of a parcel center. + Vector2 CenterPoint { get; } bool ContainsPoint(int x, int y); -- cgit v1.1 From c7b963df8f531f112c235c748c27ca2d36d770b8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 15 Dec 2015 17:13:32 +0000 Subject: replace GetNearestPoint... funtions --- OpenSim/Framework/ILandObject.cs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index 7a50c2a..af072fe 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -64,6 +64,10 @@ namespace OpenSim.Framework // a estimation of a parcel center. Vector2 CenterPoint { get; } + // get positions + Vector2? GetNearestPoint(Vector3 pos); + Vector2? GetNearestPointAlongDirection(Vector3 pos, Vector3 pdirection); + bool ContainsPoint(int x, int y); ILandObject Copy(); -- cgit v1.1 From b16abc8166c29585cb76cc55c3bdd76e5833cb4f Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 5 Jan 2017 19:07:37 +0000 Subject: Massive tab and trailing space cleanup --- OpenSim/Framework/ILandObject.cs | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index af072fe..f3b850d 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -43,33 +43,33 @@ namespace OpenSim.Framework LandData LandData { get; set; } bool[,] LandBitmap { get; set; } UUID RegionUUID { get; } - + /// /// Prim counts for this land object. /// IPrimCounts PrimCounts { get; set; } - + /// - /// The start point for the land object. This is the northern-most point as one scans land working from + /// The start point for the land object. This is the northern-most point as one scans land working from /// west to east. /// Vector2 StartPoint { get; } - + /// - /// The end point for the land object. This is the southern-most point as one scans land working from + /// The end point for the land object. This is the southern-most point as one scans land working from /// west to east. - /// + /// Vector2 EndPoint { get; } - // a estimation of a parcel center. + // a estimation of a parcel center. Vector2 CenterPoint { get; } - + // get positions Vector2? GetNearestPoint(Vector3 pos); Vector2? GetNearestPointAlongDirection(Vector3 pos, Vector3 pdirection); bool ContainsPoint(int x, int y); - + ILandObject Copy(); void SendLandUpdateToAvatarsOverMe(); @@ -97,16 +97,16 @@ namespace OpenSim.Framework /// /// The bitmap created. bool[,] BasicFullRegionLandBitmap(); - + /// /// Create a square land bitmap. /// /// /// Land co-ordinates are zero indexed. The inputs are treated as points. So if you want to create a bitmap - /// that covers an entire 256 x 256m region apart from a strip of land on the east, then you would need to + /// that covers an entire 256 x 256m region apart from a strip of land on the east, then you would need to /// specify start_x = 0, start_y = 0, end_x = 252 (or anything up to 255), end_y = 255. - /// - /// At the moment, the smallest parcel of land is 4m x 4m, so if the + /// + /// At the moment, the smallest parcel of land is 4m x 4m, so if the /// region is 256 x 256m (the SL size), the bitmap returned will start at (0,0) and end at (63,63). /// The value of the set_value needs to be true to define an active parcel of the given size. /// @@ -117,7 +117,7 @@ namespace OpenSim.Framework /// /// The bitmap created. bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y, bool set_value = true); - + bool[,] ModifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value); /// @@ -153,7 +153,7 @@ namespace OpenSim.Framework /// out: This is set if the resultant bitmap is now empty /// out: parcel.AABBMin <x,y,0> /// out: parcel.AABBMax <x,y,0> - /// New parcel bitmap + /// New parcel bitmap bool[,] RemoveFromLandBitmap(bool[,] bitmap_base, bool[,] bitmap_new, out bool isEmptyNow, out Vector3 AABBMin, out Vector3 AABBMax); byte[] ConvertLandBitmapToBytes(); @@ -177,7 +177,7 @@ namespace OpenSim.Framework /// /// void SetMediaUrl(string url); - + /// /// Set the music url for this land parcel /// -- cgit v1.1 From 156707edfb88b9ddf679751f8f6d8128b2abd7be Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 14 May 2017 06:27:29 +0100 Subject: clear land object on delete --- OpenSim/Framework/ILandObject.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index f3b850d..a783256 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -189,5 +189,7 @@ namespace OpenSim.Framework /// /// The music url. string GetMusicUrl(); + + void Clear(); } } -- cgit v1.1 From cded99626595dba9f15ad5485cf2fe1260c3266f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Nov 2018 18:56:38 +0000 Subject: remove a dev only conditional on lludp handlers; change parcel lists updates a bit; --- OpenSim/Framework/ILandObject.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Framework/ILandObject.cs') diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index a783256..1f39482 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs @@ -85,7 +85,7 @@ namespace OpenSim.Framework void SendLandUpdateToClient(bool snap_selection, IClientAPI remote_client); List CreateAccessListArrayByFlag(AccessList flag); void SendAccessList(UUID agentID, UUID sessionID, uint flags, int sequenceID, IClientAPI remote_client); - void UpdateAccessList(uint flags, UUID transactionID, int sequenceID, int sections, List entries, IClientAPI remote_client); + void UpdateAccessList(uint flags, UUID transationID, List entries); void UpdateLandBitmapByteArray(); void SetLandBitmapFromByteArray(); bool[,] GetLandBitmap(); -- cgit v1.1