iv-3d-lib
Version:
A reusable ThreeJS library providing features for Ivee 3D Editor.
69 lines (60 loc) • 2.03 kB
text/typescript
import { Iv3dObjectProperty } from './iv-3d-object-property';
import { Iv3dDataSource, Iv3dDataSourceItem } from './iv-3d-data-source';
export class Iv3dObject {
name: string = '';
uuid: string = '';
url: string = '';
meshType: Iv3dObjectType = Iv3dObjectType.none;
objectProps: Iv3dObjectProperty[] = [];
geometryProps: Iv3dObjectProperty[] = [];
materialProps: Iv3dObjectProperty[] = [];
cfgProps: Iv3dObjectProperty[] = [];
children: Iv3dObject[] = [];
contentPanels: string = '';
visibleRuntime: boolean = true;
sVisibleRuntime: string = 'true';
script: string;
dataSourceItem: Iv3dDataSourceItem = null;
}
export enum Iv3dObjectType {
none = <any>'',
group = <any>'group',
line = <any>'line',
plane = <any>'plane',
circle = <any>'circle',
cube = <any>'cube',
sphere = <any>'sphere',
cylinder = <any>'cylinder',
torus = <any>'torus',
torusKnot = <any>'torusKnot',
points = <any>'points',
particles = <any>'particles',
text = <any>'text'
}
export enum Iv3dGeometryType {
none = <any>'',
line = <any>'Geometry',
segment = <any>'Geometry',
circle = <any>'CircleGeometry',
box = <any>'BoxGeometry',
plane = <any>'PlaneBufferGeometry',
sphere = <any>'SphereGeometry',
cylinder = <any>'CylinderGeometry',
torus = <any>'TorusGeometry',
torusKnot = <any>'TorusKnotGeometry',
text = <any>'TextGeometry',
particles = <any>'Particles'
}
export enum Iv3dMaterialType {
none = <any>'',
lineBasic = <any>'LineBasicMaterial',
lineDashed = <any>'LineDashedMaterial',
meshBasic = <any>'MeshBasicMaterial',
meshDepth = <any>'MeshDepthMaterial',
meshLambert = <any>'MeshLambertMaterial',
meshPhong = <any>'MeshPhongMaterial',
meshStandard = <any>'MeshStandardMaterial',
meshToon = <any>'MeshToonMaterial',
points = <any>'PointsMaterial',
multi = <any>'MultiMaterial'
}