UNPKG

@polygonjs/polygonjs

Version:

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

31 lines (29 loc) 1.14 kB
import {Vector3} from 'three'; import {CorePrimitive} from '../../entities/primitive/CorePrimitive'; import {CoreObjectType} from '../../ObjectContent'; import {CsgObject} from './CsgObject'; import {CsgTypeMap, CsgGeometryType} from './CsgCommon'; export class CsgPrimitive<T extends CsgGeometryType> extends CorePrimitive<CoreObjectType.CSG> { // public override _geometry?: QuadGeometryWithPrimitiveAttributes; protected _geometry: CsgTypeMap[T]; constructor(object: CsgObject<T>, index: number) { super(object, index); this._geometry = object.geometry as CsgTypeMap[T]; // this._geometry = object.geometry as QuadGeometryWithPrimitiveAttributes; } // static override entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>) { // (object as any as CsgObject<CsgGeometryType>).geometry. // return 0; // } geometry() { return (this._object as CsgObject<CsgGeometryType>).geometry; } position(target: Vector3): Vector3 { console.warn('CsgPrimitive.position not implemented'); return target; } normal(target: Vector3): Vector3 { console.warn('CsgPrimitive.normal not implemented'); return target; } }