/src/away3d/animators/skeleton/SkeletonTreeNode.as

http://github.com/away3d/away3d-core-fp11 · ActionScript · 79 lines · 47 code · 11 blank · 21 comment · 0 complexity · c045b014c9bf7a3d704f612d4f2ef837 MD5 · raw file

  1. /**
  2. * Author: David Lenaerts
  3. */
  4. package away3d.animators.skeleton
  5. {
  6. import away3d.errors.AbstractMethodError;
  7. import flash.geom.Vector3D;
  8. /**
  9. * SkeletonTreeNode provides an abstract base class for nodes in a skeleton blend tree.
  10. */
  11. public class SkeletonTreeNode
  12. {
  13. protected var _time : Number = 0;
  14. protected var _direction : Number = 0;
  15. protected var _duration : Number = 0;
  16. public var name : String;
  17. public var skeletonPose : SkeletonPose;
  18. public var rootDelta : Vector3D;
  19. /**
  20. * Creates a new SkeletonTreeNode object.
  21. * @param numJoints The amount of joint in the target skeleton.
  22. */
  23. public function SkeletonTreeNode()
  24. {
  25. rootDelta = new Vector3D();
  26. skeletonPose = new SkeletonPose();
  27. }
  28. /**
  29. * The time ratio between 0 and 1.
  30. */
  31. public function get time() : Number
  32. {
  33. return _time;
  34. }
  35. public function set time(value : Number) : void
  36. {
  37. _time = value;
  38. }
  39. public function get direction() : Number
  40. {
  41. return _direction;
  42. }
  43. public function set direction(value : Number) : void
  44. {
  45. _direction = value;
  46. }
  47. public function get duration() : Number
  48. {
  49. return _duration;
  50. }
  51. /**
  52. * Updates the node's skeleton pose
  53. */
  54. public function updatePose(skeleton : Skeleton) : void
  55. {
  56. throw new AbstractMethodError();
  57. }
  58. /**
  59. * Updates the s root delta position and bounds
  60. *
  61. * todo: support bounds
  62. */
  63. public function updatePositionData() : void
  64. {
  65. throw new AbstractMethodError();
  66. }
  67. }
  68. }