1. 三维不面向相机标签 PlaneMark
1.1. 属性
1.1.1. this.marks
所有mark的信息,用mark的id来唯一标识
1.1.2. this.components
Mark的容器,{id : THREE.Object3D}
1.1.3. this.SelectedMark
选中的mark图标 {Object}
1.1.4. this.allOids
所有mark的id的集合,数组形式
1.2. 方法
1.2.1. enabled
该方法用来开启鼠标事件监听
/**
* 该方法用来开启鼠标事件监听
* @function enabled 默认开启
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.enabled();
1.2.2. disabled
该方法用来关闭鼠标事件监听
/**
* 该方法用来关闭鼠标事件监听
* @function disabled
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.disabled();
1.2.3. touchEnabled
该方法用来开启触摸事件监听
/**
* 该方法用来开启触摸事件监听
* @function touchEnabled
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.touchEnabled();
1.2.4. touchDisabled
该方法用来关闭触摸事件监听
/**
* 该方法用来关闭触摸事件监听
* @function touchDisabled
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.touchDisabled();
1.2.5. add
该方法用来添加mark
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
option | 标签信息 | object | 是 | 见调用方法 |
callback | 回调方法 | function | 否 | 见调用方法 |
/**
* 该方法用来添加mark
* @function add
* @param [options] {Object} 构建mark的参数
* @param [options.URL] {String} mark图标的地址
* @param [options.id] {String} mark图标的id (默认随机生成)
* @param [options.side] {Number} mark图标可见面 0-正面,1-反面,2-双面 (默认双面)
* @param [options.width] {Number} mark图标宽度 (默认为图片像素宽度)
* @param [options.height] {Number} mark图标的高度 (默认为图片像素高度)
* @param [options.useImageSize] {Boolean} mark图标是否使用图片宽高
* @param [options.opacity] {Number} mark图标的透明度 (默认为 1)
* @param [options.transparent] {Boolean} mark图标是否透明 ,为真时opacity才会生效(默认为 false)
* @param [options.alwaysVisible] {Boolean} mark图标是否始终可见 (默认为true)
* @param [options.color]{array} mark图标的图片的颜色 默认[1,1,1] (如果不是1,1,1会覆盖图片本身的颜色)
* @param [options.position]{array} mark图标的添加位置,默认为[0,0,0]
* @param [options.emissive]{array} mark图标的图片自发光的颜色 默认[0,0,0] (如果不是0,0,0会覆盖图片本身的颜色)
* @param [options.matrix]{array} mark图标的4*4的转换矩阵,默认不作变换
* @param callback {function} 完成添加的回调函数 参数为所创建的mark的id
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
var options = {
id: "123",
URL: "./img/fire.png",
side: 2,
useImageSize: true,
alwaysVisible: true,
matrix: [
1,
0,
0,
100,
0,
1,
0,
100,
0,
0,
1,
100,
0,
0,
0,
1
]
};
planeMark.add(options, function (a) {
alert(a);
});
1.2.6. updateMark
该方法用来更新Mark
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
node | mark的id | String | 是 | "123" |
option | 标签信息 | object | 是 | 见调用方法 |
callback | 更新之后的回调 | function | 否 | function(){} |
/**
* 该方法用来更新Mark
* @function updateMark
* @param node {String} mark的id
* @param [options] {Object} 更新mark的参数
* @param [options.URL] {String} mark图标的地址
* @param [options.side] {Number} mark图标可见面 0-正面,1-反面,2-双面
* @param [options.width] {Number} mark图标宽度
* @param [options.height] {Number} mark图标的高度
* @param [options.useImageSize] {Boolean} mark图标是否使用图片宽高
* @param [options.opacity] {Number} mark图标的透明度
* @param [options.transparent] {Boolean} mark图标是否透明 ,为真时opacity才会生效
* @param [options.alwaysVisible] {Boolean} mark图标是否始终可见
* @param [options.color]{array} mark图标的图片的颜色
* @param [options.emissive]{array} mark图标的图片自发光的颜色
* @param [options.matrix]{array} mark图标的4*4的转换矩阵
* @param callback {function} 更新之后的回调
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
var options = {
URL: "./img/fire.png",
side: 2,
useImageSize: true,
alwaysVisible: true,
matrix: [
1,
0,
0,
100,
0,
1,
0,
100,
0,
0,
1,
100,
0,
0,
0,
1
]
};
planeMark.updateMark("123", options,function(){});
1.2.7. remove
方法用来将mark销毁
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
nodes | 标签id或id数组 | String或Array | 是 | ["123","1234"] |
/**
* 该方法用来将mark销毁
* @function remove
* @param nodes {String || Array} mark的id或id数组
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.remove([
"123",
"1234"
]);
1.2.8. hide
该方法用来将mark隐藏
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
nodes | 标签id或id数组 | String或Array | 是 | ["123","1234"] |
/**
* 该方法用来将mark隐藏
* @function hide
* @param nodes {String || Array} mark的id或id数组
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.hide([
"123",
"1234"
]);
1.2.9. show
该方法用来将隐藏的mark显示
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
nodes | 标签id或id数组 | String或Array | 是 | ["123","1234"] |
/**
* 该方法用来将隐藏的mark显示
* @function show
* @param nodes {String || Array} mark的id或id数组
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.show([
"123",
"1234"
]);
1.2.10. isolation
该方法用来将选中的mark隔离显示
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
nodes | 标签id或id数组 | String或Array | 是 | ["123","1234"] |
/**
* 该方法用来将选中的mark隔离显示
* @function isolation
* @param nodes {String || Array} mark的id或id数组
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.isolation([
"123",
"1234"
]);
```
1.2.11. listentoSelectMarks
该方法用来将选中的mark对象返回
/**
* 该方法用来将选中的mark对象返回
* @function listentoSelectMarks
* @param callback {Function} 回调函数,参数为:选中的构件的id(以逗号分隔),选中的构件对象
*/
//调用方法:
var planeMark = new BOS3D.PlaneMark(viewer3D);
planeMark.listentoSelectMarks(function (a) {
planeMark.isolation(a);
});