[Opensim-dev] physics interface / Re: OpenSim beginner question

Teravus Ovares teravus at gmail.com
Sat Dec 12 00:34:11 UTC 2009


That's actually the "easiest description to understand" version.
The longer and more truthful version..   is 'Simulate' is run within
the thread context of the heartbeat thread in the region.   Having
changes applied during that time does not require extensive locking
because we know, for sure, that only a single thread will be making
the changes during that time.

Best Regards

Teravus


On Fri, Dec 11, 2009 at 7:30 PM, Teravus Ovares <teravus at gmail.com> wrote:
> It is a queue, so that every change to a prim doesn't have to lock the
> prim.    Changes get added to a List.  The prim is locked during
> Simulate and the changes are applied at that time.
>
> Best Regards
>
> Teravus
>
> On Fri, Dec 11, 2009 at 11:23 AM, Max 79 <emmix79 at googlemail.com> wrote:
>> Thanks Dhalia for the hint, I got much deeper in OpenSim source code now,
>> but I have a problem to follow the connection to ODE . What is this
>> taintedPrim-flag for?....comments say it would be some kind of queue, for
>> not loosing updates, while a prim is locked...but who else might lock that
>> prim? I cut out and paste the particular piece of code at the end of this
>> mail.
>>
>> Another thing I wonder about, where to find a function or class, that serves
>> for all that synchronization stuff. I think you must use this for objects
>> that are physics enabled but moved only after a collision or gravity. Those
>> must also be updated in the no-physics-scene. I don`t know how to find that
>> part of physics interface, can anybody help with this?
>>
>> Thanks in advance,
>> Max
>>
>>
>>
>> public override void AddPhysicsActorTaint(PhysicsActor prim)
>>        {
>>                      if (prim is OdePrim)
>>            {
>>                OdePrim taintedprim = ((OdePrim) prim);
>>                lock (_taintedPrim)
>>                {
>>                    if (!(_taintedPrim.Contains(taintedprim)))
>>                        _taintedPrim.Add(taintedprim);                }
>>          ...
>>
>>
>>
>>
>> Dahlia Trimble schrieb:
>>
>> Hi Max,
>>
>> The communication with the client is mainly handled in the class
>> LLClientView.cs (OpenSim\Region\ClientStack\LindenUDP\LLClientView.cs on my
>> installation). It communicates with the rest of OpenSim through various
>> interface classes. To make exploring the code easier, I would recommending
>> opening the OpenSim solution in Visual Studio or Visual C# Express and using
>> the "Go To Definition" and "Find All References" features that appear when
>> right-clicking on a identifier name.
>>
>>
>>
>> On Mon, Dec 7, 2009 at 10:49 AM, Max 79 <emmix79 at googlemail.com
>> <mailto:emmix79 at googlemail.com>> wrote:
>>
>>     Hi all,
>>
>>     i discovered this project last week and now i´m trying to
>>     understand the the OpenSimServer. I read onlinedocs on projects
>>     site, then i started to look at the source code. Now i`m searching
>>     for something like the entry point of a message processing, which
>>     has been send to the server. Can anybody give me a hint, which
>>     class serves as communicator to the client?
>>
>>     Thanks in advance,
>>     Max
>>
>>     _______________________________________________
>>     Opensim-dev mailing list
>>     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
>>     https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>
>>
>



More information about the Opensim-dev mailing list