Commit 293d43dd authored by Christian Schulte zu Berge's avatar Christian Schulte zu Berge
Browse files

Moved invalidation level from AbstractProperty to AbstractProcessor:

To now, each property hat an _invalidationLevel field that was evaluated by processors when the property had changed in order to determine what has to be done. However, since properties could also be owned by other classes, this design was semantically misleading.
Therefore, it was removed with this commit and replaced by the invalidation map of each processor. Now, this per-processor mapping of property -> invalidation level is managed by the processor itself. Furthermore, the invalidation level is no longer setup during property creation but during AbstractProcessor::addProperty(), which also makes much more sense.

ATTENTION: Due to these intrusive API changes, the code of all processors and other classes handling properties needs to be changed. As a reminder, the implementation of addProperty() also now takes a reference instead of a pointer, so that old code does no longer compile.

refs #542
parent 94a730da
......@@ -49,11 +49,11 @@ namespace campvis {
, p_kernelSize("KernelSize", "Kernel Size", 3, 3, 15)
, p_sigma("Sigma", "Sigma", 1.f, .1f, 10.f, 0.1f)
{
addProperty(&p_sourceImageID);
addProperty(&p_targetImageID);
addProperty(&p_filterMode);
addProperty(&p_kernelSize);
addProperty(&p_sigma);
addProperty(p_sourceImageID);
addProperty(p_targetImageID);
addProperty(p_filterMode);
addProperty(p_kernelSize);
addProperty(p_sigma);
}
ImageFilter::~ImageFilter() {
......
......@@ -144,10 +144,10 @@ namespace campvis {
, p_outputFL("OutputFL", "FL Output Volume", "fl", DataNameProperty::WRITE)
, p_outputFH("OutputFH", "FH Output Volume", "fh", DataNameProperty::WRITE)
{
addProperty(&p_intensitiesId);
addProperty(&p_gradientsId);
addProperty(&p_outputFL);
addProperty(&p_outputFH);
addProperty(p_intensitiesId);
addProperty(p_gradientsId);
addProperty(p_outputFL);
addProperty(p_outputFH);
}
LHHistogram::~LHHistogram() {
......
......@@ -173,18 +173,18 @@ namespace campvis {
, p_lengths("PolarLengths", "Polar Lengths", tgt::vec2(0.f, 100.f), tgt::vec2(0.f), tgt::vec2(1000.f), tgt::vec2(0.1f))
{
addProperty(&p_sourceImageID);
addProperty(&p_targetImageID);
addProperty(&p_alpha);
addProperty(&p_beta);
addProperty(&p_gamma);
addProperty(&p_normalizeValues);
addProperty(&p_solver);
addProperty(&p_numSteps);
addProperty(&p_curvilinear);
addProperty(&p_origin);
addProperty(&p_angles);
addProperty(&p_lengths);
addProperty(p_sourceImageID);
addProperty(p_targetImageID);
addProperty(p_alpha);
addProperty(p_beta);
addProperty(p_gamma);
addProperty(p_normalizeValues);
addProperty(p_solver);
addProperty(p_numSteps);
addProperty(p_curvilinear);
addProperty(p_origin);
addProperty(p_angles);
addProperty(p_lengths);
}
ConfidenceMapGenerator::~ConfidenceMapGenerator() {
......
......@@ -46,8 +46,8 @@ namespace campvis {
: AutoEvaluationPipeline(dc)
, p_optimizer("Optimizer", "Optimizer", optimizers, 3)
, p_liveUpdate("LiveUpdate", "Live Update of Difference Image", false)
, p_performOptimization("PerformOptimization", "Perform Optimization", AbstractProcessor::INVALID_RESULT)
, p_forceStop("Force Stop", "Force Stop", AbstractProcessor::VALID)
, p_performOptimization("PerformOptimization", "Perform Optimization")
, p_forceStop("Force Stop", "Force Stop")
, p_translationStepSize("TranslationStepSize", "Initial Step Size Translation", 8.f, .1f, 100.f)
, p_rotationStepSize("RotationStepSize", "Initial Step Size Rotation", .5f, .01f, tgt::PIf)
, _referenceReader()
......@@ -61,12 +61,12 @@ namespace campvis {
addProcessor(&_sm);
addProcessor(&_ve);
addProperty(&p_optimizer);
addProperty(&p_liveUpdate);
addProperty(&p_performOptimization);
addProperty(&p_forceStop);
addProperty(&p_translationStepSize);
addProperty(&p_rotationStepSize);
addProperty(p_optimizer);
addProperty(p_liveUpdate);
addProperty(p_performOptimization);
addProperty(p_forceStop);
addProperty(p_translationStepSize);
addProperty(p_rotationStepSize);
p_performOptimization.s_clicked.connect(this, &NloptRegistration::onPerformOptimizationClicked);
p_forceStop.s_clicked.connect(this, &NloptRegistration::forceStop);
......
......@@ -52,8 +52,8 @@ namespace campvis {
SimilarityMeasure::SimilarityMeasure()
: VisualizationProcessor(0)
, p_referenceId("ReferenceId", "Reference Image", "", DataNameProperty::READ, AbstractProcessor::INVALID_PROPERTIES)
, p_movingId("MovingId", "Moving Image", "", DataNameProperty::READ, AbstractProcessor::VALID)
, p_referenceId("ReferenceId", "Reference Image", "", DataNameProperty::READ)
, p_movingId("MovingId", "Moving Image", "", DataNameProperty::READ)
, p_clipX("clipX", "X Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
, p_clipY("clipY", "Y Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
, p_clipZ("clipZ", "Z Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
......@@ -62,29 +62,29 @@ namespace campvis {
, p_rotation("Rotation", "Moving Image Rotation", tgt::vec3(0.f), tgt::vec3(-tgt::PIf), tgt::vec3(tgt::PIf), tgt::vec3(.01f), tgt::vec3(7.f))
, p_metric("Metric", "Similarity Metric", metrics, 5)
, p_computeSimilarity("ComputeSimilarity", "Compute Similarity")
, p_differenceImageId("DifferenceImageId", "Difference Image", "difference", DataNameProperty::WRITE, AbstractProcessor::VALID)
, p_computeDifferenceImage("ComputeDifferenceImage", "Compute Difference Image", AbstractProcessor::INVALID_RESULT | COMPUTE_DIFFERENCE_IMAGE)
, p_viewportSize("ViewportSize", "Viewport Size", tgt::ivec2(1), tgt::ivec2(1), tgt::ivec2(1000), tgt::ivec2(1), AbstractProcessor::VALID)
, p_differenceImageId("DifferenceImageId", "Difference Image", "difference", DataNameProperty::WRITE)
, p_computeDifferenceImage("ComputeDifferenceImage", "Compute Difference Image")
, p_viewportSize("ViewportSize", "Viewport Size", tgt::ivec2(1), tgt::ivec2(1), tgt::ivec2(1000), tgt::ivec2(1))
, _sadssdCostFunctionShader(0)
, _nccsnrCostFunctionShader(0)
, _differenceShader(0)
, _glr(0)
{
addProperty(&p_referenceId);
addProperty(&p_movingId);
addProperty(p_referenceId, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_movingId, VALID);
addProperty(&p_clipX);
addProperty(&p_clipY);
addProperty(&p_clipZ);
addProperty(&p_applyMask);
addProperty(p_clipX);
addProperty(p_clipY);
addProperty(p_clipZ);
addProperty(p_applyMask);
addProperty(&p_translation);
addProperty(&p_rotation);
addProperty(&p_metric);
addProperty(&p_computeSimilarity);
addProperty(p_translation);
addProperty(p_rotation);
addProperty(p_metric);
addProperty(p_computeSimilarity);
addProperty(&p_differenceImageId);
addProperty(&p_computeDifferenceImage);
addProperty(p_differenceImageId, VALID);
addProperty(p_computeDifferenceImage, INVALID_RESULT | COMPUTE_DIFFERENCE_IMAGE);
_viewportSizeProperty = &p_viewportSize;
......@@ -316,7 +316,7 @@ namespace campvis {
glViewport(0, 0, static_cast<GLsizei>(viewportSize.x), static_cast<GLsizei>(viewportSize.y));
// render quad to compute difference measure by shader
for (tgt::svec3::ElemType z = 0; z < size.z; ++z) {
for (int z = 0; z < static_cast<int>(size.z); ++z) {
float texZ = static_cast<float>(z)/static_cast<float>(size.z) + .5f/static_cast<float>(size.z);
_differenceShader->setUniform("_zTex", texZ);
_fbo->attachTexture(differenceImage, GL_COLOR_ATTACHMENT0, 0, z);
......
......@@ -43,8 +43,8 @@ namespace campvis {
, _trackballEH(0)
{
addProperty(&p_camera);
addProperty(&p_sliceNumber);
addProperty(p_camera);
addProperty(p_sliceNumber);
_trackballEH = new TrackballNavigationEventListener(&p_camera, &_canvasSize);
addEventListenerToBack(_trackballEH);
......@@ -82,7 +82,7 @@ namespace campvis {
_glyphRenderer.p_renderOutput.addSharedProperty(&_rtc.p_firstImageId);
Geometry1DTransferFunction* tf = new Geometry1DTransferFunction(128, tgt::vec2(0.f, 1.f));
tf->addGeometry(TFGeometry1D::createQuad(tgt::vec2(0.f, 1.f), tgt::col4(0, 0, 0, 0), tgt::col4(255, 255, 255, 255)));
tf->addGeometry(TFGeometry1D::createQuad(tgt::vec2(0.f, 1.f), tgt::col4(0, 0, 0, 255), tgt::col4(255, 255, 255, 255)));
_sliceRenderer.p_transferFunction.replaceTF(tf);
_sliceRenderer.p_targetImageID.setValue("slice");
_sliceRenderer.p_targetImageID.addSharedProperty(&_rtc.p_secondImageId);
......
......@@ -71,21 +71,21 @@ namespace campvis {
TensorAnalyzer::TensorAnalyzer()
: AbstractProcessor()
, p_inputImage("InputImage", "Input Tensor Image", "tensors", DataNameProperty::READ, AbstractProcessor::INVALID_RESULT | EIGENSYSTEM_INVALID)
, p_inputImage("InputImage", "Input Tensor Image", "tensors", DataNameProperty::READ)
, p_evalsImage("EvalsImage", "Output Eigenvalues Image", "TensorAnalyzer.eigenvalues", DataNameProperty::WRITE)
, p_evecsImage("EvecsImage", "Output Eigenvectors Image", "TensorAnalyzer.eigenvectors", DataNameProperty::WRITE)
, p_degeneratedHandling("DegeneratedHandling", "Handling of Degenerated Tensors", handlingModes, 4)
, p_maskMixedTensors("MaskMixedTensors", "Mask Mixed Tensors", true)
, p_addOutputButton("AddOutputButton", "Add Output", AbstractProcessor::VALID)
, p_addOutputButton("AddOutputButton", "Add Output")
, _eigenvalues(0)
, _eigenvectors(0)
{
addProperty(&p_inputImage);
addProperty(&p_evalsImage);
addProperty(&p_evecsImage);
addProperty(&p_degeneratedHandling);
addProperty(&p_maskMixedTensors);
addProperty(&p_addOutputButton);
addProperty(p_inputImage, INVALID_RESULT | EIGENSYSTEM_INVALID);
addProperty(p_evalsImage);
addProperty(p_evecsImage);
addProperty(p_degeneratedHandling);
addProperty(p_maskMixedTensors);
addProperty(p_addOutputButton, VALID);
addOutput();
p_addOutputButton.s_clicked.connect(this, &TensorAnalyzer::addOutput);
......@@ -471,8 +471,8 @@ namespace campvis {
void TensorAnalyzer::addOutput() {
OutputPropertyPair* opp = new OutputPropertyPair(p_outputProperties.size() + 1);
p_outputProperties.push_back(opp);
addProperty(&opp->_imageId);
addProperty(&opp->_imageType);
addProperty(opp->_imageId);
addProperty(opp->_imageType);
}
void TensorAnalyzer::deinit() {
......
......@@ -52,27 +52,27 @@ namespace campvis {
TensorGlyphRenderer::TensorGlyphRenderer(IVec2Property* viewportSizeProp)
: VisualizationProcessor(viewportSizeProp)
, p_inputEigenvalues("InputEigenvalues", "Input Eigenvalues Image", "eigenvalues", DataNameProperty::READ, INVALID_RESULT | INVALID_PROPERTIES)
, p_inputEigenvectors("InputEigenvectors", "Input Eigenvectors Image", "eigenvectors", DataNameProperty::READ, INVALID_RESULT | INVALID_PROPERTIES)
, p_inputEigenvalues("InputEigenvalues", "Input Eigenvalues Image", "eigenvalues", DataNameProperty::READ)
, p_inputEigenvectors("InputEigenvectors", "Input Eigenvectors Image", "eigenvectors", DataNameProperty::READ)
, p_renderOutput("RenderOutput", "Output Image", "TensorGlyphRenderer.output", DataNameProperty::WRITE)
, p_glyphType("GlyphType", "Glyph Type to Render", glyphTypes, 3)
, p_glyphSize("GlyphSize", "Glyph Size", 1.f, .1f, 5.f)
, p_camera("Camera", "Camera", tgt::Camera())
, p_sliceOrientation("SliceOrientation", "Slice Orientation", sliceOrientationOptions, 3, INVALID_RESULT | INVALID_PROPERTIES)
, p_sliceOrientation("SliceOrientation", "Slice Orientation", sliceOrientationOptions, 3)
, p_sliceNumber("SliceNumber", "Slice Number", 0, 0, 0)
, _ellipsoidGeometry(0)
, _cubeGeometry(0)
{
addDecorator(new ProcessorDecoratorShading());
addProperty(&p_inputEigenvalues);
addProperty(&p_inputEigenvectors);
addProperty(&p_renderOutput);
addProperty(&p_glyphType);
addProperty(&p_glyphSize);
addProperty(&p_camera);
addProperty(&p_sliceOrientation);
addProperty(&p_sliceNumber);
addProperty(p_inputEigenvalues, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_inputEigenvectors, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_renderOutput);
addProperty(p_glyphType);
addProperty(p_glyphSize);
addProperty(p_camera);
addProperty(p_sliceOrientation, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_sliceNumber);
decoratePropertyCollection(this);
}
......
......@@ -43,8 +43,8 @@ namespace campvis {
, _trackballEH(0)
{
addProperty(&p_camera);
addProperty(&p_sliceNumber);
addProperty(p_camera);
addProperty(p_sliceNumber);
_trackballEH = new TrackballNavigationEventListener(&p_camera, &_canvasSize);
addEventListenerToBack(_trackballEH);
......@@ -89,7 +89,7 @@ namespace campvis {
_vectorFieldRenderer.p_sliceOrientation.setValue(3);
Geometry1DTransferFunction* tf = new Geometry1DTransferFunction(128, tgt::vec2(0.f, 1.f));
tf->addGeometry(TFGeometry1D::createQuad(tgt::vec2(0.f, 1.f), tgt::col4(0, 0, 0, 0), tgt::col4(255, 255, 255, 255)));
tf->addGeometry(TFGeometry1D::createQuad(tgt::vec2(0.f, 1.f), tgt::col4(0, 0, 0, 255), tgt::col4(255, 255, 255, 255)));
_sliceRenderer.p_transferFunction.replaceTF(tf);
_sliceRenderer.p_targetImageID.setValue("slice");
_sliceRenderer.p_targetImageID.addSharedProperty(&_rtc.p_secondImageId);
......
......@@ -47,7 +47,7 @@ namespace campvis {
VectorFieldRenderer::VectorFieldRenderer(IVec2Property* viewportSizeProp)
: VisualizationProcessor(viewportSizeProp)
, p_inputVectors("InputImage", "Input Image Vectors", "vectors", DataNameProperty::READ, INVALID_RESULT | INVALID_PROPERTIES)
, p_inputVectors("InputImage", "Input Image Vectors", "vectors", DataNameProperty::READ)
, p_renderOutput("RenderOutput", "Output Image", "VectorFieldRenderer.output", DataNameProperty::WRITE)
, p_arrowSize("ArrowSize", "Arrow Size", 1.f, .001f, 5.f)
, p_lenThresholdMin("LenThresholdMin", "Length Threshold Min", .001f, 0.f, 1000.f, 0.005f)
......@@ -58,25 +58,25 @@ namespace campvis {
, p_flowProfile4("FlowSpline4", "Flow Profile - Spline 4", 1.f, .0f, 2.f)
, p_Time("time", "Time", 0, 0, 100)
, p_camera("Camera", "Camera", tgt::Camera())
, p_sliceOrientation("SliceOrientation", "Slice Orientation", sliceOrientationOptions, 4, INVALID_RESULT | INVALID_PROPERTIES)
, p_sliceOrientation("SliceOrientation", "Slice Orientation", sliceOrientationOptions, 4)
, p_sliceNumber("SliceNumber", "Slice Number", 0, 0, 0)
, _arrowGeometry(0)
{
addDecorator(new ProcessorDecoratorShading());
addProperty(&p_inputVectors);
addProperty(&p_renderOutput);
addProperty(&p_arrowSize);
addProperty(&p_lenThresholdMin);
addProperty(&p_lenThresholdMax);
addProperty(&p_camera);
addProperty(&p_sliceOrientation);
addProperty(&p_sliceNumber);
addProperty(&p_Time);
addProperty(&p_flowProfile1);
addProperty(&p_flowProfile2);
addProperty(&p_flowProfile3);
addProperty(&p_flowProfile4);
addProperty(p_inputVectors, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_renderOutput);
addProperty(p_arrowSize);
addProperty(p_lenThresholdMin);
addProperty(p_lenThresholdMax);
addProperty(p_camera);
addProperty(p_sliceOrientation, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_sliceNumber);
addProperty(p_Time);
addProperty(p_flowProfile1);
addProperty(p_flowProfile2);
addProperty(p_flowProfile3);
addProperty(p_flowProfile4);
decoratePropertyCollection(this);
}
......
......@@ -47,7 +47,7 @@ namespace campvis {
, _combine(&_canvasSize)
, _trackballEH(0)
{
addProperty(&_camera);
addProperty(_camera);
_trackballEH = new TrackballNavigationEventListener(&_camera, &_canvasSize);
_trackballEH->addLqModeProcessor(&_dvrNormal);
......@@ -113,6 +113,7 @@ namespace campvis {
// this will all get better with scripting support.
static_cast<BoolProperty*>(_vmEepGenerator.getProperty("applyMask"))->setValue(true);
_vmRenderer.p_renderTargetID.addSharedProperty(static_cast<DataNameProperty*>(_vmEepGenerator.getProperty("maskID")));
_vmRenderer.p_renderMode.selectByOption(GL_POLYGON);
_renderTargetID.setValue("combine");
......
......@@ -47,7 +47,7 @@ namespace campvis {
, _compositor2(&_canvasSize)
, _trackballEH(0)
{
addProperty(&_camera);
addProperty(_camera);
_trackballEH = new TrackballNavigationEventListener(&_camera, &_canvasSize);
addEventListenerToBack(_trackballEH);
......
......@@ -39,7 +39,7 @@ namespace campvis {
, _vr(&_canvasSize)
, _trackballEH(0)
{
addProperty(&_camera);
addProperty(_camera);
_trackballEH = new TrackballNavigationEventListener(&_camera, &_canvasSize);
_trackballEH->addLqModeProcessor(&_vr);
......
......@@ -40,8 +40,8 @@ namespace campvis {
{
addDecorator(new ProcessorDecoratorShading());
addProperty(&p_kappaS);
addProperty(&p_kappaT);
addProperty(p_kappaS);
addProperty(p_kappaT);
decoratePropertyCollection(this);
}
......
......@@ -45,19 +45,19 @@ namespace campvis {
, p_outputImage("OutputImage", "Output Image", "dd.output", DataNameProperty::WRITE)
, p_sigma("Sigma", "Sigma of Gaussian Filter", 2.f, 0.f, 10.f, 0.1f)
, p_lambda("Lambda", "Strength of Depth Darkening Effect", 10.f, 0.f, 50.f, 0.1f)
, p_useColorCoding("UseColorCoding", "Cold/Warm Color Coding", false, AbstractProcessor::INVALID_RESULT | AbstractProcessor::INVALID_SHADER)
, p_useColorCoding("UseColorCoding", "Cold/Warm Color Coding", false)
, p_coldColor("ColdColor", "Cold Color (Far Objects)", tgt::vec3(0.f, 0.f, 1.f), tgt::vec3(0.f), tgt::vec3(1.f))
, p_warmColor("WarmColor", "Warm Color (Near Objects)", tgt::vec3(1.f, 0.f, 0.f), tgt::vec3(0.f), tgt::vec3(1.f))
, _shader(0)
, _glReduction(0)
{
addProperty(&p_inputImage);
addProperty(&p_outputImage);
addProperty(&p_sigma);
addProperty(&p_lambda);
addProperty(&p_useColorCoding);
addProperty(&p_coldColor);
addProperty(&p_warmColor);
addProperty(p_inputImage);
addProperty(p_outputImage);
addProperty(p_sigma);
addProperty(p_lambda);
addProperty(p_useColorCoding, INVALID_RESULT | INVALID_SHADER);
addProperty(p_coldColor);
addProperty(p_warmColor);
}
DepthDarkening::~DepthDarkening() {
......
......@@ -35,11 +35,11 @@ namespace campvis {
: RaycastingProcessor(viewportSizeProp, "modules/vis/glsl/drrraycaster.frag", false)
, p_shift("shift", "Normalization Shift", 0.f, -10.f, 10.f, 0.1f)
, p_scale("scale", "Normalization Scale", 1.f, 0.f, 1000.f, 0.1f)
, p_invertMapping("invertMapping", "Invert Mapping", false, AbstractProcessor::INVALID_RESULT | AbstractProcessor::INVALID_SHADER)
, p_invertMapping("invertMapping", "Invert Mapping", false)
{
addProperty(&p_shift);
addProperty(&p_scale);
addProperty(&p_invertMapping);
addProperty(p_shift);
addProperty(p_scale);
addProperty(p_invertMapping, INVALID_RESULT | INVALID_SHADER);
}
DRRRaycaster::~DRRRaycaster() {
......
......@@ -47,21 +47,21 @@ namespace campvis {
, p_entryImageID("entryImageID", "Output Entry Points Image", "eep.entry", DataNameProperty::WRITE)
, p_exitImageID("exitImageID", "Output Exit Points Image", "eep.exit", DataNameProperty::WRITE)
, p_camera("camera", "Camera")
, p_enableMirror("enableMirror", "Enable Virtual Mirror Feature", false, AbstractProcessor::INVALID_RESULT | AbstractProcessor::INVALID_PROPERTIES)
, p_enableMirror("enableMirror", "Enable Virtual Mirror Feature", false)
, p_mirrorID("mirrorID", "Input Mirror ID", "", DataNameProperty::READ)
, _shader(0)
{
addDecorator(new ProcessorDecoratorMasking());
addProperty(&p_sourceImageID);
addProperty(&p_geometryID);
addProperty(&p_geometryImageId);
addProperty(&p_entryImageID);
addProperty(&p_exitImageID);
addProperty(&p_camera);
addProperty(p_sourceImageID);
addProperty(p_geometryID);
addProperty(p_geometryImageId);
addProperty(p_entryImageID);
addProperty(p_exitImageID);
addProperty(p_camera);
addProperty(&p_enableMirror);
addProperty(&p_mirrorID);
addProperty(p_enableMirror, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_mirrorID);
p_mirrorID.setVisible(false);
decoratePropertyCollection(this);
......
......@@ -60,12 +60,12 @@ namespace campvis {
, p_textureID("TextureId", "Input Texture ID (optional)", "gr.inputtexture", DataNameProperty::READ)
, p_renderTargetID("p_renderTargetID", "Output Image", "gr.output", DataNameProperty::WRITE)
, p_camera("camera", "Camera")
, p_renderMode("RenderMode", "Render Mode", renderOptions, 7, INVALID_RESULT | INVALID_PROPERTIES)
, p_coloringMode("ColoringMode", "ColoringMode", coloringOptions, 3, INVALID_RESULT | INVALID_SHADER | INVALID_PROPERTIES)
, p_renderMode("RenderMode", "Render Mode", renderOptions, 7)
, p_coloringMode("ColoringMode", "ColoringMode", coloringOptions, 3)
, p_solidColor("SolidColor", "Solid Color", tgt::vec4(1.f, .5f, 0.f, 1.f), tgt::vec4(0.f), tgt::vec4(1.f))
, p_pointSize("PointSize", "Point Size", 3.f, .1f, 10.f)
, p_lineWidth("LineWidth", "Line Width", 1.f, .1f, 10.f)
, p_showWireframe("ShowWireframe", "Show Wireframe", true, INVALID_RESULT | INVALID_SHADER | INVALID_PROPERTIES)
, p_showWireframe("ShowWireframe", "Show Wireframe", true)
, p_wireframeColor("WireframeColor", "Wireframe Color", tgt::vec4(1.f, 1.f, 1.f, 1.f), tgt::vec4(0.f), tgt::vec4(1.f))
, _pointShader(0)
, _meshShader(0)
......@@ -74,19 +74,19 @@ namespace campvis {
addDecorator(new ProcessorDecoratorShading());
addProperty(&p_geometryID);
addProperty(&p_textureID);
addProperty(&p_renderTargetID);
addProperty(&p_camera);
addProperty(p_geometryID);
addProperty(p_textureID);
addProperty(p_renderTargetID);
addProperty(p_camera);
addProperty(&p_renderMode);
addProperty(&p_coloringMode);
addProperty(&p_solidColor);
addProperty(p_renderMode, INVALID_RESULT | INVALID_PROPERTIES);
addProperty(p_coloringMode, INVALID_RESULT | INVALID_SHADER | INVALID_PROPERTIES);
addProperty(p_solidColor);
addProperty(&p_pointSize);
addProperty(&p_lineWidth);
addProperty(&p_showWireframe);
addProperty(&p_wireframeColor);
addProperty(p_pointSize);
addProperty(p_lineWidth);
addProperty(p_showWireframe, INVALID_RESULT | INVALID_SHADER | INVALID_PROPERTIES);
addProperty(p_wireframeColor);
decoratePropertyCollection(this);
}
......
......@@ -36,21 +36,21 @@ namespace campvis {
OptimizedRaycaster::OptimizedRaycaster(IVec2Property* viewportSizeProp)
: RaycastingProcessor(viewportSizeProp, "modules/vis/glsl/optimizedraycaster.frag", true)
, p_targetImageID("targetImageID", "Output Image", "", DataNameProperty::WRITE)
, p_enableShadowing("EnableShadowing", "Enable Hard Shadows (Expensive!)", false, AbstractProcessor::INVALID_RESULT | AbstractProcessor::INVALID_SHADER | AbstractProcessor::INVALID_PROPERTIES)
, p_enableShadowing("EnableShadowing", "Enable Hard Shadows (Expensive!)", false)
, p_shadowIntensity("ShadowIntensity", "Shadow Intensity", .5f, .0f, 1.f)
, p_enableIntersectionRefinement("EnableIntersectionRefinement", "Enable Intersection Refinement", false, AbstractProcessor::INVALID_RESULT | AbstractProcessor::INVALID_SHADER)
, p_useEmptySpaceSkipping("EnableEmptySpaceSkipping", "Enable Empty Space Skipping", true, AbstractProcessor::INVALID_RESULT | INVALID_BBV)
, p_enableIntersectionRefinement("EnableIntersectionRefinement", "Enable Intersection Refinement", false)
, p_useEmptySpaceSkipping("EnableEmptySpaceSkipping", "Enable Empty Space Skipping", true)
, _bbv(0)
, _t(0)
{
addDecorator(new ProcessorDecoratorShading());
addProperty(&p_targetImageID);
addProperty(&p_enableIntersectionRefinement);
addProperty(&p_useEmptySpaceSkipping);
addProperty(p_targetImageID);
addProperty(p_enableIntersectionRefinement, INVALID_RESULT | INVALID_SHADER);
addProperty(p_useEmptySpaceSkipping, INVALID_RESULT | INVALID_BBV);
addProperty(&p_enableShadowing);
addProperty(&p_shadowIntensity);
addProperty(p_enableShadowing, INVALID_RESULT | INVALID_SHADER | INVALID_PROPERTIES);
addProperty(p_shadowIntensity);
p_shadowIntensity.setVisible(false);
// p_transferFunction.setInvalidationLevel(p_transferFunction.getInvalidationLevel() | INVALID_BBV);
......@@ -142,7 +142,7 @@ namespace campvis {
void OptimizedRaycaster::updateProperties(DataContainer& dataContainer) {
RaycastingProcessor::updateProperties(dataContainer);
p_shadowIntensity.setVisible(p_enableShadowing.getValue());
validate(AbstractProcessor::INVALID_PROPERTIES);
validate(INVALID_PROPERTIES);
}
void OptimizedRaycaster::generateBbv(DataHandle dh) {
......
......@@ -39,17 +39,17 @@ namespace campvis {
ProxyGeometryGenerator::ProxyGeometryGenerator()
: AbstractProcessor()
, p_sourceImageID("sourceImageID", "Input Image", "", DataNameProperty::READ, INVALID_RESULT | INVALID_PROPERTIES)
, p_sourceImageID("sourceImageID", "Input Image", "", DataNameProperty::READ)
, p_geometryID("geometryID", "Output Geometry ID", "proxygeometry", DataNameProperty::WRITE)
, p_clipX("clipX", "X Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
, p_clipY("clipY", "Y Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
, p_clipZ("clipZ", "Z Axis Clip Coordinates", tgt::ivec2(0), tgt::ivec2(0), tgt::ivec2(0))
{
addProperty(&p_sourceImageID);
addProperty(&p_geometryID);
addProperty(&p_clipX);