make retrieving view direction numerically more stable, change orientation of bottom view

This commit is contained in:
wmayer
2017-11-13 21:53:10 +01:00
parent e4d1d305ea
commit ed817b0e05
3 changed files with 4 additions and 6 deletions

View File

@@ -664,7 +664,7 @@ bool View3DInventor::onMsg(const char* pMsg, const char** ppReturn)
return true;
}
else if(strcmp("ViewBottom",pMsg) == 0 ) {
_viewer->setCameraOrientation(SbRotation(-1, 0, 0, 0));
_viewer->setCameraOrientation(SbRotation(0, -1, 0, 0));
_viewer->viewAll();
return true;
}

View File

@@ -1766,10 +1766,8 @@ SbVec3f View3DInventorViewer::getViewDirection() const
if (!cam) return SbVec3f(0,0,-1); // this is the default
SbRotation camrot = cam->orientation.getValue();
SbVec3f lookat(0, 0, -1); // init to default view direction vector
camrot.multVec(lookat, lookat);
return lookat;
SbVec3f projDir = cam->getViewVolume().getProjectionDirection();
return projDir;
}
void View3DInventorViewer::setViewDirection(SbVec3f dir)

View File

@@ -325,7 +325,7 @@ Py::Object View3DInventorPy::viewBottom(const Py::Tuple& args)
throw Py::Exception();
try {
_view->getViewer()->setCameraOrientation(SbRotation(-1, 0, 0, 0));
_view->getViewer()->setCameraOrientation(SbRotation(0, -1, 0, 0));
}
catch (const Base::Exception& e) {
throw Py::Exception(e.what());