polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
43 lines (42 loc) • 1.84 kB
TypeScript
import { BaseJsNodeType } from '../_Base';
import { TypedJsDefinitionCollection } from './JsDefinitionCollection';
import { JsConnectionPointType } from '../../utils/io/connections/Js';
export declare enum JsDefinitionType {
ATTRIBUTE = "attribute",
FUNCTION = "function",
UNIFORM = "uniform"
}
export declare abstract class TypedJsDefinition<T extends JsDefinitionType> {
protected _definition_type: T;
protected _data_type: JsConnectionPointType;
protected _node: BaseJsNodeType;
protected _name: string;
constructor(_definition_type: T, _data_type: JsConnectionPointType, _node: BaseJsNodeType, _name: string);
get definition_type(): T;
get data_type(): JsConnectionPointType;
get node(): BaseJsNodeType;
name(): string;
abstract get line(): string;
collection_instance(): TypedJsDefinitionCollection<T>;
}
export declare class AttributeGLDefinition extends TypedJsDefinition<JsDefinitionType.ATTRIBUTE> {
protected _node: BaseJsNodeType;
protected _data_type: JsConnectionPointType;
protected _name: string;
constructor(_node: BaseJsNodeType, _data_type: JsConnectionPointType, _name: string);
get line(): string;
}
export declare class FunctionJsDefinition extends TypedJsDefinition<JsDefinitionType.FUNCTION> {
protected _node: BaseJsNodeType;
protected _name: string;
constructor(_node: BaseJsNodeType, _name: string);
get line(): string;
}
export declare class UniformJsDefinition extends TypedJsDefinition<JsDefinitionType.UNIFORM> {
protected _node: BaseJsNodeType;
protected _data_type: JsConnectionPointType;
protected _name: string;
constructor(_node: BaseJsNodeType, _data_type: JsConnectionPointType, _name: string);
get line(): string;
}
export declare type BaseJsDefinition = TypedJsDefinition<JsDefinitionType>;