/src/away3d/core/partition/RenderableNode.as

http://github.com/away3d/away3d-core-fp11 · ActionScript · 37 lines · 22 code · 4 blank · 11 comment · 1 complexity · 121348a37dc460ac327bcf1a51a6c14d MD5 · raw file

  1. package away3d.core.partition
  2. {
  3. import away3d.core.base.IRenderable;
  4. import away3d.core.traverse.PartitionTraverser;
  5. import away3d.entities.Entity;
  6. /**
  7. * RenderableNode is a space partitioning leaf node that contains any Entity that is itself a IRenderable
  8. * object. This excludes Mesh (since the renderable objects are its SubMesh children).
  9. */
  10. public class RenderableNode extends EntityNode
  11. {
  12. private var _renderable:IRenderable;
  13. /**
  14. * Creates a new RenderableNode object.
  15. * @param mesh The mesh to be contained in the node.
  16. */
  17. public function RenderableNode(renderable:IRenderable)
  18. {
  19. super(Entity(renderable));
  20. _renderable = renderable; // also keep a stronger typed reference
  21. }
  22. /**
  23. * @inheritDoc
  24. */
  25. override public function acceptTraverser(traverser:PartitionTraverser):void
  26. {
  27. if (traverser.enterNode(this)) {
  28. super.acceptTraverser(traverser);
  29. traverser.applyRenderable(_renderable);
  30. }
  31. }
  32. }
  33. }