@jscad/modeling
Version:
Constructive Solid Geometry (CSG) Library for JSCAD
21 lines (15 loc) • 623 B
JavaScript
const vec3 = require('../maths/vec3')
const fromPointAxisNormal = require('./fromPointAxisNormal')
/*
* Normalize the given connector, calculating new axis and normal
* @param {connector} connector - the connector to normalize
* @returns {connector} a new connector
*/
const normalize = (connector) => {
const newaxis = vec3.normalize(connector.axis)
// make the normal vector truly normal
const newnormal = vec3.normalize(vec3.cross(connector.normal, connector.axis))
vec3.cross(newnormal, newaxis, newnormal)
return fromPointAxisNormal(connector.point, newaxis, newnormal)
}
module.exports = normalize