package
{
        import de.polygonal.ds.DListNode;

        import fr.seraf.wow.primitive.WParticle;

        import mx.core.Application;

        import org.papervision3d.materials.utils.MaterialsList;

        public class PhysicsMeshObject extends MeshObject
        {
                public var boundedArea:WParticle = null;
                protected var listNode:DListNode = null;

                public function PhysicsMeshObject()
                {
                        super();
                }

                public function startupPhysicsMeshObject(collada:XML, materials:MaterialsList, boundedArea:WParticle):PhysicsMeshObject
                {
                        super.startupModelObject(collada, materials);
                        this.boundedArea = boundedArea;
                        listNode = Application.application.engineManager.wow.addParticle(boundedArea);
                        return this;
                }

                override public function shutdown():void
                {
                        super.shutdown();
                        Application.application.engineManager.wow.removeParticle(listNode);
                        boundedArea = null;
                        listNode = null;
                }

                override public function enterFrame(dt:Number):void
                {
                        super.enterFrame(dt);
                        model.x = boundedArea.px;
                        model.y = -boundedArea.py;
                        model.z = boundedArea.pz;
                }

        }
}