(#168) Wip: Parallel projection. Basics in place

This commit is contained in:
Jacob Støren
2015-12-05 00:56:14 +01:00
parent 64b3281382
commit bbb0a5e993
10 changed files with 132 additions and 48 deletions

View File

@@ -77,6 +77,8 @@ RimView::RimView(void)
showWindow.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&cameraPosition, "CameraPosition", cvf::Mat4d::IDENTITY, "", "", "", "");
cameraPosition.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&isPerspectiveView, "PerspectiveProjection", true, "Perspective Projection", "", "", "");
double defaultScaleFactor = preferences->defaultScaleFactorZ;
CAF_PDM_InitField(&scaleZ, "GridZScale", defaultScaleFactor, "Z Scale", "", "Scales the scene in the Z direction", "");
@@ -491,6 +493,10 @@ void RimView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QV
RiuMainWindow::instance()->refreshDrawStyleActions();
RiuMainWindow::instance()->refreshAnimationActions();
}
else if (changedField == &isPerspectiveView)
{
if (m_viewer) m_viewer->enableParallelProjection(!isPerspectiveView());
}
else if (changedField == &scaleZ)
{
if (scaleZ < 1) scaleZ = 1;

View File

@@ -76,6 +76,7 @@ public:
caf::PdmField<bool> showWindow;
caf::PdmField<cvf::Mat4d> cameraPosition;
caf::PdmField<bool> isPerspectiveView;
caf::PdmField< cvf::Color3f > backgroundColor;
caf::PdmField<int> maximumFrameRate;