[Papervision3D] Papervision3D Digest, Vol 32, Issue 11

Gwilym Johnston me at gwilym.com
Wed May 6 09:08:33 PDT 2009


Hi all,

Quick question:
is there an equivalent of Point.distance(pointA, pointB) in Papervision?

Thanks

On 6 May 2009, at 10:30, Papervision3D-request at osflash.org wrote:

> Send Papervision3D mailing list submissions to
> 	papervision3d at osflash.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://osflash.org/mailman/listinfo/papervision3d_osflash.org
> or, via email, send a message with subject or body 'help' to
> 	papervision3d-request at osflash.org
>
> You can reach the person managing the list at
> 	papervision3d-owner at osflash.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Papervision3D digest..."
>
>
> Today's Topics:
>
>   1. DAE Memory Leak (Ryan Kee)
>   2. Detect Mouse Events in a viewport (Sandeep Menon)
>   3. Re: Detect Mouse Events in a viewport (Steve D)
>   4. Re: Detect Mouse Events in a viewport (Sandeep Menon)
>   5. Re: Detect Mouse Events in a viewport (Steve D)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 5 May 2009 15:25:39 -0500
> From: Ryan Kee <me at ryankee.com>
> Subject: [Papervision3D] DAE Memory Leak
> To: papervision3d at osflash.org
> Message-ID: <A5C971FF-87AE-4960-824A-4588DA568B13 at ryankee.com>
> Content-Type: text/plain; charset="us-ascii"; Format="flowed";
> 	DelSp="yes"
>
> Hey everyone. I'm having an issue with a memory leak when dealing with
> DAEs. At first I thought it was the same problem that older builds of
> PV3D had with dictionary objects not using weak references (Seb fixed
> those a few months ago:http://www.sebleedelisle.com/?p=309), but after
> running side by side tests of adding and deleting primitives and DAEs,
> the memory creep was only present with DAE files.
>
> For my current application I have the need to load and unload several
> DAE models and apply the same texture to all of them. In theory,
> something like this should work:
> Code:
>
> import org.papervision3d.materials.ColorMaterial;
> import org.papervision3d.materials.utils.MaterialsList;
> import org.papervision3d.objects.parsers.DAE;
> import org.papervision3d.view.Viewport3D;
> import org.papervision3d.render.BasicRenderEngine;
> import org.papervision3d.cameras.Camera3D;
> import org.papervision3d.scenes.Scene3D;
> import org.papervision3d.events.FileLoadEvent;
> import org.papervision3d.view.stats.StatsView;
>
> public var SCENE:Scene3D = new Scene3D();
> public var CAMERA:Camera3D = new Camera3D();
> public var RENDERER:BasicRenderEngine = new BasicRenderEngine();
> public var VIEWPORT:Viewport3D = new Viewport3D(640,480);
> public var COLLADA:DAE;
> public var MATERIALS:MaterialsList = new MaterialsList();
> public var COLOR_MAT:ColorMaterial = new ColorMaterial();
>
> public function init():void
> {
> 	//add the viewport to the stage
> 	stage.addChild(VIEWPORT);
> 	//set up material list
> 	MATERIALS.addMaterial(COLOR_MAT, 'TextureName');
> 	//create collada
> 	loadCollada();
> 	//set up mouse event to unload the current dae and load another
> 	stage.addEventListener(MouseEvent.CLICK, unloadCollada);
> }
>
> public function loadCollada():void
> {
> 	COLLADA = new DAE();
> 	COLLADA.load('dae/yourFileName.dae', MATERIALS);
> 	COLLADA.addEventListener(FileLoadEvent.LOAD_COMPLETE, daeLoaded);
> 	COLLADA.scale = 3500;
> }
>
> public function unloadCollada(e:MouseEvent):void
> {
> 	//remove the collada from the scene and set everything to null
> 	SCENE.removeChild(COLLADA);
> 	COLLADA.geometry = null;
> 	COLLADA.materials = null;
> 	COLLADA.document = null;
> 	COLLADA = null;
> 	//load the collada again
> 	loadCollada();
> }
>
> public function daeLoaded(e:FileLoadEvent):void
> {
> 	//remove event listener
> 	COLLADA.removeEventListener(FileLoadEvent.LOAD_COMPLETE, daeLoaded);
> 	//add collada to the scene
> 	SCENE.addChild(COLLADA);
> 	//set up and start render timer
> 	var TIMER:Timer = new Timer(20);
> 	TIMER.addEventListener(TimerEvent.TIMER, renderScene);
> 	TIMER.start();
> }			
>
> public function renderScene(e:TimerEvent):void
> {
> 	RENDERER.renderScene(SCENE, CAMERA, VIEWPORT);
> }
>
>
> If you were to compile this, you'd see that the memory keeps building
> every time you click the stage. If I replaced the DAE with a Cube,
> there isn't any memory leak. Any ideas?
>
> Ryan
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090505/ad73caa8/attachment-0001.html 
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 6 May 2009 13:42:15 +0530
> From: Sandeep Menon <sandeepmenon24 at gmail.com>
> Subject: [Papervision3D] Detect Mouse Events in a viewport
> To: papervision3d at osflash.org
> Message-ID:
> 	<6895a11c0905060112w4ccb1ad8ib472bfcb16ece8d6 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
>
> I've got the following setup in a papervision application I'm  
> working on.
>
>   - A Viewport3D object, that's added as a child of a
>   - UIComponent, that in turn is added as a child to a
>   - A custom object, that's derived from a Canvas class
>
> What i want to do is detect any mouse events that happen within the
> viewport, not just those that occur over any scene objects.
>
>
> How would I go about handling this, by adding the listener to the  
> viewport
> itself or even the UIcomponent object, rather than dealing with it  
> at the
> Canvas-derived object?
>
> Thanks,
> sm
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090506/21c11565/attachment-0001.html 
> >
>
> ------------------------------
>
> Message: 3
> Date: Wed, 6 May 2009 01:48:08 -0700
> From: Steve D <kruass at gmail.com>
> Subject: Re: [Papervision3D] Detect Mouse Events in a viewport
> To: papervision3d at osflash.org
> Message-ID:
> 	<f66fee040905060148q17a8235amcd0fba5e8e90a835 at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> If the UIComponent or Canvas have solid backgrounds, and they will  
> detect a
> hittest.  You can put your event listener on them.  If they are  
> transparent
> (as the viewport is), then you'll need the listener on the scene,  
> and do
> bounds checking in the event handler method.
>
>
>
> On Wed, May 6, 2009 at 1:12 AM, Sandeep Menon <sandeepmenon24 at gmail.com 
> >wrote:
>
>> Hi,
>>
>> I've got the following setup in a papervision application I'm  
>> working on.
>>
>>   - A Viewport3D object, that's added as a child of a
>>   - UIComponent, that in turn is added as a child to a
>>   - A custom object, that's derived from a Canvas class
>>
>> What i want to do is detect any mouse events that happen within the
>> viewport, not just those that occur over any scene objects.
>>
>>
>> How would I go about handling this, by adding the listener to the  
>> viewport
>> itself or even the UIcomponent object, rather than dealing with it  
>> at the
>> Canvas-derived object?
>>
>> Thanks,
>> sm
>>
>>
>> _______________________________________________
>> Papervision3D mailing list
>> Papervision3D at osflash.org
>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090506/cef39964/attachment-0001.html 
> >
>
> ------------------------------
>
> Message: 4
> Date: Wed, 6 May 2009 14:48:24 +0530
> From: Sandeep Menon <sandeepmenon24 at gmail.com>
> Subject: Re: [Papervision3D] Detect Mouse Events in a viewport
> To: papervision3d at osflash.org
> Message-ID:
> 	<6895a11c0905060218r1bc3179cxa2f0746f7406494d at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> so, if i have a viewport that's embedded in a UIComponent of the  
> same size,
> being transparent, I'll need to add the listener to the scene object
> instead?
>
> On Wed, May 6, 2009 at 2:18 PM, Steve D <kruass at gmail.com> wrote:
>
>> If the UIComponent or Canvas have solid backgrounds, and they will  
>> detect a
>> hittest.  You can put your event listener on them.  If they are  
>> transparent
>> (as the viewport is), then you'll need the listener on the scene,  
>> and do
>> bounds checking in the event handler method.
>>
>>
>>
>> On Wed, May 6, 2009 at 1:12 AM, Sandeep Menon <sandeepmenon24 at gmail.com 
>> >wrote:
>>
>>> Hi,
>>>
>>> I've got the following setup in a papervision application I'm  
>>> working on.
>>>
>>>   - A Viewport3D object, that's added as a child of a
>>>   - UIComponent, that in turn is added as a child to a
>>>   - A custom object, that's derived from a Canvas class
>>>
>>> What i want to do is detect any mouse events that happen within the
>>> viewport, not just those that occur over any scene objects.
>>>
>>>
>>> How would I go about handling this, by adding the listener to the  
>>> viewport
>>> itself or even the UIcomponent object, rather than dealing with it  
>>> at the
>>> Canvas-derived object?
>>>
>>> Thanks,
>>> sm
>>>
>>>
>>> _______________________________________________
>>> Papervision3D mailing list
>>> Papervision3D at osflash.org
>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>
>> _______________________________________________
>> Papervision3D mailing list
>> Papervision3D at osflash.org
>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090506/c10d90cf/attachment-0001.html 
> >
>
> ------------------------------
>
> Message: 5
> Date: Wed, 6 May 2009 02:30:42 -0700
> From: Steve D <kruass at gmail.com>
> Subject: Re: [Papervision3D] Detect Mouse Events in a viewport
> To: papervision3d at osflash.org
> Message-ID:
> 	<f66fee040905060230k15d8f44boe69540b79c7485c at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> A Flash displayobject wont detect mouse events on any part of it  
> that is
> 100% transparent.  The typical way to get around this is to put the  
> mouse
> event on the scene, and then manually figure out if the mouse event  
> should
> be affecting the transparent displayobject.
>
>
> On Wed, May 6, 2009 at 2:18 AM, Sandeep Menon <sandeepmenon24 at gmail.com 
> >wrote:
>
>> so, if i have a viewport that's embedded in a UIComponent of the  
>> same size,
>> being transparent, I'll need to add the listener to the scene object
>> instead?
>>
>>
>> On Wed, May 6, 2009 at 2:18 PM, Steve D <kruass at gmail.com> wrote:
>>
>>> If the UIComponent or Canvas have solid backgrounds, and they will  
>>> detect
>>> a hittest.  You can put your event listener on them.  If they are
>>> transparent (as the viewport is), then you'll need the listener on  
>>> the
>>> scene, and do bounds checking in the event handler method.
>>>
>>>
>>>
>>> On Wed, May 6, 2009 at 1:12 AM, Sandeep Menon <sandeepmenon24 at gmail.com 
>>> >wrote:
>>>
>>>> Hi,
>>>>
>>>> I've got the following setup in a papervision application I'm  
>>>> working on.
>>>>
>>>>   - A Viewport3D object, that's added as a child of a
>>>>   - UIComponent, that in turn is added as a child to a
>>>>   - A custom object, that's derived from a Canvas class
>>>>
>>>> What i want to do is detect any mouse events that happen within the
>>>> viewport, not just those that occur over any scene objects.
>>>>
>>>>
>>>> How would I go about handling this, by adding the listener to the
>>>> viewport itself or even the UIcomponent object, rather than  
>>>> dealing with it
>>>> at the Canvas-derived object?
>>>>
>>>> Thanks,
>>>> sm
>>>>
>>>>
>>>> _______________________________________________
>>>> Papervision3D mailing list
>>>> Papervision3D at osflash.org
>>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Papervision3D mailing list
>>> Papervision3D at osflash.org
>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>
>> _______________________________________________
>> Papervision3D mailing list
>> Papervision3D at osflash.org
>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090506/7fce51ff/attachment.html 
> >
>
> ------------------------------
>
> _______________________________________________
> Papervision3D mailing list
> Papervision3D at osflash.org
> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>
>
> End of Papervision3D Digest, Vol 32, Issue 11
> *********************************************

Gwilym Johnston

e: me at gwilym.com
w: www.gwilym.com
m: + 44 (0) 7595 727365






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090506/65d21ee1/attachment-0001.html>


More information about the Papervision3D mailing list