1. 说明(属性)

1.1. 类声明:

负责初始化箭头管理器实例。位置:BOS3D.Plugins.ArrowManager。

示例:

var obj = {
    points: [
        {
            x: 1358.8196412795533,
            y: -6341.485698445427,
            z: 10995.49617748482,
        },{
            x: -2615.1871949109845,
            y: -6318.5818399902955,
            z: 10985.185917509478,
        },{
            x: -3838.267682557506,
            y: -5374.850339786619,
            z: 11492.620457150879,
        },{
            x: -3710.0687849011592,
            y: -1501.0154219735823,
            z: 11434.930953205523,
        },{
            x: 272.67425043657386,
            y: 2512.3809413921354,
            z: 9642.696587303544,
        },{
            x: 348.1927201307126,
            y: 2599.303539932592,
            z: -439.6827266775599,
        }
    ],
    createMode:'number',
    arrowAmount:'10',
}
var BosArrowArray = new ArrowManager({"viewer3D":viewer3D,"opt":obj});

该实例所包含的属性,如下:

1.2. 属性:

属性名 描述
ArrowParameters 插件运行状态下的参数数据对象。
ArrowArray mesh数组对象。
PathNumb 路径数。
TotalLength 路径总长度。
Path 路径数组,里面包含了路径的详细参数,包括mesh做旋转变换所需的参数。
IntervalLength 间隔长度,此参数=箭头的几何长度+间隔空间。
GeometricModelLength 箭头几何长度。
isFlowing 表示箭头是否处于流动状态,布尔类型。
mesh扩展属性lockPosUpDate 此参数为true的时候,将会锁定箭头位置,箭头位置将不会更新以及由位置更新引起的visible属性的更新。
mesh.userData.BosArrowExt.enterState 当箭头以渐进方式入场的时候,此参数标注箭头是已否进入场景中。
mesh.pathOrder 表示箭头当前所在的路径序号。

示例:

BosArrowArray.ArrowParameters(props)

1.3. 构造函数:

ArrowManager (prop)

