UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

25 lines (23 loc) 726 B
import {Vector4} from 'three'; import {Number4} from '../../../../types/GlobalTypes'; import {QuadObject} from './QuadObject'; import {mod} from '../../../math/_Module'; export interface QuadOppositePoints { p0: number; p1: number; } const _v4 = new Vector4(); const pointIndices: Number4 = [0, 0, 0, 0]; export function quadPrimitiveOppositePoints( object: QuadObject, quadId: number, pointIndex: number, target: QuadOppositePoints ) { const indices = object.geometry.index; _v4.fromArray(indices, quadId * 4); _v4.toArray(pointIndices); const currentPointIndex = pointIndices.indexOf(pointIndex); target.p0 = pointIndices[mod(currentPointIndex - 1, 4)]; target.p1 = pointIndices[(currentPointIndex + 1) % 4]; }