All: Reformat according to new standard

This commit is contained in:
pre-commit-ci[bot]
2025-11-11 13:49:01 +01:00
committed by Kacper Donat
parent ef997f2259
commit 9fe130cd73
2390 changed files with 154630 additions and 115818 deletions

View File

@@ -22,9 +22,8 @@
***************************************************************************/
# include <Inventor/nodes/SoCamera.h>
# include <QApplication>
#include <Inventor/nodes/SoCamera.h>
#include <QApplication>
#include "Inventor/SoMouseWheelEvent.h"
@@ -47,16 +46,16 @@ InventorNavigationStyle::~InventorNavigationStyle() = default;
const char* InventorNavigationStyle::mouseButtons(ViewerMode mode)
{
switch (mode) {
case NavigationStyle::SELECTION:
return QT_TR_NOOP("Press Ctrl and left mouse button");
case NavigationStyle::PANNING:
return QT_TR_NOOP("Press middle mouse button");
case NavigationStyle::DRAGGING:
return QT_TR_NOOP("Press left mouse button");
case NavigationStyle::ZOOMING:
return QT_TR_NOOP("Scroll mouse wheel");
default:
return "No description";
case NavigationStyle::SELECTION:
return QT_TR_NOOP("Press Ctrl and left mouse button");
case NavigationStyle::PANNING:
return QT_TR_NOOP("Press middle mouse button");
case NavigationStyle::DRAGGING:
return QT_TR_NOOP("Press left mouse button");
case NavigationStyle::ZOOMING:
return QT_TR_NOOP("Scroll mouse wheel");
default:
return "No description";
}
}
@@ -66,7 +65,7 @@ std::string InventorNavigationStyle::userFriendlyName() const
return "OpenInventor";
}
SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev)
SbBool InventorNavigationStyle::processSoEvent(const SoEvent* const ev)
{
// Events when in "ready-to-seek" mode are ignored, except those
// which influence the seek mode itself -- these are handled further
@@ -75,12 +74,13 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev)
return inherited::processSoEvent(ev);
}
// Switch off viewing mode (Bug #0000911)
if (!this->isSeekMode()&& !this->isAnimating() && this->isViewing() )
this->setViewing(false); // by default disable viewing mode to render the scene
if (!this->isSeekMode() && !this->isAnimating() && this->isViewing()) {
this->setViewing(false); // by default disable viewing mode to render the scene
}
const SoType type(ev->getTypeId());
const SbViewportRegion & vp = viewer->getSoRenderManager()->getViewportRegion();
const SbViewportRegion& vp = viewer->getSoRenderManager()->getViewportRegion();
const SbVec2s pos(ev->getPosition());
const SbVec2f posn = normalizePixelPos(pos);
@@ -103,119 +103,125 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev)
// give the nodes in the foreground root the chance to handle events (e.g color bar)
if (!viewer->isEditing()) {
processed = handleEventInForeground(ev);
if (processed)
if (processed) {
return true;
}
}
// Keyboard handling
if (type.isDerivedFrom(SoKeyboardEvent::getClassTypeId())) {
auto event = static_cast<const SoKeyboardEvent *>(ev);
auto event = static_cast<const SoKeyboardEvent*>(ev);
processed = processKeyboardEvent(event);
}
// Mouse Button / Spaceball Button handling
if (type.isDerivedFrom(SoMouseButtonEvent::getClassTypeId())) {
const auto event = (const SoMouseButtonEvent *) ev;
const auto event = (const SoMouseButtonEvent*)ev;
const int button = event->getButton();
const SbBool press = event->getState() == SoButtonEvent::DOWN ? true : false;
// SoDebugError::postInfo("processSoEvent", "button = %d", button);
switch (button) {
case SoMouseButtonEvent::BUTTON1:
this->button1down = press;
if (press && ev->wasShiftDown() &&
(this->currentmode != NavigationStyle::SELECTION)) {
this->centerTime = ev->getTime();
setupPanningPlane(getCamera());
this->lockrecenter = false;
}
else if (!press && ev->wasShiftDown() &&
(this->currentmode != NavigationStyle::SELECTION)) {
SbTime tmp = (ev->getTime() - this->centerTime);
float dci = (float)QApplication::doubleClickInterval()/1000.0f;
// is it just a left click?
if (tmp.getValue() < dci && !this->lockrecenter) {
lookAtPoint(pos);
processed = true;
case SoMouseButtonEvent::BUTTON1:
this->button1down = press;
if (press && ev->wasShiftDown() && (this->currentmode != NavigationStyle::SELECTION)) {
this->centerTime = ev->getTime();
setupPanningPlane(getCamera());
this->lockrecenter = false;
}
}
else if (press && (this->currentmode == NavigationStyle::SEEK_WAIT_MODE)) {
newmode = NavigationStyle::SEEK_MODE;
this->seekToPoint(pos); // implicitly calls interactiveCountInc()
processed = true;
this->lockrecenter = true;
}
else if (press && (this->currentmode == NavigationStyle::IDLE)) {
this->setViewing(true);
processed = true;
this->lockrecenter = true;
}
else if (!press && (this->currentmode == NavigationStyle::DRAGGING)) {
this->setViewing(false);
processed = true;
this->lockrecenter = true;
}
else if (viewer->isEditing() && (this->currentmode == NavigationStyle::SPINNING)) {
processed = true;
this->lockrecenter = true;
}
else {
processed = processClickEvent(event);
}
break;
case SoMouseButtonEvent::BUTTON2:
// If we are in edit mode then simply ignore the RMB events
// to pass the event to the base class.
this->lockrecenter = true;
// Don't show the context menu after dragging, panning or zooming
if (!press && (hasDragged || hasPanned || hasZoomed)) {
processed = true;
}
else if (!press && !viewer->isEditing()) {
if (this->currentmode != NavigationStyle::ZOOMING &&
this->currentmode != NavigationStyle::PANNING &&
this->currentmode != NavigationStyle::DRAGGING) {
if (this->isPopupMenuEnabled()) {
this->openPopupMenu(event->getPosition());
else if (!press && ev->wasShiftDown()
&& (this->currentmode != NavigationStyle::SELECTION)) {
SbTime tmp = (ev->getTime() - this->centerTime);
float dci = (float)QApplication::doubleClickInterval() / 1000.0f;
// is it just a left click?
if (tmp.getValue() < dci && !this->lockrecenter) {
lookAtPoint(pos);
processed = true;
}
}
}
this->button2down = press;
break;
case SoMouseButtonEvent::BUTTON3:
if (press) {
this->centerTime = ev->getTime();
setupPanningPlane(getCamera());
this->lockrecenter = false;
}
else {
SbTime tmp = (ev->getTime() - this->centerTime);
float dci = (float)QApplication::doubleClickInterval()/1000.0f;
// is it just a middle click?
if (tmp.getValue() < dci && !this->lockrecenter) {
lookAtPoint(pos);
else if (press && (this->currentmode == NavigationStyle::SEEK_WAIT_MODE)) {
newmode = NavigationStyle::SEEK_MODE;
this->seekToPoint(pos); // implicitly calls interactiveCountInc()
processed = true;
this->lockrecenter = true;
}
else if (press && (this->currentmode == NavigationStyle::IDLE)) {
this->setViewing(true);
processed = true;
this->lockrecenter = true;
}
else if (!press && (this->currentmode == NavigationStyle::DRAGGING)) {
this->setViewing(false);
processed = true;
this->lockrecenter = true;
}
else if (viewer->isEditing() && (this->currentmode == NavigationStyle::SPINNING)) {
processed = true;
this->lockrecenter = true;
}
else {
processed = processClickEvent(event);
}
break;
case SoMouseButtonEvent::BUTTON2:
// If we are in edit mode then simply ignore the RMB events
// to pass the event to the base class.
this->lockrecenter = true;
// Don't show the context menu after dragging, panning or zooming
if (!press && (hasDragged || hasPanned || hasZoomed)) {
processed = true;
}
}
this->button3down = press;
break;
default:
break;
else if (!press && !viewer->isEditing()) {
if (this->currentmode != NavigationStyle::ZOOMING
&& this->currentmode != NavigationStyle::PANNING
&& this->currentmode != NavigationStyle::DRAGGING) {
if (this->isPopupMenuEnabled()) {
this->openPopupMenu(event->getPosition());
}
}
}
this->button2down = press;
break;
case SoMouseButtonEvent::BUTTON3:
if (press) {
this->centerTime = ev->getTime();
setupPanningPlane(getCamera());
this->lockrecenter = false;
}
else {
SbTime tmp = (ev->getTime() - this->centerTime);
float dci = (float)QApplication::doubleClickInterval() / 1000.0f;
// is it just a middle click?
if (tmp.getValue() < dci && !this->lockrecenter) {
lookAtPoint(pos);
processed = true;
}
}
this->button3down = press;
break;
default:
break;
}
}
// Mouse Movement handling
if (type.isDerivedFrom(SoLocation2Event::getClassTypeId())) {
this->lockrecenter = true;
const auto event = (const SoLocation2Event *) ev;
const auto event = (const SoLocation2Event*)ev;
if (this->currentmode == NavigationStyle::ZOOMING) {
this->zoomByCursor(posn, prevnormalized);
processed = true;
}
else if (this->currentmode == NavigationStyle::PANNING) {
float ratio = vp.getViewportAspectRatio();
panCamera(viewer->getSoRenderManager()->getCamera(), ratio, this->panningplane, posn, prevnormalized);
panCamera(
viewer->getSoRenderManager()->getCamera(),
ratio,
this->panningplane,
posn,
prevnormalized
);
processed = true;
}
else if (this->currentmode == NavigationStyle::DRAGGING) {
@@ -228,71 +234,77 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev)
// Spaceball & Joystick handling
if (type.isDerivedFrom(SoMotion3Event::getClassTypeId())) {
const auto event = static_cast<const SoMotion3Event *>(ev);
if (event)
const auto event = static_cast<const SoMotion3Event*>(ev);
if (event) {
this->processMotionEvent(event);
}
processed = true;
}
enum {
enum
{
BUTTON1DOWN = 1 << 0,
BUTTON3DOWN = 1 << 1,
CTRLDOWN = 1 << 2,
SHIFTDOWN = 1 << 3,
CTRLDOWN = 1 << 2,
SHIFTDOWN = 1 << 3,
BUTTON2DOWN = 1 << 4
};
unsigned int combo =
(this->button1down ? BUTTON1DOWN : 0) |
(this->button2down ? BUTTON2DOWN : 0) |
(this->button3down ? BUTTON3DOWN : 0) |
(this->ctrldown ? CTRLDOWN : 0) |
(this->shiftdown ? SHIFTDOWN : 0);
unsigned int combo = (this->button1down ? BUTTON1DOWN : 0)
| (this->button2down ? BUTTON2DOWN : 0) | (this->button3down ? BUTTON3DOWN : 0)
| (this->ctrldown ? CTRLDOWN : 0) | (this->shiftdown ? SHIFTDOWN : 0);
switch (combo) {
case 0:
if (curmode == NavigationStyle::SPINNING) { break; }
newmode = NavigationStyle::IDLE;
case 0:
if (curmode == NavigationStyle::SPINNING) {
break;
}
newmode = NavigationStyle::IDLE;
if (curmode == NavigationStyle::DRAGGING) {
if (doSpin())
newmode = NavigationStyle::SPINNING;
}
break;
case BUTTON1DOWN:
if (curmode == NavigationStyle::SELECTION) { break; }
if (newmode != NavigationStyle::DRAGGING) {
saveCursorPosition(ev);
}
newmode = NavigationStyle::DRAGGING;
break;
case BUTTON3DOWN:
case CTRLDOWN|SHIFTDOWN:
case CTRLDOWN|SHIFTDOWN|BUTTON1DOWN:
newmode = NavigationStyle::PANNING;
break;
case CTRLDOWN:
case CTRLDOWN|BUTTON1DOWN:
case SHIFTDOWN:
case SHIFTDOWN|BUTTON1DOWN:
newmode = NavigationStyle::SELECTION;
break;
case BUTTON1DOWN|BUTTON3DOWN:
case CTRLDOWN|BUTTON3DOWN:
case CTRLDOWN|SHIFTDOWN|BUTTON2DOWN:
newmode = NavigationStyle::ZOOMING;
break;
if (curmode == NavigationStyle::DRAGGING) {
if (doSpin()) {
newmode = NavigationStyle::SPINNING;
}
}
break;
case BUTTON1DOWN:
if (curmode == NavigationStyle::SELECTION) {
break;
}
if (newmode != NavigationStyle::DRAGGING) {
saveCursorPosition(ev);
}
newmode = NavigationStyle::DRAGGING;
break;
case BUTTON3DOWN:
case CTRLDOWN | SHIFTDOWN:
case CTRLDOWN | SHIFTDOWN | BUTTON1DOWN:
newmode = NavigationStyle::PANNING;
break;
case CTRLDOWN:
case CTRLDOWN | BUTTON1DOWN:
case SHIFTDOWN:
case SHIFTDOWN | BUTTON1DOWN:
newmode = NavigationStyle::SELECTION;
break;
case BUTTON1DOWN | BUTTON3DOWN:
case CTRLDOWN | BUTTON3DOWN:
case CTRLDOWN | SHIFTDOWN | BUTTON2DOWN:
newmode = NavigationStyle::ZOOMING;
break;
default:
break;
default:
break;
}
// Process when selection button is pressed together with other buttons that could trigger different actions.
// Process when selection button is pressed together with other buttons that could trigger
// different actions.
if (this->button1down && (this->button2down || this->button3down)) {
processed = true;
}
// Prevent interrupting rubber-band selection in sketcher
if (viewer->isEditing() && curmode == NavigationStyle::SELECTION && newmode != NavigationStyle::IDLE) {
if (viewer->isEditing() && curmode == NavigationStyle::SELECTION
&& newmode != NavigationStyle::IDLE) {
newmode = NavigationStyle::SELECTION;
processed = false;
}
@@ -303,21 +315,24 @@ SbBool InventorNavigationStyle::processSoEvent(const SoEvent * const ev)
hasDragged = false;
hasZoomed = false;
}
if (newmode != curmode) {
this->setViewingMode(newmode);
}
// If not handled in this class, pass on upwards in the inheritance
// hierarchy.
if (ev->isOfType(SoMouseWheelEvent::getClassTypeId()))
if (ev->isOfType(SoMouseWheelEvent::getClassTypeId())) {
processed = inherited::processSoEvent(ev);
else if ((curmode == NavigationStyle::SELECTION ||
newmode == NavigationStyle::SELECTION ||
viewer->isEditing()) && !processed)
}
else if ((curmode == NavigationStyle::SELECTION || newmode == NavigationStyle::SELECTION
|| viewer->isEditing())
&& !processed) {
processed = inherited::processSoEvent(ev);
else
}
else {
return true;
}
return processed;
}