Permalink
Browse files

Initial commit.

  • Loading branch information...
willeastcott committed Oct 24, 2011
0 parents commit e5bf014e738d5bfc92ece1d6c0f50ad71bf4dd90
Showing with 25,881 additions and 0 deletions.
  1. +59 −0 CHANGES
  2. +1 −0 VERSION
  3. +5 −0 src/anim/anim_anim.js
  4. +89 −0 src/anim/anim_animation.js
  5. +225 −0 src/anim/anim_skeleton.js
  6. +56 −0 src/anim/resources/resources_animation.js
  7. +15 −0 src/audio/audio_ambient.js
  8. +107 −0 src/audio/audio_base.js
  9. +81 −0 src/audio/audio_point.js
  10. +26 −0 src/core/core_bind.js
  11. +45 −0 src/core/core_content.js
  12. +177 −0 src/core/core_core.js
  13. +11 −0 src/core/core_dom.js
  14. +23 −0 src/core/core_guid.js
  15. +26 −0 src/core/core_inheritance.js
  16. +39 −0 src/core/core_json.js
  17. +122 −0 src/core/core_log.js
  18. +93 −0 src/core/core_path.js
  19. +56 −0 src/core/core_string.js
  20. +65 −0 src/core/core_time.js
  21. +183 −0 src/core/core_uri.js
  22. +23 −0 src/designer/components/designer/designer_component.js
  23. +10 −0 src/designer/components/designer/designer_data.js
  24. +214 −0 src/designer/editor_application.js
  25. +74 −0 src/designer/editor_interface.dev.js
  26. +21 −0 src/designer/editor_interface.prod.js
  27. +6 −0 src/designer/gizmo/gizmo_component.js
  28. +416 −0 src/designer/gizmo/gizmo_system.js
  29. +261 −0 src/designer/graphics/graphics_gizmo.js
  30. +6 −0 src/designer/graphics/graphics_graphics.js
  31. +66 −0 src/designer/graphics/graphics_grid.js
  32. +131 −0 src/designer/graphics/graphics_viewcube.js
  33. +21 −0 src/designer/livelink/livelink_close_entity_message.js
  34. +170 −0 src/designer/livelink/livelink_livelink.js
  35. +49 −0 src/designer/livelink/livelink_message.js
  36. +22 −0 src/designer/livelink/livelink_open_entity_message.js
  37. +27 −0 src/designer/livelink/livelink_update_component_message.js
  38. +36 −0 src/designer/livelink/livelink_update_entity_message.js
  39. +85 −0 src/events/events_events.js
  40. +37 −0 src/framework/asset/asset_asset.js
  41. +36 −0 src/framework/asset/asset_loader.js
  42. +139 −0 src/framework/components/animation/animation_component.js
  43. +51 −0 src/framework/components/animation/animation_data.js
  44. +43 −0 src/framework/components/audio/audiolistener_component.js
  45. +17 −0 src/framework/components/audio/audiolistener_data.js
  46. +130 −0 src/framework/components/audio/audiosource_component.js
  47. +69 −0 src/framework/components/audio/audiosource_data.js
  48. +81 −0 src/framework/components/bloom/bloom_component.js
  49. +94 −0 src/framework/components/bloom/bloom_data.js
  50. +357 −0 src/framework/components/camera/camera_component.js
  51. +111 −0 src/framework/components/camera/camera_data.js
  52. +268 −0 src/framework/components/component_component.js
  53. +9 −0 src/framework/components/component_data.js
  54. +40 −0 src/framework/components/component_registry.js
  55. +101 −0 src/framework/components/cubemap/cubemap_component.js
  56. +15 −0 src/framework/components/cubemap/cubemap_data.js
  57. +34 −0 src/framework/components/header/header_component.js
  58. +31 −0 src/framework/components/header/header_data.js
  59. +165 −0 src/framework/components/light/directionallight_component.js
  60. +31 −0 src/framework/components/light/directionallight_data.js
  61. +173 −0 src/framework/components/light/pointlight_component.js
  62. +41 −0 src/framework/components/light/pointlight_data.js
  63. +119 −0 src/framework/components/model/model_component.js
  64. +25 −0 src/framework/components/model/model_data.js
  65. +33 −0 src/framework/components/pack/pack_component.js
  66. +9 −0 src/framework/components/pack/pack_data.js
  67. +103 −0 src/framework/components/pick/pick_component.js
  68. +21 −0 src/framework/components/pick/pick_data.js
  69. +98 −0 src/framework/components/planereflection/planereflection_component.js
  70. +10 −0 src/framework/components/planereflection/planereflection_data.js
  71. +137 −0 src/framework/components/primitive/primitive_component.js
  72. +43 −0 src/framework/components/primitive/primitive_data.js
  73. +163 −0 src/framework/components/script/script_component.js
  74. +24 −0 src/framework/components/script/script_data.js
  75. +102 −0 src/framework/components/simplebody/simplebody_component.js
  76. +19 −0 src/framework/components/simplebody/simplebody_data.js
  77. +216 −0 src/framework/components/skybox/skybox_component.js
  78. +93 −0 src/framework/components/skybox/skybox_data.js
  79. +142 −0 src/framework/components/staticcubemap/staticcubemap_component.js
  80. +93 −0 src/framework/components/staticcubemap/staticcubemap_data.js
  81. +185 −0 src/framework/entity/entity_entity.js
  82. +161 −0 src/framework/entity/entity_loader.js
  83. +344 −0 src/framework/framework_application.js
  84. +53 −0 src/framework/framework_applicationcontext.js
  85. +10 −0 src/framework/framework_fw.js
  86. +189 −0 src/framework/picking/picking_picking.js
  87. +32 −0 src/framework/resources/resources_asset.js
  88. +138 −0 src/framework/resources/resources_entity.js
  89. +13 −0 src/graphics/graphics_clearflag.js
  90. +778 −0 src/graphics/graphics_device.js
  91. +143 −0 src/graphics/graphics_framebuffer.js
  92. +5 −0 src/graphics/graphics_graphics.js
  93. +93 −0 src/graphics/graphics_indexbuffer.js
  94. +91 −0 src/graphics/graphics_program.js
  95. +48 −0 src/graphics/graphics_programlibrary.js
  96. +80 −0 src/graphics/graphics_rendertarget.js
  97. +28 −0 src/graphics/graphics_scopeid.js
  98. +42 −0 src/graphics/graphics_scopespace.js
  99. +79 −0 src/graphics/graphics_shader.js
  100. +34 −0 src/graphics/graphics_shaderinput.js
  101. +526 −0 src/graphics/graphics_texture.js
  102. +53 −0 src/graphics/graphics_validation.js
  103. +31 −0 src/graphics/graphics_version.js
  104. +23 −0 src/graphics/graphics_versionedobject.js
  105. +108 −0 src/graphics/graphics_vertexbuffer.js
  106. +56 −0 src/graphics/graphics_vertexelement.js
  107. +86 −0 src/graphics/graphics_vertexformat.js
  108. +93 −0 src/graphics/graphics_vertexiterator.js
  109. +287 −0 src/graphics/post/post_bloom.js
  110. +9 −0 src/graphics/post/post_post.js
  111. +116 −0 src/graphics/programlib/programlib_basic.js
  112. +100 −0 src/graphics/programlib/programlib_particle.js
  113. +545 −0 src/graphics/programlib/programlib_phong.js
  114. +72 −0 src/graphics/programlib/programlib_pick.js
  115. +5 −0 src/graphics/programlib/programlib_programlib.js
  116. +77 −0 src/graphics/programlib/programlib_shadowmap.js
  117. +72 −0 src/helpers/helpers_animframe.js
  118. +83 −0 src/helpers/helpers_flycam.js
  119. +215 −0 src/input/input_controller.js
  120. +5 −0 src/input/input_input.js
  121. +296 −0 src/input/input_keyboard.js
  122. +245 −0 src/input/input_mouse.js
  123. +150 −0 src/math/math_math.js
  124. +868 −0 src/math/math_matrix.js
  125. +175 −0 src/math/math_quaternion.js
  126. +132 −0 src/math/math_utils.js
  127. +812 −0 src/math/math_vector.js
  128. +264 −0 src/net/net_http.js
  129. +7 −0 src/net/net_net.js
  130. +37 −0 src/resources/resources_image.js
  131. +476 −0 src/resources/resources_resources.js
  132. +5 −0 src/scene/graph_graph.js
  133. +214 −0 src/scene/graph_particleemitter.js
  134. +768 −0 src/scene/graph_procedural.js
  135. +5 −0 src/scene/materialplugin/materialplugin_materialplugin.js
  136. +60 −0 src/scene/materialplugin/materialplugin_phong.js
  137. +754 −0 src/scene/resources/resources_model.js
  138. +385 −0 src/scene/scene_cameranode.js
  139. +203 −0 src/scene/scene_geometry.js
  140. +84 −0 src/scene/scene_graphmanager.js
  141. +429 −0 src/scene/scene_graphnode.js
  142. +227 −0 src/scene/scene_lightnode.js
  143. +177 −0 src/scene/scene_material.js
  144. +86 −0 src/scene/scene_meshnode.js
  145. +81 −0 src/scene/scene_model.js
  146. +185 −0 src/scene/scene_scene.js
  147. +87 −0 src/scene/scene_submesh.js
  148. +143 −0 src/script/resources/resources_script.js
  149. +91 −0 src/script/script_loader.js
  150. +70 −0 src/script/script_script.js
  151. +62 −0 src/shape/shape_aabb.js
  152. +57 −0 src/shape/shape_box.js
  153. +139 −0 src/shape/shape_frustum.js
  154. +163 −0 src/shape/shape_intersection.js
  155. +45 −0 src/shape/shape_plane.js
  156. +36 −0 src/shape/shape_shape.js
  157. +80 −0 src/shape/shape_sphere.js
  158. +26 −0 src/shape/shape_torus.js
  159. +49 −0 tests/all_tests.html
  160. BIN tests/audio/ACDC_-_Back_In_Black-sample.ogg
  161. +33 −0 tests/audio/test_audio.html
  162. +10 −0 tests/audio/test_audio.js
  163. +66 −0 tests/audio/test_audio_base.js
  164. +44 −0 tests/audio/test_audio_point.js
  165. +6 −0 tests/bin/chrome_driver.py
  166. +6 −0 tests/bin/firefox_driver.py
  167. +32 −0 tests/bin/test_driver.py
  168. +220 −0 tests/bin/testmachine
  169. +5 −0 tests/core/test_content.js
  170. +35 −0 tests/core/test_core.html
  171. +159 −0 tests/core/test_core.js
  172. +67 −0 tests/core/test_inheritance.js
  173. +45 −0 tests/core/test_path.js
  174. +27 −0 tests/core/test_string.js
  175. +194 −0 tests/core/test_uri.js
  176. +150 −0 tests/designer/livelink/test_livelink.js
  177. +43 −0 tests/designer/livelink/test_livelink_message.js
  178. +32 −0 tests/designer/livelink/test_livelink_update_component_message.js
  179. +37 −0 tests/designer/test_designer.html
  180. +26 −0 tests/events/test_events.html
  181. +130 −0 tests/events/test_events.js
  182. +71 −0 tests/framework/test_asset.js
  183. +78 −0 tests/framework/test_asset_loader.js
  184. +22 −0 tests/framework/test_audiolistener.js
  185. +82 −0 tests/framework/test_audiosource.js
  186. +64 −0 tests/framework/test_component_registry.js
  187. +67 −0 tests/framework/test_components.html
  188. +20 −0 tests/framework/test_entity.js
  189. +212 −0 tests/framework/test_entity_loader.js
  190. +60 −0 tests/framework/test_framework.html
  191. +22 −0 tests/framework/test_header.js
  192. +22 −0 tests/framework/test_pack.js
  193. +27 −0 tests/framework/test_pick.js
  194. +66 −0 tests/framework/test_render.js
  195. +42 −0 tests/framework/test_script.js
  196. +47 −0 tests/framework/test_system.js
  197. +73 −0 tests/functional/framework/test_application.js
  198. +96 −0 tests/functional/framework/test_camera.js
  199. +33 −0 tests/functional/framework/test_framework.html
  200. +47 −0 tests/functional/framework/test_light.js
  201. +30 −0 tests/functional/framework/test_picking.js
  202. +21 −0 tests/functional/gfx/test_gfx.html
  203. +56 −0 tests/functional/gfx/test_programlibrary.js
  204. +54 −0 tests/functional/resources/test_assethandler.js
  205. +457 −0 tests/functional/resources/test_entityhandler.js
  206. +66 −0 tests/functional/resources/test_modelhandler.js
  207. +26 −0 tests/functional/resources/test_resources.html
  208. +34 −0 tests/input/test_input.html
  209. +5 −0 tests/input/test_input.js
  210. +239 −0 tests/input/test_keyboard.js
  211. +136 −0 tests/input/test_mouse.js
  212. +28 −0 tests/math/test_math.html
  213. +252 −0 tests/math/test_matrix.js
  214. +92 −0 tests/math/test_utils.js
  215. +209 −0 tests/math/test_vector.js
  216. +555 −0 tests/net/test_http.js
  217. +30 −0 tests/net/test_net.html
  218. +2 −0 tests/resources/a.js
  219. +1 −0 tests/resources/b.js
  220. +46 −0 tests/resources/test_imagehandler.js
  221. +369 −0 tests/resources/test_resourceloader.js
  222. +21 −0 tests/resources/test_resourcerequest.js
  223. +55 −0 tests/resources/test_resources.html
  224. +5 −0 tests/resources/test_resources.js
  225. +49 −0 tests/scene/test_graphnode.js
  226. +31 −0 tests/scene/test_scene.html
  227. +6 −0 tests/script/sample.js
  228. +6 −0 tests/script/sample_folder/sample.js
  229. +29 −0 tests/script/test_script.html
  230. +86 −0 tests/script/test_script_loader.js
  231. +84 −0 tests/shape/test_aabb.js
  232. +87 −0 tests/shape/test_box.js
  233. +35 −0 tests/shape/test_frustum.js
  234. +141 −0 tests/shape/test_intersection.js
  235. +41 −0 tests/shape/test_shape.html
  236. +33 −0 tests/shape/test_sphere.js
