/**
* @content 注记类信息功能组件
* @author 2019-09-16
*/
import { NativeModules } from 'react-native';
let ANNI = NativeModules.JSAnnClsInfo;
import XClsInfo from './XClsInfo.js';
/**
* @class AnnClsInfo
* @description 注记类信息
*/
export default class AnnClsInfo extends XClsInfo {
constructor() {
super();
Object.defineProperty(this, '_MGAnnClsInfoId', {
get: function() {
return this._MGXClsInfoId;
},
set: function(_MGAnnClsInfoId) {
this._MGXClsInfoId = _MGAnnClsInfoId;
},
});
}
/**
* 构造一个新的 AnnClsInfo 对象。
* @memberOf AnnClsInfo
* @returns {Promise.<AnnClsInfo>}
*/
async createObj() {
try {
var { AnnClsInfoId } = await ANNI.createObj();
var annClsInfo = new AnnClsInfo();
annClsInfo._MGAnnClsInfoId = AnnClsInfoId;
return annClsInfo;
} catch (e) {
console.error(e);
}
}
/**
* 获取注记要素类ID
* @memberOf AnnClsInfo
* @return {Promise} 类ID
*/
async getID() {
try {
return await ANNI.getID(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 取类类型
* @memberOf AnnClsInfo
* @return {Promise}类类型
*/
async getType() {
try {
return await ANNI.getType(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 获取注记要素类URL地址
* @memberOf AnnClsInfo
* @return {Promise}注记要素类URL地址
*/
async getURL() {
try {
return await ANNI.getURL(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 获取注记要素类名称
* @memberOf AnnClsInfo
* @return {Promise} 类名称
*/
async getName() {
try {
return await ANNI.getName(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 设置注记要素类名称
* @memberOf AnnClsInfo
* @param newVal 注记要素类名称
* @return {Promise} >0:成功;<=0:失败
*/
async setName(newVal) {
try {
return await ANNI.setName(this._MGAnnClsInfoId, newVal);
} catch (e) {
console.error(e);
}
}
/**
* 获取类几何约束类型
* @memberOf AnnClsInfo
* @return {Promise}几何约束类型
*/
async getAnnType() {
try {
return await ANNI.getAnnType(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 获取显示因子X
* @memberOf AnnClsInfo
* @return {Promise} 显示因子X
*/
async getScalex() {
try {
return await ANNI.getScalex(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 获取显示因子Y
* @memberOf AnnClsInfo
* @return {Promise} 显示因子Y
*/
async getScaley() {
try {
return await ANNI.getScaley(this._MGAnnClsInfoId);
} catch (e) {
console.error(e);
}
}
/**
* 设置显示因子XY
* @memberOf AnnClsInfo
* @param newVal
* @return {Promise} 是否设置成功
*/
async setScaleXY(newXVal, newYVal) {
try {
return await ANNI.setScaleXY(this._MGAnnClsInfoId, newXVal, newYVal);
} catch (e) {
console.error(e);
}
}
}