@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
25 lines (24 loc) • 1.01 kB
JavaScript
;
import { BufferGeometry, BufferAttribute } from "three";
import { BaseSopOperation } from "../../../../../engine/operations/sop/_Base";
import { ObjectType } from "../../../Constant";
import { cadMaterialPoint } from "../CadConstant";
import { CadLoaderSync } from "../CadLoaderSync";
import { objectContentCopyProperties } from "../../../ObjectContent";
export function cadPnt2dToObject3D(cadObject) {
const point = cadObject.cadGeometry();
const geo = new BufferGeometry();
const positions = [point.X(), point.Y(), 0];
geo.setAttribute("position", new BufferAttribute(new Float32Array(positions), 3));
const object = BaseSopOperation.createObject(geo, ObjectType.POINTS, cadMaterialPoint());
objectContentCopyProperties(cadObject, object);
return object;
}
export function cadPnt2dTransform(point, t) {
point.SetX(point.X() + t.x);
point.SetY(point.Y() + t.y);
}
export function cadPnt2dClone(src) {
const oc = CadLoaderSync.oc();
return new oc.gp_Pnt2d_3(src.X(), src.Y());
}