59 CHANGES
@@ -0,0 +1,59 @@
--------------------------
PlayCanvas Runtime Changes
--------------------------
------
v0.7.0
------
* Added first pass at an animation component. Just loads/runs a single animation for now.
* Added new render state management API, introducing the idea of global and local state.
* Use the alpha channel in a specular map as the per-pixel shininess value.
* Fix for Phong GLSL when no lights are activated.
* Reworked parallax mapping. Effect now activates if an alpha channel is found in the normal map (containing a height map).
* Updated parallax effect in shadowmap sample.
* Updated skybox component to work with any camera clip planes. Also now just maintains a geometry instead of a mesh.
* Fixed transparency for Maya FBX exports.
* Added Visualizer launcher script for Maya (written in Python rather than MEL).
* Added runtime support for emissive maps.
------
v0.6.0
------
* Added CHANGES file
* [FIX] gizmo and pick components no longer deleted when components are updated, should be done manually for now
* Added pc.dom namespace for DOM related code
* Updated artwork to all use the correct system units (inches).
* Stop deserializing entities from message as they are transferred as normal javascript object now
* Changed reference from _id to resource_id in entity loader to support new Corazon format
* Add resource_id to Entity to support new Corazon format
* [FIX] Light component correctly disables light node when it is deleted
* Added skeleton docs to pc.gfx.Texture.
* Updated pc.gfx.Texture to be a little cleaner and more versatile (now handles canvas, video and image elements as well as byte pixel arrays).
* Fleshed out docs for pc.gfx.Texture.
------
v0.5.0
------
* ScriptLoader replaces ResourceLoader object
* Added toolsRender and toolsUpdate methods to Components
* Better rendering for directional lights in the Designer.
* Enable backface culling in the engine by default.
* Model and Camera components to be deleted correctly.
* Added support for scale in animation keyframes.
* All artwork is now generated as 1 unit equalling 1 meter.
* Tweaks to Ferrari demo assets.
* Changed pc.graph.Cameras default clip planes to work better for worlds scaled to meters.
* Stop FACT from physically loading texture images.
* Handle relative paths which are actually absolute paths on other drives.
* Integrated ImageMagick into FACT.
* Upgraded some deprecated FBX functions in FACT.
* Added backface culling option and a stats panel to Visualizer.
* Frame loaded model with the default camera in Visualizer.
* Update Visualizer launcher to only call FACT (Python commands stripped).
* Fix initial camera offset in Visualizer.
* Write PNGs instead of JPG if non-web format textures have an alpha channel.
* Updated JSON format to split out opacity into new uniform.
@@ -0,0 +1 @@
0.10.0dev
@@ -0,0 +1,5 @@
/**
* @namespace Namespace for functionality related to keyframed skeletal animation.
* @name pc.anim
*/
pc.anim = {};
@@ -0,0 +1,89 @@
pc.anim.Key = function Key() {
this._quat = pc.math.quat.create(0, 0, 0, 0);
this._pos = pc.math.vec3.create(0, 0, 0);
this._time = 0;
}
pc.extend(pc.anim, function () {
/**
* @name pc.anim.Animation
* @class An animation is a sequence of keyframe arrays which map to the nodes of a skeletal hierarchy.
* It controls how the nodes of the hierarchy are transformed over time.
* @description Returns a new pc.anim.Animation object.
*/
var Animation = function Animation() {
this._name = "";
this._duration = 0;
this._nodes = [];
};
/**
* @function
* @name pc.anim.Animation#getDuration
* @description Returns the duration of the animation in seconds.
* @returns {number} The duration of the animation in seconds.
* @author Will Eastcott
*/
Animation.prototype.getDuration = function () {
return this._duration;
};
/**
* @function
* @name pc.anim.Animation#getName
* @description Returns the human-readable name of the animation.
* @returns {string} The name of the animation.
* @author Will Eastcott
*/
Animation.prototype.getName = function () {
return this._name;
};
/**
* @function
* @name pc.anim.Animation#getNodes
* @description
* @returns {Array}
* @author Will Eastcott
*/
Animation.prototype.getNodes = function () {
return this._nodes;
};
/**
* @function
* @name pc.anim.Animation#setDuration
* @description Sets the duration of the specified animation in seconds.
* @param {number} duration The duration of the animation in seconds.
* @author Will Eastcott
*/
Animation.prototype.setDuration = function (duration) {
this._duration = duration;
};
/**
* @function
* @name pc.anim.Animation#setName
* @description Sets the human-readable name of the specified animation.
* @param {number} name The new name for the animation.
* @author Will Eastcott
*/
Animation.prototype.setName = function (name) {
this._name = name;
};
/**
* @function
* @name pc.anim.Animation#setNodes
* @description
* @param {number} nodes
* @author Will Eastcott
*/
Animation.prototype.setNodes = function (nodes) {
this._nodes = nodes;
};
return {
Animation: Animation
};
}());
@@ -0,0 +1,225 @@
pc.anim.InterpolatedKey = function InterpolatedKey() {
this._keyFrames = [];
// Result of interpolation
this._quat = pc.math.quat.create(0, 0, 0, 0);
this._pos = pc.math.vec3.create(0, 0, 0);
this._scale = pc.math.vec3.create(0, 0, 0);
// Optional destination for interpolated keyframe
this._targetNode = null;
}
pc.anim.InterpolatedKey.prototype.getTarget = function () {
return this._targetNode;
}
pc.anim.InterpolatedKey.prototype.setTarget = function (node) {
this._targetNode = node;
}
pc.extend(pc.anim, function () {
/**
* @name pc.anim.Skeleton
* @class A skeleton.
*/
var Skeleton = function Skeleton(numNodes) {
this._animation = null;
this._time = 0;
this._interpolatedKeys = [];
for (var i = 0; i < numNodes; i++) {
this._interpolatedKeys[i] = new pc.anim.InterpolatedKey();
}
this.looping = true;
};
/**
* @function
* @name pc.anim.Skeleton#addTime
* @description
* @param {number} delta
* @author Will Eastcott
*/
Skeleton.prototype.addTime = function (delta) {
if (this._animation !== null) {
this._time += delta;
var duration = this._animation.getDuration();
if (this._time > duration) {
this._time = this.looping ? 0.0 : duration;
}
var nodes = this._animation.getNodes();
for (var i = 0; i < nodes.length; i++) {
var keys = nodes[i];
// Find keyframe pair
for (var currKeyIndex = 0; currKeyIndex < keys.length-1; currKeyIndex++) {
var k1 = keys[currKeyIndex];
var k2 = keys[currKeyIndex + 1];
if ((k1._time <= this._time) && (k2._time >= this._time)) {
var alpha = (this._time - k1._time) / (k2._time - k1._time);
pc.math.quat.slerp(k1._quat, k2._quat, alpha, this._interpolatedKeys[i]._quat);
pc.math.vec3.lerp(k1._pos, k2._pos, alpha, this._interpolatedKeys[i]._pos);
pc.math.vec3.lerp(k1._scale, k2._scale, alpha, this._interpolatedKeys[i]._scale);
}
}
}
}
};
/**
* @function
* @name pc.anim.Skeleton#blend
* @description Blends two skeletons together.
* @param {pc.anim.Skeleton} a Skeleton holding the first pose to be blended.
* @param {pc.anim.Skeleton} b Skeleton holding the second pose to be blended.
* @author Will Eastcott
*/
Skeleton.prototype.blend = function (a, b, alpha) {
var numNodes = this._interpolatedKeys.length;
for (var i = 0; i < numNodes; i++) {
pc.math.quat.slerp(a._interpolatedKeys[i]._quat, b._interpolatedKeys[i]._quat, alpha, this._interpolatedKeys[i]._quat);
pc.math.vec3.lerp(a._interpolatedKeys[i]._pos, b._interpolatedKeys[i]._pos, alpha, this._interpolatedKeys[i]._pos);
pc.math.vec3.lerp(a._interpolatedKeys[i]._scale, b._interpolatedKeys[i]._scale, alpha, this._interpolatedKeys[i]._scale);
}
};
/**
* @function
* @name pc.anim.Skeleton#getAnimation
* @description
* @returns {pc.anim.Animation}
* @author Will Eastcott
*/
Skeleton.prototype.getAnimation = function () {
return this._animation;
};
/**
* @function
* @name pc.anim.Skeleton#getCurrentTime
* @description Returns the current time of the currently active animation as set on
* the specified skeleton. This value will be between zero and the duration of the
* animation.
* @returns {number} The current time of the animation set on the skeleton.
* @author Will Eastcott
*/
Skeleton.prototype.getCurrentTime = function () {
return this._time;
}
/**
* @function
* @name pc.anim.Skeleton#setCurrentTime
* @description Sets the current time of the currently active animation as set on
* the specified skeleton. This value must be between zero and the duration of the
* animation.
* @param {number} The current time of the animation set on the skeleton.
* @author Will Eastcott
*/
Skeleton.prototype.setCurrentTime = function (time) {
this._time = time;
}
/**
* @function
* @name pc.anim.Skeleton#getNumNodes
* @description Returns the number of nodes held by the specified skeleton.
* @returns {number} The number of nodes held by the specified skeleton.
* @author Will Eastcott
*/
Skeleton.prototype.getNumNodes = function () {
return this._interpolatedKeys.length;
}
/**
* @function
* @name pc.anim.Skeleton#setAnimation
* @description
* @param {pc.anim.Animation} animation
* @author Will Eastcott
*/
Skeleton.prototype.setAnimation = function (animation) {
this._animation = animation;
this._time = 0;
};
/**
* @function
* @name pc.anim.Skeleton#setGraph
* @description
* @param {pc.scene.GraphNode} graph
* @author Will Eastcott
*/
Skeleton.prototype.setGraph = function (graph) {
var nodeIndex = 0;
var setGraph = function(skeleton, node) {
skeleton._interpolatedKeys[nodeIndex++].setTarget(node);
var children = node.getChildren();
for (var i = 0; i < children.length; i++) {
setGraph(skeleton, children[i]);
}
}
setGraph(this, graph);
};
/**
* @function
* @name pc.anim.Skeleton#updateGraph
* @description
* @author Will Eastcott
*/
Skeleton.prototype.updateGraph = function () {
logASSERT((this._animation !== null), "Skeleton requires an animation in order to update a scene graph");
var nodes = this._animation.getNodes();
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].length > 0) {
var interpKey = this._interpolatedKeys[i];
var ltm = interpKey.getTarget().getLocalTransform();
pc.math.quat.toMat4(interpKey._quat, ltm);
ltm[0] *= interpKey._scale[0];
ltm[4] *= interpKey._scale[0];
ltm[8] *= interpKey._scale[0];
ltm[1] *= interpKey._scale[1];
ltm[5] *= interpKey._scale[1];
ltm[9] *= interpKey._scale[1];
ltm[2] *= interpKey._scale[2];
ltm[6] *= interpKey._scale[2];
ltm[10] *= interpKey._scale[2];
ltm[12] = interpKey._pos[0];
ltm[13] = interpKey._pos[1];
ltm[14] = interpKey._pos[2];
}
}
};
/**
* @function
* @name pc.anim.Skeleton#setLooping
* @param looping {boolean}
* @description
* @author Will Eastcott
*/
Skeleton.prototype.setLooping = function (looping) {
this.looping = looping;
};
/**
* @function
* @name pc.anim.Skeleton#getLooping
* @return {boolean}
* @description
* @author Will Eastcott
*/
Skeleton.prototype.getLooping = function () {
return this.looping;
};
return {
Skeleton: Skeleton
};
}());
Oops, something went wrong.

0 comments on commit e5bf014

Please sign in to comment.