1. 电子围栏效果配置类
位于:BOS3D.Plugins.Animation.WallEffectConfig
1.1. 实例化
var config = new BOS3D.Plugins.WallEffectConfig();
1.2. 属性
1.2.1. stretch
/**
* 是否对图像进行拉伸。为true时按照围墙大小对图片进行拉伸,填充整个围墙。否则保留图像长宽比,沿水平方向时,对图片高度进行适配;沿垂直方向时,对图片长度进行适配。默认为false
* @property {Boolean} stretch
*/
1.2.2. repeat
/**
* 是否对图像进行重复。沿路径水平方向时,对图片高度进行适配,水平方向重复图像;沿垂直方向时,对图片长度进行适配,竖直方向重复图片。默认为true
* @property {Boolean} repeat
*/
1.2.3. color
/**
* 颜色
* @property {BOS3D.Color} color
*/
1.2.4. direction
/**
* 电子围墙效果的动画方向
* @property {Object} direction
* @property {String} direction.type 枚举值为"Vertical"、"Horizontal",前者表示沿着path路径方向,后者表示沿着竖直方向
* @property {Boolean} direction.reverse 默认为false,表示沿着路径正方向或竖直向上
*/
1.2.5. viewer
/**
* Viewer对象
* @property {Object} viewer
*/
1.2.6. duration
/**
* 动画循环时间,单位为毫秒
* @property {Number} duration
*/
1.2.7. height
/**
* 高度,单位与场景设置单位一致
* @property {Number} height
*/
1.2.8. material
/**
* 材质对象
* @property {Plugins.Material} material
*/
1.2.9. path
/**
* 路径
* @property {Array} path
*/
2. 电子围栏效果类
位于:BOS3D.Plugins.Animation.WallEffect
2.1. 实例化
let materialConfig = new BOS3D.Plugins.MaterialConfig();
materialConfig.src = "./img/围栏@3x.png";
materialConfig.viewer = viewer3D;
materialConfig.callback = function (texture, mat) {
// 构造电子围墙效果配置项
let wallEffectConfig = new BOS3D.Plugins.Animation.WallEffectConfig();
// 配置Viewer对象、方向、持续时间、路径、高度
wallEffectConfig.viewer = viewer3D;
wallEffectConfig.direction = {
type: "Vertical", // 运动方式为沿着路径的切线方向
reverse: false, // 运动方向默认为逆时针
};
wallEffectConfig.material = mat;
wallEffectConfig.duration = 2000;
wallEffectConfig.blendingRatio = 1;
wallEffectConfig.height = 6000;
wallEffectConfig.stretch = true;
wallEffectConfig.path = path;
// 电子围墙颜色
wallEffectConfig.color = new BOS3D.Color(33, 167, 229, 0.6);
// 构造电子围墙扫描效果对象
wallEffect = new BOS3D.Plugins.Animation.WallEffect(wallEffectConfig);
};
let material = new BOS3D.Plugins.Material(materialConfig);
2.2. 属性
2.3. 方法
2.3.1. destroy
销毁电子围墙效果对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
无 | null | null | null | null |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 销毁电子围墙效果对象
* @function destroy
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.destroy();
2.3.2. update
更新参数配置
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
无 | null | null | null | null |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 更新参数配置
* @function update
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.update();
2.3.3. hide
隐藏电子围墙效果对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
无 | null | null | null | null |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 隐藏电子围墙效果对象
* @function hide
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.hide();
2.3.4. show
显示电子围墙效果对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
无 | null | null | null | null |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 显示电子围墙效果对象
* @function show
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.show();
2.3.5. setStretch
是否对图像进行拉伸
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
isEnabled | 是否对图像进行拉伸以适应电子围墙大小 | Boolean | 是 | true |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 是否对图像进行拉伸
* @function setStretch
* @param {Boolean} isEnabled 是否对图像进行拉伸以适应电子围墙大小。
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setStretch(true);
2.3.6. setRepeat
是否对图像进行重复
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
isEnabled | 是否对图像进行重复 | Boolean | 是 | true |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 是否对图像进行重复
* @function setRepeat
* @param {Boolean} isEnabled 是否对图像进行重复。
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setRepeat(true);
2.3.7. getColor
获取电子围墙效果的颜色
返回值说明 | 类型 | 示例 |
---|---|---|
颜色 | 颜色对象 BOS3D.Color | {r:1,g:1,b:1,a:1} |
调用方式:
/**
* 获取电子围墙效果的颜色
* @function getColor
* @return {Color} 颜色
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getColor();
2.3.8. setColor
设置电子围墙效果颜色
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
color | 颜色值 | 颜色对象 BOS3D.Color | 是 | new BOS3D.Color("#00ff00") |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果颜色
* @function setColor
* @param {BOS3D.Color} color 颜色
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setColor(new BOS3D.Color("#00ff00"));
2.3.9. getBlendingRatio
获取电子围墙效果的颜色融合程度
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙效果的颜色融合程度,取值范围为[0,1] | 数值 Number | 0.5 |
调用方式:
/**
* 获取电子围墙效果的颜色融合程度
* @function getBlendingRatio
* @return {Number} 波纹系数
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getBlendingRatio();
2.3.10. setBlendingRatio
设置电子围墙效果的颜色融合程度
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
blendingRatio | 电子围墙效果的颜色融合程度 | 数值 Number | 是 | 1 |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的颜色融合程度
* @function setBlendingRatio
* @param {Number} blendingRatio 电子围墙效果的颜色融合程度
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setBlendingRatio(0.5);
2.3.11. getDirection
获取电子围墙效果的动画方向
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙效果的动画方向 | 对象 Object | {type: "Vertical",reverse: false } |
调用方式:
/**
* 获取电子围墙效果的动画方向
* @function getDirection
* @return {Number} 波纹系数
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getDirection();
2.3.12. setDirection
设置电子围墙效果的动画方向
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
direction | 电子围墙效果的动画方向 | Object | 是 | {type: "Vertical",reverse: false } |
direction.type | 类型 | String | 是 | "Horizontal" |
direction.reverse | 反向 | Boolean | 是 | false |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的动画方向
* @function setDirection
* @param {Object} direction 电子围墙效果的动画方向
* @param {String} direction.type 枚举值为"Horizontal"、"Vertical",前者表示沿着path路径方向,后者表示沿着竖直方向
* @param {Boolean} direction.reverse 默认为false,表示沿着路径正方向或竖直向上
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setDirection({
type: "Vertical",
reverse: false,
});
2.3.13. getDuration
获取电子围墙效果的动画循环时间
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙效果的动画循环时间,单位为毫秒 | 数值 Number | 0.5 |
调用方式:
/**
* 获取电子围墙效果的动画循环时间
* @function getDuration
* @return {Number} 电子围墙效果的动画循环时间,单位为毫秒
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getDuration();
2.3.14. setDuration
设置电子围墙效果的动画循环时间
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
duration | 电子围墙效果的动画循环时间 | 数值 Number | 是 | 1 |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的动画循环时间
* @function setDuration
* @param {Number} duration 电子围墙效果的动画循环时间,单位为毫秒
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setDuration(5);
2.3.15. getHeight
获取电子围墙效果的高度
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙的高度,单位与场景设置单位一致 | 数值 Number | 5 |
调用方式:
/**
* 获取电子围墙效果的高度
* @function getHeight
* @return {Number} 电子围墙的高度,单位与场景设置单位一致
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getHeight();
2.3.16. setHeight
设置电子围墙效果的高度
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
height | 电子围墙效果的高度 | 数值 Number | 是 | 1 |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的高度
* @function setHeight
* @param {Number} height 电子围墙效果的高度
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setHeight(5);
2.3.17. getMaterial
获取电子围墙效果的材质对象
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙效果的材质 | BOS3D.Plugins.Material |
调用方式:
/**
* 获取电子围墙效果的材质对象
* @function getMaterial
* @return {Plugins.Material} 电子围墙效果的材质
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getMaterial();
2.3.18. setMaterial
设置电子围墙效果的材质对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
material | 电子围墙效果的材质对象 | Plugins.Material | 是 | BOS3D.Plugins.Material |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的材质对象
* @function setMaterial
* @param {Plugins.Material} material 电子围墙效果的材质对象
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setMaterial(new BOS3D.Plugins.Material());
2.3.19. getPath
获取电子围墙效果的路径
返回值说明 | 类型 | 示例 |
---|---|---|
电子围墙效果的路径 | Array | [{x:1,y:1,z:1},{x:2,y:1,z:1}] |
调用方式:
/**
* 获取电子围墙效果的路径
* @function getPath
* @return {Array} 电子围墙效果的路径
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.getPath();
2.3.20. setPath
设置电子围墙效果的路径
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
path | 电子围墙效果的路径 | Array | 是 | [{x:1,y:1,z:1},{x:2,y:1,z:1}]或[[1,1,1],[2,1,1]] |
返回值说明 | 类型 | 示例 |
---|---|---|
无 | null | null |
调用方式:
/**
* 设置电子围墙效果的路径
* @function setPath
* @param {Array} path 电子围墙效果的路径
* @return {void}
*/
var wall = new BOS3D.Plugins.WallEffect(config);
wall.setPath([
{
x: 1,
y: 1,
z: 1,
},
{
x: 2,
y: 1,
z: 1,
},
]);