@wdp-api/wim-api
Version:
51WORLD WIM Api is a JavaScript plugin for WdpApi, It provides a set of APIs for developers to integrate WIM into their own applications.
105 lines (104 loc) • 3.61 kB
TypeScript
import { EntityEidType, BasicInfoAtomType, TransformAtomType, VisibleAtomType, ICoordinates2D, EntityFlagAtomType, EntityOutlinerAtomType } from './data-type';
/**
* @interface IAttributes
* @param {number} cornerRadius
* @param {number} cornerSplitNum
*/
export interface IAttributes {
cornerRadius: number;
cornerSplitNum: number;
}
/**
* @interface WimModelerWaterPolygonAtomType
* @param {Array<IAttributes>} attributes
* @param {ICoordinates2D} coordinates
*/
export interface WimModelerWaterPolygonAtomType {
attributes: Array<IAttributes>;
coordinates: ICoordinates2D;
}
/**
* @interface WimModelerWaterAtomType
* @param {number} waterHeight
* @param {boolean} bInverseNormal
* @param {boolean} bAlignZ
* @param {boolean} bUseVertexCorner
* @param {number} cornerRadius
* @param {number} cornerSplitNum
* @param {string} waterType
* @param {string} waterColor
* @param {number} waveHeight
* @param {number} waterTransparency
* @param {number} waterTransparentDepth
* @param {number} rippleScale
* @param {number} waveRotate
* @param {number} waveSpeed
*/
export interface WimModelerWaterAtomType {
waterHeight: number;
bInverseNormal: boolean;
bAlignZ: boolean;
bUseVertexCorner: boolean;
cornerRadius: number;
cornerSplitNum: number;
waterType: string;
waterColor: string;
waveHeight: number;
waterTransparency: number;
waterTransparentDepth: number;
rippleScale: number;
waveRotate: number;
waveSpeed: number;
waveIntensity: number;
waveScale: number;
}
/**
* @interface WimModelerWaterType
* @extends EntityEidType,Partial<BasicInfoAtomType>,Partial<TransformAtomType>,Partial<VisibleAtomType>,Partial<WimModelerWaterPolygonAtomType>,Partial<EntityFlagAtomType>
* @param {Partial<WimModelerWaterAtomType>} wimModelerWaterStyle (optional)
*/
export interface WimModelerWaterType extends EntityEidType, Partial<BasicInfoAtomType>, Partial<TransformAtomType>, Partial<VisibleAtomType>, Partial<WimModelerWaterPolygonAtomType>, Partial<EntityFlagAtomType>, Partial<EntityOutlinerAtomType> {
wimModelerWaterStyle?: Partial<WimModelerWaterAtomType>;
}
/**
* @interface IGenerate
* @param {Partial<WimModelerWaterPolygonAtomType>} WimModelerWaterPolygonAtom (optional)
* @param {Partial<WimModelerWaterPolygonAtomType>} WimModelerWaterPolygonAtom (optional)
* @param {Partial<BasicInfoAtomType>} BasicInfoAtom (optional)
* @param {Partial<TransformAtomType>} TransformAtom (optional)
* @param {Partial<VisibleAtomType>} VisibleAtom (optional)
* @param {Partial<EntityFlagAtomType>} EntityFlagAtom (optional)
*/
export interface IGenerate {
WimModelerWaterAtom?: Partial<WimModelerWaterAtomType>;
WimModelerWaterPolygonAtom?: Partial<WimModelerWaterPolygonAtomType>;
BasicInfoAtom?: Partial<BasicInfoAtomType>;
TransformAtom?: Partial<TransformAtomType>;
VisibleAtom?: Partial<VisibleAtomType>;
EntityFlagAtom?: Partial<EntityFlagAtomType>;
EntityOutlinerAtom?: Partial<EntityOutlinerAtomType>;
}
export interface IonRequestModelerWaterFileList {
page: number;
rows: number;
searchName?: string;
filterType: string;
}
export interface IfileData {
category: string;
createdAt: string;
format: string;
id: string;
isFolder: boolean;
name: string;
parentId: string;
path: string;
size: number;
synced: boolean;
updatedAt: string;
url: string;
}
export interface IsendFileListToWim extends Pick<IonRequestModelerWaterFileList, 'rows' | 'page'> {
fileData: Array<IfileData>;
total: number;
}