名称 说明 类型 是否必填 默认值
props.viewer3D viewer3D实例 object 无默认值
props.opt 组件参数及路径信息 object 无默认值
props.opt.points 1:一组描述箭头路径的点位数组,每个点位由一个对象组成,每个对象由x,y,z三个属性 描述三维空间坐标。插件会根据点位对象生成箭头路径,由第一个点位对象和第二个 点位对象生成路径1,由第二点位对象和第三个点位对象生成路径2,以此类推。 2:此数组对象至少包含两个点位对象。 object[] 无默认值
props.opt.arrowShape 描述箭头形状参数 object arrowShape:{ triangleBottomLength:400,//等腰三角形底边长度 triangleBottomHeight:260,//等腰三角形底边高度 rectangleLength: 500,//矩形长度 rectangleWidth: 180,//矩形宽度 arrowHeight: 80//箭头模型高度 }
props.opt.speed 描述箭头每次移动距离,此参数可以初始化是设置,也可在初始化后通过接口函数重新指定大小。 float 60
props.opt.spacing 描述箭头间隔距离 float 100
props.opt.colors 1:表示箭头颜色对象,此对象包含对所有路径上的箭头指定的颜色,例如对第一条路径指定 红色,1代表第一次路径,程序默认1为第一条路径,default当对象 无法确定颜色的时候会
使用default指定的颜色。
2:当colors属性和materials属性都不存在的时候,插件会采用以颜色值为0xa1d5d6,透明度为
0.8的基础材质对象作为箭头默认材质。
3:colors属性生成的材质对象都是基础材质对象,不支持透明度设置,如果想对箭头进行更
高级的材质设置,请使用materials属性设置箭头颜色。
object 颜色值为:0xa1d5d6,透明度为0.8的基础材质对象
props.opt.materials 1:表示箭头材质对象,形式与colors对象相似,只不过对每条路径指定的材质不是颜色,而
是THREEJS生产的材质对象,材质对象也存在default值。
2:materials属性优先级高于colors属性,对同一条路径指定的颜色值和材质对象,材质属性
会覆盖颜色属性。
Object 无默认值
props.opt.materialsUpdate 表示箭头路径发生改变的时候,箭头颜色是否变化
fixed:表示箭头在路径发生变化的时候,颜色不会改变。
path:表示箭头在路径发生变化的时候,颜色会发生改变。
string:[fixed或path] 'fixed'
props.opt.materialsInit 1:这个参数用于指定箭头的初始材质,是按照箭头初始时路径指定箭头材质,还是按照箭头
的默认材质指定箭头材质
2:当箭头入场模式(enterScene:'progressive')为渐进式入场,并更新箭头材质属性为跟随路
径模式(materialsUpdat:'path')时,materialsInit在场景模型显示效果是无意义的。
string:[default或path] 'default'
props.opt.offset 1:描述箭头在路径上产生的偏移量参数,由于箭头只是按照路径生成排列或者移动轨迹,但
是没有考虑在排列过程中被遮挡的情况,此参数用来调整箭头方向避免被遮挡。
2:offset使用形式与colors属性相似,但是offset内不包含默认偏移量属性,也就是无法通过一个
值设置所有路径的偏移量。
depth:此参数表示箭头距离路径的高度。
angle:此参数表示箭头以路径为轴旋转的角度。
Object 无默认值
props.opt.enterSceMod 描述箭头的入场模式
cover:箭头全部排列在路径上。
progressive:箭头会从起始点一个个渐进进入场景。
string:[cover或progressive] 'cover'
props.opt.createMode 表示箭头创建方式 space:按照空间计算创建箭头数量,主要是依据路径长度,箭头长度,箭
头间隔等计算生成箭头的数量
number:按照用户指定数量创建箭头
string:[space或number] 'space'
props.opt.arrowAmount 创建箭头数量,当创建模式为按照数量创建的时候,会根据arrowAmount属性创建相应个数箭头 number 无默认值
props.opt.intervalMode 此参数表示当按照空间初始箭头的情况下 余下空间如何使用
free:表示把余下空间平均到每个箭头之间的间隔空间中,在展示效果中箭头与箭头之间的距
离会更平均,不向strict状态下首尾箭头会出现较大的间隔
strict:表示余下空间不做处理,空间直接闲置
string:[free或strict] 无默认值
props.opt.customizeMesh 表示是否自定义箭头的几何形状,箭头在旋转或者移动的时候默认的初始向量是(1,0,0),箭头的 长度是几何体X轴的长度 boolean False
props.opt.mesh 在用户自定义几何体形状的情况,表示自定义的几何对象 THREE.Mesh 无默认值
props.opt.meshLength 在用户自定义几何体形状的情况,表示自定义的几何对象的长度,主要是x轴长度 float 无默认值
props.opt.callback 当箭头进入或者离开一段路径的时候,会触发callback对象内回调函数,并返回触发事件的mesh 对象和所在路径的路径对象 enter:当函数进入到某段路径的时候会触发执行。 out:当函数离开某段路径的时候会执行 Object:{
enter:function,
out:function
}
无默认值

示例:

var obj = {
    points: [
        {
            x: 1358.8196412795533,
            y: -6341.485698445427,
            z: 10995.49617748482,
        },{
            x: -2615.1871949109845,
            y: -6318.5818399902955,
            z: 10985.185917509478,
        },{
            x: -3838.267682557506,
            y: -5374.850339786619,
            z: 11492.620457150879,
        },{
            x: -3710.0687849011592,
            y: -1501.0154219735823,
            z: 11434.930953205523,
        },{
            x: 272.67425043657386,
            y: 2512.3809413921354,
            z: 9642.696587303544,
        },{
            x: 348.1927201307126,
            y: 2599.303539932592,
            z: -439.6827266775599,
        }],
    offset:{
        1:{
            depth:120,
            angle:60
        },
        2:{
            depth:120,
            angle:160
        },
        3:{
            depth:120,
            angle:100
        },
        4:{
            depth:120,
            angle:100
        }
    },
    colors:{
        1:0xff0000,
        2:0x00ff00,
        5:0x0000ff,
        'default':0xff00ff
    },
    callback:{
        out:function(mesh,path){
            if(mesh.pathOrder===4){
                mesh.lockPosUpDate=true;

            }
        }
    },
    customizeMesh:true,
    mesh:cube,
    meshLength:400,
    spacing:800,
    materialsInit:'path',
    materialsUpdate:'path',
    enterSceMod:'progressive',
    createMode:'number',
    arrowAmount:'10',
    intervalMode:'strict',
    customizeMesh:true,
    meshLength:400,
}
//创建箭头数组对象
var BosArrowArray = new ArrowManager({"viewer3D":viewer3D,"opt":obj});
//初始化箭头数组对象
BosArrowArray.init();
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2021 all right reserved,powered by Gitbook该文件修订时间: 2021-12-20 09:59:48

results matching ""

    No results matching ""