[Opensim-users] Proposal for a new OSSL function

R.Gunther rigun at rigutech.nl
Fri Mar 13 20:25:04 UTC 2015


I expected the OSSL works also with UUID you get from sensor. 
llGetObject details works very good for me, except am misisng the object 
size.
I have a workaround for that. But a command that need to scan the whole 
sim to get something. I agree with dahlia, bad idea.

On 2015-03-13 21:12, Dahlia Trimble wrote:
> Some initial thoughts
>
> Why not a function that returns a uuid for a name? Actually this could 
> be done with a sensor now. No need to duplicate llGetObjectDetails 
> functionality, just call it once you get the uuid.
>
> Such a function would need to scan every object in the region for a 
> name match, similar to how a sensor would do it. This can put a lot of 
> load on the simulator and could tie up internal data structures until 
> the scan completes, possibly preventing other more critical code from 
> executing. If such functionality was added, it would likely need to be 
> throttled to prevent abuse and/or use events to return results similar 
> to sensors now. Perhaps another approach might be to get rid of the 
> sensor distance limit, or relax it in favor of some other penalty such 
> as a script delay if a further distance is requested. This would, 
> however, deviate from the SL API documented behavior and as such would 
> probably need to go into a os* function.
>
> Sorry, I don't accept the argument that it reduces code complexity, it 
> only moves the complexity into the simulator code. Script event 
> patterns are quite common and well understood by the community and 
> have the advantage that, when used properly in place of other patterns 
> (loops, etc), help the simulator run better.
>
> On Fri, Mar 13, 2015 at 12:10 PM, Chris <mewtwo0641 at gmail.com 
> <mailto:mewtwo0641 at gmail.com>> wrote:
>
>     Getting an object's size would be a really nice addition; but
>     going by how llGetScale() functions I believe it would be limited
>     to getting just the root prim's size rather than overall size if
>     I'm thinking about this correctly.
>
>
>     On 3/13/2015 2:03 PM, R.Gunther wrote:
>
>         One thing that llGetObject detail is missing is to get the
>         prim size. so if this command get add. i hope the add the
>         object size too.
>
>
>         On 2015-03-13 20:00, Chris wrote:
>
>             Hello all,
>
>             I have a proposal for a new OSSL function that could
>             possibly prove useful: osGetObjectNameDetails()
>
>             I would have sent this to the opensim-dev mailing list but
>             I'm unsure now of where this is located and how to sign up
>             for that list since the old mailing list locations are now
>             gone. Can someone please point me in the right direction? :)
>
>             This proposal has also been posted at
>             http://opensimulator.org/wiki/OSSL_Proposals
>
>             Thank you in advance for the consideration!
>
>             ----------
>             Function:
>             ----------
>
>             list osGetObjectNameDetails(list names, list params);
>             list osGetObjectNameDetails(list names, float range, list
>             params);
>
>             -------------
>             Description:
>             -------------
>
>             Would work similarly to llGetObjectDetails() but has the
>             advantage of specifying for an object's name (or list of
>             names) instead of by key. If more than one name match is
>             found then the return list will have those matches (or
>             groups of matches if more than one parameter is supplied)
>             sorted in order from nearest to furthest from the prim
>             calling osGetObjectNameDetails. By default this would scan
>             the entire region but optionally a range can be specified
>             to only search within a certain radius similar to llSensor().
>
>             This has potential, for most single item situations at
>             least, eliminate the need for an llSensor() call and also
>             eliminate the need for a sensor event thus reducing code
>             complexity and make for very easy and very quick data
>             collection to be further processed upon.
>
>             ---------
>             Example:
>             ---------
>
>             list objDetails;
>
>             default
>             {
>                 state_entry()
>                 {
>                     //Example 1:
>                     //For this example assume this prim is located at
>             <128, 125, 30> and we have two objects named 'Chair'.
>                     //'Chair' #1 is located at <128, 128, 30> and
>             owned by avatar UUID 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a
>                     //'Chair' #2 is located at <128, 130, 30> and
>             owned by avatar UUID 1c612fb2-748c-4a1a-ad57-27f488210c06
>
>                     objDetails = osGetObjectNameDetails(["Chair"],
>             OBJECT_NAME | OBJECT_POS | OBJECT_OWNER);
>
>                     llOwnerSay(llDumpList2String(objDetails, ", "));
>
>                     //llOwnerSay() output should be: Chair, <128, 128,
>             30>, 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a, Chair, <128,
>             130, 30>, 1c612fb2-748c-4a1a-ad57-27f488210c06
>
>             //------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>                     //Example 2:
>                     //For this example assume everything stays the
>             same as in Example 1 except that we're specifying a range.
>
>                     objDetails = osGetObjectNameDetails(["Chair"],
>             5.0, OBJECT_NAME | OBJECT_POS | OBJECT_OWNER);
>
>                     llOwnerSay(llDumpList2String(objDetails, ", "));
>
>                     //llOwnerSay() output should be: Chair, <128, 128,
>             30>, 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a
>
>             //------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>                     //Example 3:
>                     //For this example assume this prim is located at
>             <128, 125, 30> and we have two objects: 'Chair 1' and
>             'Chair 2'.
>                     //'Chair 1' is located at <128, 128, 30> and owned
>             by avatar UUID 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a
>                     //'Chair 2' is located at <128, 130, 30> and owned
>             by avatar UUID 1c612fb2-748c-4a1a-ad57-27f488210c06
>
>                     objDetails = osGetObjectNameDetails(["Chair 1",
>             "Chair 2"], OBJECT_NAME | OBJECT_POS | OBJECT_OWNER);
>
>                     llOwnerSay(llDumpList2String(objDetails, ", "));
>
>                     //llOwnerSay() output should be: Chair 1, <128,
>             128, 30>, 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a, Chair 2,
>             <128, 130, 30>, 1c612fb2-748c-4a1a-ad57-27f488210c06
>
>             //------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>                     //Example 4:
>                     //For this example assume everything stays the
>             same as in Example 3 except that we're specifying a range.
>
>                     objDetails = osGetObjectNameDetails(["Chair 1",
>             "Chair 2"], 5.0, OBJECT_NAME | OBJECT_POS | OBJECT_OWNER);
>
>                     llOwnerSay(llDumpList2String(objDetails, ", "));
>
>                     //llOwnerSay() output should be: Chair 1, <128,
>             128, 30>, 5f9c7c6c-f2c9-4196-8d8d-07cdeb71821a
>                 }
>             }
>
>
>         _______________________________________________
>         Opensim-users mailing list
>         Opensim-users at opensimulator.org
>         <mailto:Opensim-users at opensimulator.org>
>         http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
>
>
>     -- 
>     OpenSim: 10 Region Standalone on 0.7.6 Dev
>     Physics: Open Dynamics Engine
>     OS: Windows 7 (x64)
>     CPU: AMD FX 8320 8-Core 3.5 GHz
>     Memory: 16 GB DDR3
>     Database: MySQL 5.1.63 (x64)
>
>     _______________________________________________
>     Opensim-users mailing list
>     Opensim-users at opensimulator.org
>     <mailto:Opensim-users at opensimulator.org>
>     http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
>
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-users/attachments/20150313/e7c5371d/attachment.html>


More information about the Opensim-users mailing list