1 /**
  2  * Copyright (C) 2009-2012 Klaus Reimer <k@ailis.de>
  3  * See LICENSE.txt for licensing information
  4  * 
  5  * @require threedee.js
  6  * @require threedee/SceneNode.js
  7  * @use threedee/rendering/RenderModel.js
  8  */
  9 
 10 /**
 11  * Constructs a new model node.
 12  * 
 13  * @param {!threedee.Model} model
 14  *            The model
 15  *            
 16  * @constructor
 17  * @extends {threedee.SceneNode}
 18  * @class
 19  * A node which draws a model.
 20  */
 21 
 22 threedee.ModelNode = function(model)
 23 {
 24     threedee.SceneNode.call(this);
 25     this.model = new threedee.RenderModel(model);
 26 };
 27 threedee.inherit(threedee.ModelNode, threedee.SceneNode);
 28 
 29 /** 
 30  * The model.
 31  * @private 
 32  * @type {!threedee.RenderModel} 
 33  */
 34 threedee.ModelNode.prototype.model;
 35 
 36 /**
 37  * @inheritDoc
 38  * @param {!threedee.PolygonBuffer} buffer
 39  * @param {!threedee.Matrix} transform
 40  */
 41 threedee.ModelNode.prototype.render = function(buffer, transform)
 42 {
 43     buffer.addModel(this.model, transform);
 44     threedee.SceneNode.prototype.render.call(this, buffer, transform);
 45 };
 46