ctrl to rotate around
This commit is contained in:
parent
e0ec332602
commit
b5377610ba
14
rug.cpp
14
rug.cpp
|
@ -1120,8 +1120,14 @@ void actDraw() {
|
||||||
if(keystate[SDLK_DOWN]) strafey += alpha;
|
if(keystate[SDLK_DOWN]) strafey += alpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i=0; i<size(points); i++) {
|
if(qm) {
|
||||||
points[i]->flat = t * points[i]->flat;
|
if(keystate[SDLK_LCTRL])
|
||||||
|
push_all_points(2, +model_distance);
|
||||||
|
for(int i=0; i<size(points); i++) {
|
||||||
|
points[i]->flat = t * points[i]->flat;
|
||||||
|
}
|
||||||
|
if(keystate[SDLK_LCTRL])
|
||||||
|
push_all_points(2, -model_distance);
|
||||||
}
|
}
|
||||||
|
|
||||||
model_distance -= push;
|
model_distance -= push;
|
||||||
|
@ -1197,7 +1203,7 @@ hyperpoint gethyper(ld x, ld y) {
|
||||||
tx /= det; ty /= det;
|
tx /= det; ty /= det;
|
||||||
if(tx >= 0 && ty >= 0 && tx+ty <= 1) {
|
if(tx >= 0 && ty >= 0 && tx+ty <= 1) {
|
||||||
double rz1 = p0[2] * (1-tx-ty) + p1[2] * tx + p2[2] * ty;
|
double rz1 = p0[2] * (1-tx-ty) + p1[2] * tx + p2[2] * ty;
|
||||||
rz1 = -rz1;
|
rz1 = -rz1; if(!rug_perspective) rz1 += model_distance;
|
||||||
if(rz1 < radar_distance) {
|
if(rz1 < radar_distance) {
|
||||||
radar_distance = rz1;
|
radar_distance = rz1;
|
||||||
rx1 = r0->x1 + (r1->x1 - r0->x1) * tx + (r2->x1 - r0->x1) * ty;
|
rx1 = r0->x1 + (r1->x1 - r0->x1) * tx + (r2->x1 - r0->x1) * ty;
|
||||||
|
@ -1291,7 +1297,7 @@ void show() {
|
||||||
dialog::reaction = [] () { err_zero_current = err_zero; };
|
dialog::reaction = [] () { err_zero_current = err_zero; };
|
||||||
}
|
}
|
||||||
else if(uni == 'r')
|
else if(uni == 'r')
|
||||||
addMessage(XLAT("This just shows the distance from the camera to the cursor."));
|
addMessage(XLAT("This just shows the 'z' coordinate of the selected point."));
|
||||||
else if(uni == 'm') {
|
else if(uni == 'm') {
|
||||||
dialog::editNumber(modelscale, 0.1, 10, .1, 1, "model scale factor",
|
dialog::editNumber(modelscale, 0.1, 10, .1, 1, "model scale factor",
|
||||||
"This is relevant when the native geometry is not hyperbolic. "
|
"This is relevant when the native geometry is not hyperbolic. "
|
||||||
|
|
2
util.cpp
2
util.cpp
|
@ -8,7 +8,7 @@ string its(int i) { char buf[64]; sprintf(buf, "%d", i); return buf; }
|
||||||
string fts(float x) { char buf[64]; sprintf(buf, "%4.2f", x); return buf; }
|
string fts(float x) { char buf[64]; sprintf(buf, "%4.2f", x); return buf; }
|
||||||
string fts3(float x) { char buf[64]; sprintf(buf, "%5.3f", x); return buf; }
|
string fts3(float x) { char buf[64]; sprintf(buf, "%5.3f", x); return buf; }
|
||||||
string fts4(float x) { char buf[64]; sprintf(buf, "%6.4f", x); return buf; }
|
string fts4(float x) { char buf[64]; sprintf(buf, "%6.4f", x); return buf; }
|
||||||
string ftsg(float x) { char buf[64]; sprintf(buf, "%8.5g", x); return buf; }
|
string ftsg(float x) { char buf[64]; sprintf(buf, "%4.2g", x); return buf; }
|
||||||
|
|
||||||
string ftssmart(ld x) {
|
string ftssmart(ld x) {
|
||||||
if(x == int(x)) return its(int(x));
|
if(x == int(x)) return its(int(x));
|
||||||
|
|
Loading…
Reference in New Issue