Hi-osg-users,

Last post because sometimes I write too much ;-)

The ideal solution was for me to not forget to call
osgViewer::CompositeViewer::realize() after adding a new view...

Sorry to bother you.

2009/1/19 Alexandre Amalric <[email protected]>

> Hi osg-users,
>
> For those who are interested I find the solution, before calling for the
> first time osgViewer::CompositeViewer::frame() I call
> osgViewer::CompositeViewer::setReferenceTime() like :
>
> pCompoViewer->setReferenceTime(osg::Timer::instance()->time_s());
>
> So I can now use the AnimationPathManipulator, no more need to derive this
> class.
>
> 2009/1/19 Alexandre Amalric <[email protected]>
>
> Hi Ralph,
>>
>> I took the time to convert my program to call beginthreadex instead of
>> CreateThread, but the bug stay the same.
>>
>> I think it's because of my PeekMessage loop because it's the only
>> difference between the MFC sample and my corresponding part of code.
>>
>> I think I'm gonna keep my derived class from AnimationPathManipulator
>> calling osg::Timer::instance()->time_s() instead of ea.getTime(), because I
>> don't see any other solution.
>>
>>
>> 2009/1/19 Ralph Kern <[email protected]>
>>
>> Hi Alexandre,
>>>
>>> I haven't dug in deeply in your problem, but I guess it stems from the
>>> following remark from the CreateThread() documentation:
>>>
>>> > A thread that uses functions from the C run-time libraries should use
>>> the beginthread and endthread C run-time functions for thread management
>>> rather than CreateThread and ExitThread. Failure to do so results in small
>>> memory leaks when ExitThread is called.
>>> >
>>>
>>> This in fact means you cannot reliably use any function in your thread
>>> which might call a c run time lib function.
>>>
>>> Try to rewrite your thread initialization to use _beginthread instead.
>>>
>>> regards Ralph
>>>
>>> Alexandre Amalric schrieb:
>>> > Hi osg-users,
>>> >
>>> > I'm developping an application under MFC and I started from the MFC
>>> > sample to begin with but with a little difference in thread management.
>>> >
>>> > My rendering thread isn't create with _beginthread but with
>>> CreateThread
>>> > wich launch a CWinThread derived class with a message pump, I want it
>>> to
>>> > be a UI thread and not a worker thread.
>>> >
>>> > So I don't know if I'm clear but my problem is that when I play a path
>>> > and I press 'p' key to pause, the camera isn't at the correct position.
>>> > In fact I decided to derive osgGA::AnimationPathManipulator class and
>>> to
>>> > replace all ea.getTime() by fTimeSec ( double fTimeSec =
>>> > osg::Timer::instance()->time_s();) in function handle(const
>>> > osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us);
>>> >
>>> > With this method it works perfectly, so I assume that when creating a
>>> > rendering thread responsible to call viewer::frame() with CreateThread
>>> > the ea.getTime() isn't the correct time...
>>> >
>>> > Can someone explain me why we use ea.getTime() and not
>>> > osg::Timer::instance()->time_s() ?
>>> >
>>> >
>>> > --
>>> > Alexandre AMALRIC                   Ingénieur R&D
>>> > ===================================
>>> > PIXXIM S.A. 73E, rue Perrin-Solliers 13006 Marseille
>>> > http://www.pixxim.fr
>>> >
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> [email protected]
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>
>>
>>
>> --
>> Alexandre AMALRIC                   Ingénieur R&D
>> ===================================
>> PIXXIM S.A. 73E, rue Perrin-Solliers 13006 Marseille
>> http://www.pixxim.fr
>>
>
>
>
> --
> Alexandre AMALRIC                   Ingénieur R&D
> ===================================
> PIXXIM S.A. 73E, rue Perrin-Solliers 13006 Marseille
> http://www.pixxim.fr
>



-- 
Alexandre AMALRIC                   Ingénieur R&D
===================================
PIXXIM S.A. 73E, rue Perrin-Solliers 13006 Marseille
http://www.pixxim.fr
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to