r3-legacy/src/r3-curve-path-d2-shape.js

75 lines
1.5 KiB
JavaScript
Raw Normal View History

2018-04-09 09:35:04 +02:00
/**
* R3.Curve.Path.D2
* @param graphics R3.GraphicsRuntime
* @param apiCurvePathD2
* @constructor
*/
R3.Curve.Path.D2.Shape = function(
graphics,
apiCurvePathD2
) {
this.graphics = graphics;
this.graphics.isNotThreeThrow();
if (R3.Utils.UndefinedOrNull(apiCurvePathD2)) {
apiCurvePathD2 = {
curveType : R3.API.Curve.CURVE_TYPE_PATH_2D_SHAPE
};
}
R3.API.Curve.Path.D2.call(
this,
apiCurvePathD2,
apiCurvePathD2.points
);
R3.Curve.Path.D2.call(
this,
this.graphics,
this
);
};
R3.Curve.Path.D2.Shape.prototype = Object.create(R3.Curve.Path.D2.prototype);
R3.Curve.Path.D2.Shape.prototype.constructor = R3.Curve.Path.D2.Shape;
/**
* Creates a camera instance
* @returns {*}
*/
R3.Curve.Path.D2.Shape.prototype.createInstance = function() {
this.instance = new THREE.Shape(
this.points.map(
function(point) {
return point.instance;
}
)
);
R3.Curve.Path.D2.prototype.createInstance.call(this);
};
/**
* Updates the instance with the current state
*/
R3.Curve.Path.D2.Shape.prototype.updateInstance = function(property) {
R3.Curve.Path.D2.prototype.updateInstance.call(this, property);
};
/**
* Converts a R3.Curve to a R3.API.Curve
* @returns {R3.API.Curve}
*/
R3.Curve.Path.D2.Shape.prototype.toApiObject = function() {
var apiCurvePathD2 = R3.Curve.Path.D2.prototype.toApiObject.call(this);
return new R3.API.Curve.Path.D2.Shape(
apiCurvePathD2
);
};