Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
842a956
refactor, use new CameraDataObject for ui
toloudis Feb 25, 2025
fb90beb
move controls into subdir
toloudis Feb 25, 2025
532c643
add properties for appearance settings
toloudis May 20, 2025
8579cb7
adding the dockwidget
toloudis Jun 1, 2025
732b3a0
update tensorstore
toloudis Jun 2, 2025
d3b611e
loading from json is broken: the ui does not update to the correct va…
toloudis Jun 12, 2025
413ad7e
still missing prtyVec3
toloudis Jun 18, 2025
06b7a56
WIP
toloudis Jun 22, 2025
203ecd0
camera and appearance compiles but completely detached from the renderer
toloudis Jun 25, 2025
a0691b2
make control creation more generic
toloudis Jun 25, 2025
cad4a2f
wip on camera creation / lifetime
toloudis Jul 3, 2025
46ab1ea
more object lifetime work with camera
toloudis Jul 4, 2025
b180b37
rename
toloudis Jul 4, 2025
362e522
hook up render settings
toloudis Jul 5, 2025
4549c2c
reinstate tensorstore version
toloudis Sep 4, 2025
006b1b5
install the scene earlier
toloudis Jun 6, 2025
0f01a84
camera and appearance compiles but completely detached from the renderer
toloudis Jun 25, 2025
ecf0ce4
move lights to the right panel
toloudis Aug 16, 2025
07e5a27
fix compile errors post-rebase
toloudis Sep 5, 2025
60d72a8
try to generate a universal build
toloudis Sep 5, 2025
ca6f1bf
ok forget it
toloudis Sep 5, 2025
3b77584
hook up uiInfo for a color plus intensity control
toloudis Sep 7, 2025
72f029f
remove duplicated controls
toloudis Nov 8, 2025
8aad0d0
add some new serialize code
toloudis Nov 27, 2025
4cdd5ae
add test file
toloudis Nov 29, 2025
be84168
implement property writing
toloudis Nov 29, 2025
8161972
fix writer for multi-prop uiinfos
toloudis Nov 29, 2025
eecb036
initial add of docReader
toloudis Dec 1, 2025
c517037
wip
toloudis Dec 2, 2025
2fe73ec
fix cmakelists
toloudis Dec 6, 2025
e48a21b
fix uiinfo
toloudis Dec 7, 2025
c930d96
fix uiinfo part 2
toloudis Dec 7, 2025
2b9fadd
fix typo
toloudis Dec 7, 2025
2c69506
fix viewerwindow
toloudis Dec 7, 2025
3e9d951
fix appearanceobject.cpp
toloudis Dec 7, 2025
5700931
fix AppearanceObject.hpp
toloudis Dec 7, 2025
0741ffe
wip fixups, after terrible rebase catastrophe. more coming
toloudis Dec 7, 2025
2b6f25b
fixup remaining compile errors
toloudis Dec 7, 2025
9e0cf72
fix link errors
toloudis Dec 7, 2025
da5db4d
fix light init
toloudis Dec 7, 2025
a219edf
working on docWriter
toloudis Dec 9, 2025
ab891b9
update writing code to use a polymorphic docWriter
toloudis Dec 9, 2025
c32e314
refactoring reader and writer; getting ready to test camera object
toloudis Dec 11, 2025
585a060
implement prty reading; there is still a problem with some prtys not …
toloudis Dec 11, 2025
bcd0af0
wip toward writing out document
toloudis Dec 11, 2025
ab4261a
Merge branch 'feature/serialize-prtyobjects' of https://github.com/al…
toloudis Dec 11, 2025
e5890d6
wip toward reading and writing
toloudis Dec 13, 2025
95c3a05
fix tests
toloudis Dec 13, 2025
585e592
fromDocument does not call beginObject/endObject but toDocument does
toloudis Dec 14, 2025
4295375
fix compile error
toloudis Dec 14, 2025
498ae2e
add light tests, one bug still
toloudis Dec 14, 2025
48c7585
fix arealight default phi
toloudis Dec 15, 2025
06fbb88
serialize appearanceObject and remove the methods to serialize prtyOb…
toloudis Dec 15, 2025
49020e8
cleanup
toloudis Dec 15, 2025
b3655ae
fix enum values
toloudis Dec 16, 2025
285ce42
add clip plane as property object
toloudis Jan 1, 2026
6a130ca
wip, broken, start to move channel settings into prty's
toloudis Jan 2, 2026
31ef688
templatize the int prty types
toloudis Jan 2, 2026
ccb9e1f
DRY refactor
toloudis Jan 2, 2026
26e381a
cleanup
toloudis Jan 2, 2026
333d9d4
add prty for vector of LutControlPoint
toloudis Jan 3, 2026
cc1a7f8
wip on colormap prty
toloudis Jan 4, 2026
4b14cee
fix compile error
toloudis Jan 4, 2026
679e120
cleanup
toloudis Jan 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agave_app/AppearanceDockWidget2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ QAppearanceDockWidget2::QAppearanceDockWidget2(QWidget* pParent,
ViewerWindow* vw,
AppearanceObject* ado)
: QDockWidget(pParent)
, m_AppearanceWidget(nullptr, rs, ado)
, m_AppearanceWidget(nullptr, rs, vw, ado)
{
setWindowTitle("Appearance");

Expand Down
52 changes: 26 additions & 26 deletions agave_app/AppearanceWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,33 +32,33 @@ QAppearanceWidget2::QAppearanceWidget2(QWidget* pParent, RenderSettings* rs, Vie
// }
// }

QComboBox* rendererType = addRow(*m_appearanceDataObject->getRendererTypeUiInfo());
m_MainLayout.addRow("Renderer", rendererType);
QComboBox* shadingType = addRow(*m_appearanceDataObject->getShadingTypeUiInfo());
m_MainLayout.addRow("Shading Type", shadingType);
QNumericSlider* densityScale = addRow(*m_appearanceDataObject->getDensityScaleUiInfo());
m_MainLayout.addRow("Scattering Density", densityScale);
QNumericSlider* gradientFactor = addRow(*m_appearanceDataObject->getGradientFactorUiInfo());
m_MainLayout.addRow("Shading Type Mixture", gradientFactor);
QNumericSlider* stepSizePrimaryRay = addRow(*m_appearanceDataObject->getStepSizePrimaryRayUiInfo());
m_MainLayout.addRow("Step Size Primary Ray", stepSizePrimaryRay);
QNumericSlider* stepSizeSecondaryRay = addRow(*m_appearanceDataObject->getStepSizeSecondaryRayUiInfo());
m_MainLayout.addRow("Step Size Secondary Ray", stepSizeSecondaryRay);
QCheckBox* interpolateCheckBox = addRow(*m_appearanceDataObject->getInterpolateUiInfo());
m_MainLayout.addRow("Interpolate", interpolateCheckBox);
QColorPushButton* backgroundColorButton = addRow(*m_appearanceDataObject->getBackgroundColorUiInfo());
m_MainLayout.addRow("Background Color", backgroundColorButton);
QCheckBox* showBoundingBoxCheckBox = addRow(*m_appearanceDataObject->getShowBoundingBoxUiInfo());
m_MainLayout.addRow("Show Bounding Box", showBoundingBoxCheckBox);
QColorPushButton* boundingBoxColorButton = addRow(*m_appearanceDataObject->getBoundingBoxColorUiInfo());
m_MainLayout.addRow("Bounding Box Color", boundingBoxColorButton);
QCheckBox* showScaleBarCheckBox = addRow(*m_appearanceDataObject->getShowScaleBarUiInfo());
m_MainLayout.addRow("Show Scale Bar", showScaleBarCheckBox);
// QComboBox* rendererType = addRow(*m_appearanceDataObject->getRendererTypeUiInfo());
// m_MainLayout.addRow("Renderer", rendererType);
// QComboBox* shadingType = addRow(*m_appearanceDataObject->getShadingTypeUiInfo());
// m_MainLayout.addRow("Shading Type", shadingType);
// QNumericSlider* densityScale = addRow(*m_appearanceDataObject->getDensityScaleUiInfo());
// m_MainLayout.addRow("Scattering Density", densityScale);
// QNumericSlider* gradientFactor = addRow(*m_appearanceDataObject->getGradientFactorUiInfo());
// m_MainLayout.addRow("Shading Type Mixture", gradientFactor);
// QNumericSlider* stepSizePrimaryRay = addRow(*m_appearanceDataObject->getStepSizePrimaryRayUiInfo());
// m_MainLayout.addRow("Step Size Primary Ray", stepSizePrimaryRay);
// QNumericSlider* stepSizeSecondaryRay = addRow(*m_appearanceDataObject->getStepSizeSecondaryRayUiInfo());
// m_MainLayout.addRow("Step Size Secondary Ray", stepSizeSecondaryRay);
// QCheckBox* interpolateCheckBox = addRow(*m_appearanceDataObject->getInterpolateUiInfo());
// m_MainLayout.addRow("Interpolate", interpolateCheckBox);
// QColorPushButton* backgroundColorButton = addRow(*m_appearanceDataObject->getBackgroundColorUiInfo());
// m_MainLayout.addRow("Background Color", backgroundColorButton);
// QCheckBox* showBoundingBoxCheckBox = addRow(*m_appearanceDataObject->getShowBoundingBoxUiInfo());
// m_MainLayout.addRow("Show Bounding Box", showBoundingBoxCheckBox);
// QColorPushButton* boundingBoxColorButton = addRow(*m_appearanceDataObject->getBoundingBoxColorUiInfo());
// m_MainLayout.addRow("Bounding Box Color", boundingBoxColorButton);
// QCheckBox* showScaleBarCheckBox = addRow(*m_appearanceDataObject->getShowScaleBarUiInfo());
// m_MainLayout.addRow("Show Scale Bar", showScaleBarCheckBox);

QObject::connect(rendererType, &QComboBox::currentIndexChanged, [this, vw](int index) { vw->setRenderer(index); });
QObject::connect(shadingType, &QComboBox::currentIndexChanged, [this, gradientFactor](int index) {
gradientFactor->setEnabled(index == 2);
});
// QObject::connect(rendererType, &QComboBox::currentIndexChanged, [this, vw](int index) { vw->setRenderer(index); });
// QObject::connect(shadingType, &QComboBox::currentIndexChanged, [this, gradientFactor](int index) {
// gradientFactor->setEnabled(index == 2);
// });
}

QSize
Expand Down
2 changes: 1 addition & 1 deletion agave_app/AppearanceWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ class QAppearanceWidget2 : public QWidget
RenderSettings* m_renderSettings;

private:
AppearanceObject* m_appearanceDataObject;
AppearanceObject* m_appearanceObject;
};
4 changes: 0 additions & 4 deletions agave_app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ target_sources(agaveapp PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/cgiparser.h"
"${CMAKE_CURRENT_SOURCE_DIR}/commandBuffer.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/commandBuffer.h"
"${CMAKE_CURRENT_SOURCE_DIR}/Film.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Film.h"
"${CMAKE_CURRENT_SOURCE_DIR}/Focus.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/Focus.h"
"${CMAKE_CURRENT_SOURCE_DIR}/GLView3D.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/GLView3D.h"
"${CMAKE_CURRENT_SOURCE_DIR}/loadDialog.cpp"
Expand Down
2 changes: 1 addition & 1 deletion agave_app/CameraDockWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

QCameraDockWidget::QCameraDockWidget(QWidget* pParent, RenderSettings* rs, CameraObject* cdo)
: QDockWidget(pParent)
, m_CameraWidget(nullptr, cam, rs, cdo)
, m_CameraWidget(nullptr, rs, cdo)
{
setWindowTitle("Camera");

Expand Down
1 change: 0 additions & 1 deletion agave_app/CameraWidget.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#pragma once

#include "Camera.h"
#include "qtControls/Controls.h"

// #include "renderlib/core/prty/prtyProperty.h"
Expand Down
2 changes: 0 additions & 2 deletions agave_app/GLView3D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@ GLView3D::onNewImage(Scene* scene)

GLView3D::~GLView3D()
{
delete m_appearanceDataObject;

makeCurrent();
check_gl("view dtor makecurrent");
// doneCurrent();
Expand Down
5 changes: 2 additions & 3 deletions agave_app/GLView3D.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#include <QOpenGLWidget>
#include <QTimer>

class AppearanceDataObject;
class CameraDataObject;
class AppearanceObject;
class CameraObject;
class CStatus;
class ImageXYZC;
class IRenderWindow;
Expand Down Expand Up @@ -70,7 +70,6 @@ class GLView3D : public QOpenGLWidget
// tied to the above camera. CCamera must outlive this:
// CameraObject* getCameraDataObject() { return m_cameraObject; }
void setCameraObject(CameraObject* cameraObject);
AppearanceObject* getAppearanceDataObject() { return m_appearanceDataObject; }

void fromViewerState(const Serialize::ViewerState& s);

Expand Down
Loading