调整自动避障的策略,增加系统级自动避障参数,增加线段子控件的透明区域截取,取消了线段子控件创建时的白色背景

This commit is contained in:
猴赛雷 2025-01-15 23:17:00 +08:00
parent ec5cddcfc4
commit 5d58d9ba2c
12 changed files with 112 additions and 23 deletions

12
package-lock.json generated
View File

@ -1,19 +1,19 @@
{
"name": "ddei-editor",
"version": "1.2.45",
"version": "1.2.46-alpha-1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ddei-editor",
"version": "1.2.45",
"version": "1.2.46-alpha-1",
"license": "Apache License 2.0",
"devDependencies": {
"@tsconfig/node18": "^18.2.0",
"@types/node": "^18.17.6",
"@vitejs/plugin-vue": "^4.2.3",
"@vue/tsconfig": "^0.4.0",
"ddei-framework": "^1.2.45",
"ddei-framework": "^1.2.46-alpha-1",
"less": "^4.2.0",
"npm-run-all": "^4.1.5",
"typescript": "~5.1.6",
@ -496,9 +496,9 @@
}
},
"node_modules/ddei-framework": {
"version": "1.2.45",
"resolved": "https://registry.npmjs.org/ddei-framework/-/ddei-framework-1.2.45.tgz",
"integrity": "sha512-vGhRs6GE1c0ScSKGPxQKmETKZ3G/+OV48pQJYsw0bXCbBpWHpN4N/PH9S9zddx9ZfhLY//OMkbHmpmFSVUumfw==",
"version": "1.2.46-alpha-1",
"resolved": "https://registry.npmjs.org/ddei-framework/-/ddei-framework-1.2.46-alpha-1.tgz",
"integrity": "sha512-GQwNr/7FoPayQQ79y7pGlQ7GrWJXn2M/5laxZng9oKWZIi2m92FO7aQwwuz6BXUvF4uu/ntZ27Raar6dT6iUJA==",
"dev": true,
"engines": {
"node": ">=16.0.0"

View File

@ -1,6 +1,6 @@
{
"name": "ddei-editor",
"version": "1.2.46-1",
"version": "1.2.46-alpha-1",
"private": false,
"type": "module",
"author": "hoslay <3697355039@qq.com>",
@ -60,6 +60,6 @@
"vite": "^4.4.6",
"vite-plugin-compression": "^0.5.1",
"vue-tsc": "^1.8.6",
"ddei-framework": "^1.2.45"
"ddei-framework": "^1.2.46-alpha-1"
}
}

View File

@ -257,6 +257,7 @@ export default {
},
menus:[
{ name: "ddei-core-menu-disabled-auto-obi" },
{ name: "ddei-core-menu-enable-auto-obi" }
{ name: "ddei-core-menu-enable-auto-obi" },
{ name: "ddei-core-menu-sysdefault-auto-obi" }
]
}

View File

@ -562,9 +562,11 @@ export default {
return false;
}
}
//如果取消了避障,则忽略
if (line.disabledAutoObi) {
//如果没有设置自动避障,并且全局也取消自动避障
if (!line.autoObiPolicy && !model.stage.ddInstance.GLOBAL_AUTO_OBI) {
return false;
} else if (line.autoObiPolicy == 1){
return false;
}
}

View File

