import {Vector3} from 'three';
import {CorePrimitive} from '../../entities/primitive/CorePrimitive';
import {CoreObjectType, ObjectContent} from '../../ObjectContent';
import {CadObject} from './CadObject';
import {CadGeometryType} from './CadCommon';

export class CadPrimitive<T extends CadGeometryType> extends CorePrimitive<CoreObjectType.CAD> {
	constructor(object: CadObject<T>, index: number) {
		super(object, index);
	}
	static override entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>) {
		return 0;
	}
	geometry() {
		return (this._object as CadObject<CadGeometryType>).geometry;
	}
	position(target: Vector3): Vector3 {
		console.warn('CadPrimitive.position not implemented');
		return target;
	}
	normal(target: Vector3): Vector3 {
		console.warn('CadPrimitive.normal not implemented');
		return target;
	}
}
