Render points corresponding to a DOF in the front layer.
Before this commit, if any rendering mode except "show all occluded" is enabled, points can be highlighted for corresponding to a DOF after "Analyze → Degrees of Freedom" but then promptly occluded, which is confusing.pull/168/head
parent
db75e06ecc
commit
86f229c5e6
|
@ -69,6 +69,8 @@ Bugs fixed:
|
||||||
same orientation constraints are more robust.
|
same orientation constraints are more robust.
|
||||||
* Adding some constraints (vertical, midpoint, etc) twice will now error out
|
* Adding some constraints (vertical, midpoint, etc) twice will now error out
|
||||||
immediately, instead of later and in a confusing way.
|
immediately, instead of later and in a confusing way.
|
||||||
|
* Points highlighted with "Analyze → Show Degrees of Freedom" are drawn
|
||||||
|
on top of all other geometry.
|
||||||
|
|
||||||
2.3
|
2.3
|
||||||
---
|
---
|
||||||
|
|
|
@ -495,14 +495,6 @@ void Entity::Draw(DrawAs how, Canvas *canvas) {
|
||||||
stroke.zIndex = zIndex;
|
stroke.zIndex = zIndex;
|
||||||
Canvas::hStroke hcs = canvas->GetStroke(stroke);
|
Canvas::hStroke hcs = canvas->GetStroke(stroke);
|
||||||
|
|
||||||
Canvas::Stroke pointStroke = {};
|
|
||||||
pointStroke.layer = stroke.layer;
|
|
||||||
pointStroke.zIndex = stroke.zIndex;
|
|
||||||
pointStroke.color = stroke.color;
|
|
||||||
pointStroke.width = 7.0;
|
|
||||||
pointStroke.unit = Canvas::Unit::PX;
|
|
||||||
Canvas::hStroke hcsPoint = canvas->GetStroke(pointStroke);
|
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case Type::POINT_N_COPY:
|
case Type::POINT_N_COPY:
|
||||||
case Type::POINT_N_TRANS:
|
case Type::POINT_N_TRANS:
|
||||||
|
@ -528,9 +520,19 @@ void Entity::Draw(DrawAs how, Canvas *canvas) {
|
||||||
|
|
||||||
free = pu->free || pv->free;
|
free = pu->free || pv->free;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Canvas::Stroke pointStroke = {};
|
||||||
|
pointStroke.layer = (free) ? Canvas::Layer::FRONT : stroke.layer;
|
||||||
|
pointStroke.zIndex = stroke.zIndex;
|
||||||
|
pointStroke.color = stroke.color;
|
||||||
|
pointStroke.width = 7.0;
|
||||||
|
pointStroke.unit = Canvas::Unit::PX;
|
||||||
|
Canvas::hStroke hcsPoint = canvas->GetStroke(pointStroke);
|
||||||
|
|
||||||
if(free) {
|
if(free) {
|
||||||
Canvas::Stroke analyzeStroke = Style::Stroke(Style::ANALYZE);
|
Canvas::Stroke analyzeStroke = Style::Stroke(Style::ANALYZE);
|
||||||
analyzeStroke.width = 14.0;
|
analyzeStroke.width = 14.0;
|
||||||
|
analyzeStroke.layer = Canvas::Layer::FRONT;
|
||||||
Canvas::hStroke hcsAnalyze = canvas->GetStroke(analyzeStroke);
|
Canvas::hStroke hcsAnalyze = canvas->GetStroke(analyzeStroke);
|
||||||
|
|
||||||
canvas->DrawPoint(PointGetNum(), hcsAnalyze);
|
canvas->DrawPoint(PointGetNum(), hcsAnalyze);
|
||||||
|
|
Loading…
Reference in New Issue