Hi Kelvin, I'm sorry for not replying to the group... (I'm not familiar with this "MS Outlook Tool" here at work...)
Meanwhile Paul Byrne gave me the advice to look under java3d.netbeans.org and solved my problem ! Regards, Andreas ::Hi Andreas, :: :: Do you have a live viewPlatform attach to View when ::v.stopBehaviorScheduler() is invoked ? :: :: I can see from the current source code that there ::is a bug causing isBehaviorSchedulerRunning() ::always return true in this case. :: ::- Kelvin ::------------------ ::Java 3D Team ::Sun Microsystems Inc. :: :: ::>Date: Fri, 17 May 2002 21:12:49 +0200 ::>From: Andreas Jerke <[EMAIL PROTECTED]> ::>Subject: [JAVA3D] Behaviour Scheduler does not stop ::>To: [EMAIL PROTECTED] ::>MIME-version: 1.0 ::>X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 ::>Content-transfer-encoding: 7bit ::>Importance: Normal ::>X-Priority: 3 (Normal) ::>X-MSMail-priority: Normal ::>Delivered-to: [EMAIL PROTECTED] ::> ::>Hello, ::> ::>I'm developing a SceneGraph inspector. This is a Swing Jtree which ::>views the actual SceneGraph for debug and development. ::> ::>This JTree listens to a tree model called InspectorLocal (a Locale ::>implementing interface TreeModel). So you can use InspectorLocale ::>instead of Locale for debugging. ::> ::>To get access to all live Nodes and NodeComponets in ::InspectorLocale, I ::>have to detach all BranchGroups, perform all necessary access to the ::>SceneGraph references and after this reattach all BranchGroups. I ::>perform this detaching/reattach in a Thread, so the Jtree is ::fast and ::>has a smart usability without "hanging" . The Thread will wait some ::>milliseconds before reattaching, because the JTree will call the ::>methods implemented by TreeModel several times for every view update. ::> ::>This works fine for SceneGraphs without Behaviours. When using ::>InspectorLocale on SceneGraphs with Behaviours, the application will ::>hang. I assume this is because of the J3D Behavior Scheduler is not ::>synchronized with my Thread. So I stop the Scheduler before ::detaching ::>Branchgroups. Here is the run() method in InspectorLocale: ::> ::> public void run () { ::> ::> [...] ::> ::> //stop rendering and behaviour scheduler ::> View v = this.viewer.getView(); ::> v.stopView(); ::> long[] milis = v.stopBehaviorScheduler(); ::> ::> while (v.isBehaviorSchedulerRunning() || v.isViewRunning()) { ::> try { ::> thread.sleep(this.THREAD_MAX_SLEEP); ::> System.out.println("waiting for view to stop ... ::>Scheduler:"+v.isBehaviorSchedulerRunning()+" begin:"+milis[0]+" ::>end:"+milis[1]+" View running:"+v.isViewRunning()); ::> } catch (InterruptedException e){ ::> System.out.println("interrupted while ::waiting for ::>view stop !"); ::> } ::> } ::> ::> Iterator iter = rootBG.iterator(); ::> while (iter.hasNext()) { ::> try { ::> super.addBranchGraph((BranchGroup)iter.next()); ::> } catch (CapabilityNotSetException e) { ::> System.out.println("Could not reattach ::BranchGroup !"); ::> } ::> } ::> ::> v.startView(); ::> v.startBehaviorScheduler(); ::> ::> detached = false; ::> } ::> ::> ::>Now my problem: ::>The method isBehaviorSchedulerRunning() ALLWAYS returns true, also I ::>stopped the schedular process. My Thread hangs in a continuous loop. ::> ::>Anyone else having a similiar problem ? ::> ::>Cheers, ::>Andreas ::> ::>============================================================= ::========== ::>==== ::>To unsubscribe, send email to [EMAIL PROTECTED] and ::include in the body ::>of the message "signoff JAVA3D-INTEREST". For general help, ::send email to ::>[EMAIL PROTECTED] and include in the body of the message "help". :: :: =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".