changing constraint's parameters from 3d view

This commit is contained in:
Val Erastov 2019-08-03 13:14:44 -07:00
parent e99c2449f5
commit 9cf9f18e37
3 changed files with 19 additions and 14 deletions

View file

@ -84,19 +84,7 @@ function initializeSketcherApplication() {
},
click : function(item) {
var c = item.constr;
if (c.SettableFields === undefined) return;
for (var f in c.SettableFields) {
var value = c[f];
var intro = c.SettableFields[f];
value = askNumber(intro, typeof(value) == "number" ? value.toFixed(4) : value, prompt, pm.constantResolver);
if (value != null) {
c[f] = value;
}
}
app.viewer.parametricManager.refresh();
pm.updateConstraintConstants(item.constr);
}
});
var constraintsView = app.dock.views['Constraints'];

View file

@ -23,7 +23,8 @@ import Fa from 'ui/components/Fa';
viewer.deselectAll();
viewer.refresh();
},
constraints: ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.system.constraints
constraints: ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.system.constraints,
updateConstraintConstants: c => ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.updateConstraintConstants(c)
}))
export class ConstraintExplorer extends React.Component {
@ -33,6 +34,7 @@ export class ConstraintExplorer extends React.Component {
<div className={ls.titleBar}>Constraints</div>
<div className={ls.scrollableArea}>
{constraints.map((c, i) => <div key={c.id} className={ls.objectItem}
onClick={() => this.props.updateConstraintConstants(c)}
onMouseEnter={() => this.props.highlight(c)}
onMouseLeave={() => this.props.withdraw(c)}>
<span className={ls.objectIcon}><img width="15px" src='img/vec/pointOnArc.svg'/></span>

View file

@ -872,5 +872,20 @@ ParametricManager.prototype.prepareForSubSystem = function(locked, subSystemCons
return solver;
};
ParametricManager.prototype.updateConstraintConstants = function(constr) {
let c = constr;
if (c.SettableFields === undefined) return;
for (let f in c.SettableFields) {
let value = c[f];
let intro = c.SettableFields[f];
value = askNumber(intro, typeof(value) === "number" ? value.toFixed(4) : value, prompt, this.constantResolver);
if (value != null) {
c[f] = value;
}
}
this.viewer.parametricManager.refresh();
};
import {Constraints} from './constraints';
import {askNumber} from '../utils/utils';
export {Constraints, ParametricManager}