wdpapi
Version:
51WORLD WdpApi is a set of programming interfaces developed by JavaScript that is responsible for negotiating between web pages and cloud rendering platforms. Supported by 51Cloud rendering platform, it enables the users to create any HTML5 UI element on
109 lines (108 loc) • 3.79 kB
TypeScript
import { EntityEidType, BasicInfoAtomType, TransformAtomType, VisibleAtomType, ICoordinates2D, EntityFlagAtomType, IRotation, ITranslation, IScale3D, deepPartial, EntityOutlinerAtomType } from '../data-type';
/**
* @interface IOuterUVTransform
* @param {IRotation} rotation
* @param {ITranslation} translation
* @param {IScale3D} scale3d
*/
export interface IOuterUVTransform {
rotation: IRotation;
translation: ITranslation;
scale3d: IScale3D;
}
/**
* @interface IInnerUVTransform
* @param {IRotation} rotation
* @param {ITranslation} translation
* @param {IScale3D} scale3d
*/
export interface IInnerUVTransform {
rotation: IRotation;
translation: ITranslation;
scale3d: IScale3D;
}
/**
* @interface IAttributes
* @param {number} cornerRadius
* @param {number} cornerSplitNum
*/
export interface IAttributes {
cornerRadius: number;
cornerSplitNum: number;
}
/**
* @interface ModelerFloorPolygonAtomType
* @param {Array<IAttributes>} attributes
* @param {ICoordinates2D} coordinates
*/
export interface ModelerFloorPolygonAtomType {
attributes: Array<IAttributes>;
coordinates: ICoordinates2D;
}
/**
* @interface ModelerFloorAtomType
* @param {string} innerMatName
* @param {string} outerMatName
* @param {number} innerHeight
* @param {number} outerHeight
* @param {number} outerWidth
* @param {number} cornerRadius
* @param {number} cornerSplitNum
* @param {IOuterUVTransform} outerUVTransform
* @param {IInnerUVTransform} innerUVTransform
* @param {boolean} bUseVertexCorner
* @param {boolean} bAlignZ
* @param {boolean} bInverseNormal
* @param {number} innerRoughness
* @param {number} outerRoughness
* @param {number} innerNormal
* @param {number} outerNormal
* @param {number} innerBrightness
* @param {number} outerBrightness
*/
export interface ModelerFloorAtomType {
innerMatName: string;
outerMatName: string;
innerHeight: number;
outerHeight: number;
outerWidth: number;
cornerRadius: number;
cornerSplitNum: number;
outerUVTransform: IOuterUVTransform;
innerUVTransform: IInnerUVTransform;
bUseVertexCorner: boolean;
bAlignZ: boolean;
bInverseNormal: boolean;
innerRoughness: number;
outerRoughness: number;
innerNormal: number;
outerNormal: number;
innerBrightness: number;
outerBrightness: number;
}
/**
* @interface ModelerFloorType
* @extends EntityEidType,Partial<BasicInfoAtomType>,Partial<TransformAtomType>,Partial<VisibleAtomType>,Partial<ModelerFloorPolygonAtomType>,Partial<EntityFlagAtomType>
* @param {deepPartial<ModelerFloorAtomType>} modelerFloorStyle (optional)
*/
export interface ModelerFloorType extends EntityEidType, Partial<BasicInfoAtomType>, Partial<TransformAtomType>, Partial<VisibleAtomType>, Partial<ModelerFloorPolygonAtomType>, Partial<EntityFlagAtomType>, Partial<EntityOutlinerAtomType> {
modelerFloorStyle?: deepPartial<ModelerFloorAtomType>;
}
/**
* @interface IGenerate
* @param {Partial<ModelerFloorAtomType>} ModelerFloorAtom (optional)
* @param {Partial<ModelerFloorPolygonAtomType>} ModelerFloorPolygonAtom (optional)
* @param {Partial<BasicInfoAtomType>} BasicInfoAtom (optional)
* @param {Partial<TransformAtomType>} TransformAtom (optional)
* @param {Partial<VisibleAtomType>} VisibleAtom (optional)
* @param {Partial<EntityFlagAtomType>} EntityFlagAtom (optional)
*/
export interface IGenerate {
ModelerFloorAtom?: deepPartial<ModelerFloorAtomType>;
ModelerFloorPolygonAtom?: Partial<ModelerFloorPolygonAtomType>;
BasicInfoAtom?: Partial<BasicInfoAtomType>;
TransformAtom?: Partial<TransformAtomType>;
VisibleAtom?: Partial<VisibleAtomType>;
EntityFlagAtom?: Partial<EntityFlagAtomType>;
EntityOutlinerAtom?: Partial<EntityOutlinerAtomType>;
}