I am in fact looking for 3.
Does anyone know if it is possible? Is there another group working on
something like this?
Matti

On Fri, Jun 12, 2009 at 4:01 PM, Nitro <[email protected]> wrote:

> Am 12.06.2009, 08:25 Uhr, schrieb Matti Picus <[email protected]>:
>
> >  From their website "/SharpMap/ is an easy-to-use map rendering and
> > display engine, including AJAX-
> >
> > powered ASP.Net UserControl and a WinForm 2.0 control."
> >
> > On the other hand, floatcanvas just works :),
> >
> > I have an wxPython application with live video in one Panel and a map in
> > a FloatCanvas and the frame rate is acceptable. Now the project wants to
> > move to csharp for the framework, but the under the SharpMap
> > implementation the frame rate is way too low.
> >
> > How hard would it be to integrate a floatcanvas panel into a csharp
> > application? What would be the best way to go about it? I have seen
> > wx.Net and IronPython - neither seem to be able to actually call
> > wxPython directly.
>
> I'm assuming this is a desktop application and you don't need
> functionality like the ASP.Net UserControl.
>
> There are different ways to do what you want I think. It depends a bit how
> interactive your map is. If it's something like your video shows a car
> driving and the map next to it shows a red dot representing the curent
> position of the car then you could do it like this:
>
> Method 1:
>
> 1) Just make your fc application work as it is.
> 2) Add a method which retrieves the contents of yourCanvas._Buffer
> 3) Add a way of IPC between your C# and your python application (e.g.
> sockets)
> 4) Transfer the bitmap retrieved in 2) over IPC to your C# app for display
> 5) Add more methods so you C# app can tell the fc app to load a different
> map for instance
>
> I don't know what the actual speed of this will be, it probably depends on
> the size of your map window. Very old machines probably can't do this too
> fast. As a bonus if you use sockets for IPC you can have a server
> streaming the data and multiple clients listening. Shared-memory IPC might
> save you some copies.
>
> Method 2:
>
> 1) Add some kind of empty placeholder control where the map is supposed to
> be in your C# app
> 2) Make sure the float canvas panel always displays at the position and
> size of this placeholder control
> 3) Add some way of IPC to exchange information between both apps
>
> This method has the advantage that you don't have to get and transfer the
> contents of the bitmap around which might slow things down a lot.
>
> Method 3:
>
> Maybe there is a way to make this work by directly integrating the fc app
> and .net into a single process. From what I read IronPython probably will
> refuse to load the wxPython dlls since they are not .net assemblies.
> I don't know if you can embed python into .net or vice-versa in a
> different way. If this could be done, you could call the wx main loop
> step-by-step manually, just as the .net one.
>
> -Matthias
> _______________________________________________
> FloatCanvas mailing list
> [email protected]
> http://paulmcnett.com/cgi-bin/mailman/listinfo/floatcanvas
>
_______________________________________________
FloatCanvas mailing list
[email protected]
http://paulmcnett.com/cgi-bin/mailman/listinfo/floatcanvas

Reply via email to