Flip on viewer center (#2564)
* Add Reset Rotation option * Switch ZoomReset to ViewReset * Add Reset Zoom option * Add flip viewer options to context menu * Enable visualization buttons on command bar * Fix reset Rotate on Camera Center * Add Reset Position option * Add tool option bar reset buttons * Flip on viewer center
This commit is contained in:
parent
c96e497d75
commit
c96b4c870a
1 changed files with 24 additions and 4 deletions
|
@ -2056,8 +2056,18 @@ void SceneViewer::zoom(const TPointD ¢er, double factor) {
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneViewer::flipX() {
|
||||
m_viewAff[0] = m_viewAff[0] * TScale(-1, 1);
|
||||
m_viewAff[1] = m_viewAff[1] * TScale(-1, 1);
|
||||
double flipAngle0 = (m_rotationAngle[0] * -1) * 2;
|
||||
double flipAngle1 = (m_rotationAngle[1] * -1) * 2;
|
||||
m_rotationAngle[0] += flipAngle0;
|
||||
m_rotationAngle[1] += flipAngle1;
|
||||
if (m_isFlippedX != m_isFlippedY) {
|
||||
flipAngle0 = -flipAngle0;
|
||||
flipAngle1 = -flipAngle1;
|
||||
}
|
||||
m_viewAff[0] = m_viewAff[0] * TRotation(flipAngle0) * TScale(-1, 1);
|
||||
m_viewAff[1] = m_viewAff[1] * TRotation(flipAngle1) * TScale(-1, 1);
|
||||
m_viewAff[0].a13 *= -1;
|
||||
m_viewAff[1].a13 *= -1;
|
||||
m_isFlippedX = !m_isFlippedX;
|
||||
invalidateAll();
|
||||
emit onZoomChanged();
|
||||
|
@ -2066,8 +2076,18 @@ void SceneViewer::flipX() {
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneViewer::flipY() {
|
||||
m_viewAff[0] = m_viewAff[0] * TScale(1, -1);
|
||||
m_viewAff[1] = m_viewAff[1] * TScale(1, -1);
|
||||
double flipAngle0 = (m_rotationAngle[0] * -1) * 2;
|
||||
double flipAngle1 = (m_rotationAngle[1] * -1) * 2;
|
||||
m_rotationAngle[0] += flipAngle0;
|
||||
m_rotationAngle[1] += flipAngle1;
|
||||
if (m_isFlippedX != m_isFlippedY) {
|
||||
flipAngle0 = -flipAngle0;
|
||||
flipAngle1 = -flipAngle1;
|
||||
}
|
||||
m_viewAff[0] = m_viewAff[0] * TRotation(flipAngle0) * TScale(1, -1);
|
||||
m_viewAff[1] = m_viewAff[1] * TRotation(flipAngle1) * TScale(1, -1);
|
||||
m_viewAff[0].a23 *= -1;
|
||||
m_viewAff[1].a23 *= -1;
|
||||
m_isFlippedY = !m_isFlippedY;
|
||||
invalidateAll();
|
||||
emit onZoomChanged();
|
||||
|
|
Loading…
Reference in a new issue