@ -228,7 +228,7 @@ class DDeiKeyActionStartQuickEdit extends DDeiKeyAction {
dataJson["textStyle"] = { paddingWeight: 0 }
if (isLineLM){
dataJson["fill"] = {type:1 ,color: 'white' }
// dataJson["fill"] = {type:1 ,color: 'white' }
}
for (let i in dataJson) {
let value = dataJson[i]

View File

@ -80,7 +80,8 @@ export default {
propertyName: "Property",
searchResult: "Search Result",
enableAutoObi: "Avoiding Obstacles",
disabledAutoObi: "Cancel Avoiding Obstacles",
disabledAutoObi: "Disable Avoiding Obstacles",
sysDefaultAutoObi: "Default Avoiding Obstacles",
property: {
id: 'id',
code: 'Code',

View File

@ -82,7 +82,8 @@ export default {
propertyName:"属性",
searchResult: "搜索结果",
enableAutoObi: "开启避障",
disabledAutoObi: "取消避障",
disabledAutoObi: "关闭避障",
sysDefaultAutoObi: "默认避障",
property:{
id:'id',
code:'编码',

View File

@ -9,6 +9,7 @@ import MenuRemoveRow from "./menu-remove-row"
import MenuRemoveSheet from "./menu-remove-sheet"
import MenuDisabledAutoObi from "./menu-disabled-autoobi"
import MenuEnableAutoObi from "./menu-enable-autoobi"
import MenuSysDefaultAutoObi from "./menu-sysdefault-autoobi"
/**
@ -24,7 +25,7 @@ class DDeiCoreMenus extends DDeiPluginBase{
plugins: object[] = [MenuCancelMergeCell, MenuCopySheet, MenuInsertCol, MenuInsertRow,
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi,MenuEnableAutoObi]
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi, MenuSysDefaultAutoObi]
getMenus(editor){
@ -59,6 +60,6 @@ class DDeiCoreMenus extends DDeiPluginBase{
}
export {
DDeiCoreMenus, MenuCancelMergeCell, MenuCopySheet, MenuInsertCol, MenuInsertRow,
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi
MenuMergeCell, MenuRemoveCol, MenuRemoveRow, MenuRemoveSheet, MenuDisabledAutoObi, MenuEnableAutoObi, MenuSysDefaultAutoObi
}
export default DDeiCoreMenus

View File

@ -52,7 +52,7 @@ class MenuDisabledAutoObi extends DDeiMenuBase {
*/
action(model: object, evt: Event): void {
if (model?.baseModelType == 'DDeiLine') {
model.disabledAutoObi = 1
model.autoObiPolicy = 1
let ddInstance = model.stage.ddInstance
model.refreshLinePoints()
@ -67,7 +67,10 @@ class MenuDisabledAutoObi extends DDeiMenuBase {
*/
isVisiable(model: object): boolean {
//当前控件为表格控件TODO 或者布局方式为表格的容器控件
if (!this.disabled && model?.baseModelType == 'DDeiLine' && !model.disabledAutoObi) {
if (!this.disabled && model?.baseModelType == 'DDeiLine'
&& ((model.stage.ddInstance.GLOBAL_AUTO_OBI && !model.autoObiPolicy) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 2))
) {
return true
}
return false;

View File

@ -52,9 +52,9 @@ class MenuEnableAutoObi extends DDeiMenuBase {
*/
action(model: object, evt: Event): void {
if (model?.baseModelType == 'DDeiLine') {
delete model.disabledAutoObi
model.autoObiPolicy = 2
let ddInstance = model.stage.ddInstance
model.refreshLinePoints()
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
ddInstance.bus.executeAll();
@ -67,7 +67,8 @@ class MenuEnableAutoObi extends DDeiMenuBase {
*/
isVisiable(model: object): boolean {
//当前控件为表格控件TODO 或者布局方式为表格的容器控件
if (!this.disabled && model?.baseModelType == 'DDeiLine' && model.disabledAutoObi) {
if (!this.disabled && model?.baseModelType == 'DDeiLine' && ((model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 1) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && !model.autoObiPolicy))) {
return true
}
return false;

View File

@ -0,0 +1,78 @@
import {DDeiEnumBusCommandType} from "ddei-framework";
import {DDeiMenuBase} from "ddei-framework";
/**
*
*/
class MenuSysDefaultAutoObi extends DDeiMenuBase {
name: string = "ddei-core-menu-sysdefault-auto-obi"
/**
*
*/
static defaultIns: MenuSysDefaultAutoObi = new MenuSysDefaultAutoObi();
defaultOptions: object = {
'label': 'ddei.sysDefaultAutoObi',
'disabled': false
}
static configuration(options, fullConfig: boolean = false) {
//解析options只使用自己相关的
if (options) {
let newOptions = {}
if (fullConfig) {
if (fullConfig) {
if (options[MenuSysDefaultAutoObi.defaultIns.name]) {
for (let i in options[MenuSysDefaultAutoObi.defaultIns.name]) {
newOptions[i] = options[MenuSysDefaultAutoObi.defaultIns.name][i]
}
}
}
} else {
newOptions = options
}
if (newOptions && Object.keys(newOptions).length !== 0) {
let panels = new MenuSysDefaultAutoObi(newOptions);
return panels;
}
}
return MenuSysDefaultAutoObi;
}
static modify(fn) {
return MenuSysDefaultAutoObi.defaultIns.modify(fn)
}
/**
*
*/
action(model: object, evt: Event): void {
if (model?.baseModelType == 'DDeiLine') {
delete model.autoObiPolicy
let ddInstance = model.stage.ddInstance
model.refreshLinePoints()
ddInstance.bus.push(DDeiEnumBusCommandType.RefreshShape);
ddInstance.bus.executeAll();
}
}
/**
*
*/
isVisiable(model: object): boolean {
if (!this.disabled && model?.baseModelType == 'DDeiLine'
&& ((model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 2) || (!model.stage.ddInstance.GLOBAL_AUTO_OBI && model.autoObiPolicy == 1))) {
return true
}
return false;
}
}
export default MenuSysDefaultAutoObi;

View File

@ -39,10 +39,11 @@ export default defineComponent({
]
}
const options = markRaw({
currentLayout: currentLayout,
// currentLayout: currentLayout,
config: {
ratio: 0.7, //120%
pixel:2, //
// GLOBAL_AUTO_OBI:false,
// readonly:true,
// readonly:1,
// paper:"A6",