添加关照、全局等高线、修改图层问题
This commit is contained in:
270
dist/electron/static/sdk/three/jsm/transpiler/AST.js
vendored
Normal file
270
dist/electron/static/sdk/three/jsm/transpiler/AST.js
vendored
Normal file
@ -0,0 +1,270 @@
|
||||
export class Program {
|
||||
|
||||
constructor() {
|
||||
|
||||
this.body = [];
|
||||
|
||||
this.isProgram = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class VariableDeclaration {
|
||||
|
||||
constructor( type, name, value = null, next = null, immutable = false ) {
|
||||
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.next = next;
|
||||
|
||||
this.immutable = immutable;
|
||||
|
||||
this.isVariableDeclaration = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Uniform {
|
||||
|
||||
constructor( type, name ) {
|
||||
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
|
||||
this.isUniform = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Varying {
|
||||
|
||||
constructor( type, name ) {
|
||||
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
|
||||
this.isVarying = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class FunctionParameter {
|
||||
|
||||
constructor( type, name, qualifier = null, immutable = true ) {
|
||||
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
this.qualifier = qualifier;
|
||||
this.immutable = immutable;
|
||||
|
||||
this.isFunctionParameter = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class FunctionDeclaration {
|
||||
|
||||
constructor( type, name, params = [] ) {
|
||||
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
this.params = params;
|
||||
this.body = [];
|
||||
|
||||
this.isFunctionDeclaration = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Expression {
|
||||
|
||||
constructor( expression ) {
|
||||
|
||||
this.expression = expression;
|
||||
|
||||
this.isExpression = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Ternary {
|
||||
|
||||
constructor( cond, left, right ) {
|
||||
|
||||
this.cond = cond;
|
||||
this.left = left;
|
||||
this.right = right;
|
||||
|
||||
this.isTernary = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Operator {
|
||||
|
||||
constructor( type, left, right ) {
|
||||
|
||||
this.type = type;
|
||||
this.left = left;
|
||||
this.right = right;
|
||||
|
||||
this.isOperator = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
export class Unary {
|
||||
|
||||
constructor( type, expression, after = false ) {
|
||||
|
||||
this.type = type;
|
||||
this.expression = expression;
|
||||
this.after = after;
|
||||
|
||||
this.isUnary = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Number {
|
||||
|
||||
constructor( value, type = 'float' ) {
|
||||
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
|
||||
this.isNumber = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class String {
|
||||
|
||||
constructor( value ) {
|
||||
|
||||
this.value = value;
|
||||
|
||||
this.isString = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
export class Conditional {
|
||||
|
||||
constructor( cond = null ) {
|
||||
|
||||
this.cond = cond;
|
||||
|
||||
this.body = [];
|
||||
this.elseConditional = null;
|
||||
|
||||
this.isConditional = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class FunctionCall {
|
||||
|
||||
constructor( name, params = [] ) {
|
||||
|
||||
this.name = name;
|
||||
this.params = params;
|
||||
|
||||
this.isFunctionCall = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Return {
|
||||
|
||||
constructor( value ) {
|
||||
|
||||
this.value = value;
|
||||
|
||||
this.isReturn = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Accessor {
|
||||
|
||||
constructor( property ) {
|
||||
|
||||
this.property = property;
|
||||
|
||||
this.isAccessor = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class StaticElement {
|
||||
|
||||
constructor( value ) {
|
||||
|
||||
this.value = value;
|
||||
|
||||
this.isStaticElement = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class DynamicElement {
|
||||
|
||||
constructor( value ) {
|
||||
|
||||
this.value = value;
|
||||
|
||||
this.isDynamicElement = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class AccessorElements {
|
||||
|
||||
constructor( property, elements = [] ) {
|
||||
|
||||
this.property = property;
|
||||
this.elements = elements;
|
||||
|
||||
this.isAccessorElements = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class For {
|
||||
|
||||
constructor( initialization, condition, afterthought ) {
|
||||
|
||||
this.initialization = initialization;
|
||||
this.condition = condition;
|
||||
this.afterthought = afterthought;
|
||||
|
||||
this.body = [];
|
||||
|
||||
this.isFor = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user