Commit 68de0f6e authored by kgriffin's avatar kgriffin

New Radial Resample Operator

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@23866 18c085ea-50e0-402c-830e-de6fd14e8384
parent 6768f9da
......@@ -122,6 +122,7 @@ RectilinearProject2D
Reflect
Replicate
Resample
RadialResample
Revolve
Slice
Smooth
......
# DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake
PROJECT(RadialResample)
INCLUDE(${VISIT_SOURCE_DIR}/CMake/PluginMacros.cmake)
SET(COMMON_SOURCES
RadialResamplePluginInfo.C
RadialResampleCommonPluginInfo.C
RadialResampleAttributes.C
)
SET(LIBI_SOURCES
RadialResamplePluginInfo.C
)
SET(LIBG_SOURCES
RadialResampleGUIPluginInfo.C
QvisRadialResampleWindow.C
${COMMON_SOURCES}
)
SET(LIBG_MOC_SOURCES
QvisRadialResampleWindow.h
)
SET(LIBV_SOURCES
RadialResampleViewerPluginInfo.C
${COMMON_SOURCES}
)
SET(LIBE_SOURCES
RadialResampleEnginePluginInfo.C
avtRadialResampleFilter.C
${COMMON_SOURCES}
)
IF(VISIT_PYTHON_SCRIPTING)
SET(PYINCLUDES ${PYTHON_INCLUDE_PATH} ${VISIT_INCLUDE_DIR}/visitpy/visitpy)
ENDIF(VISIT_PYTHON_SCRIPTING)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${VISIT_COMMON_INCLUDES}
${VISIT_INCLUDE_DIR}/avt/DBAtts/MetaData
${VISIT_INCLUDE_DIR}/avt/DBAtts/SIL
${VISIT_INCLUDE_DIR}/avt/Database/Database
${VISIT_INCLUDE_DIR}/avt/Expressions/Abstract
${VISIT_INCLUDE_DIR}/avt/Expressions/CMFE
${VISIT_INCLUDE_DIR}/avt/Expressions/Conditional
${VISIT_INCLUDE_DIR}/avt/Expressions/Derivations
${VISIT_INCLUDE_DIR}/avt/Expressions/General
${VISIT_INCLUDE_DIR}/avt/Expressions/ImageProcessing
${VISIT_INCLUDE_DIR}/avt/Expressions/Management
${VISIT_INCLUDE_DIR}/avt/Expressions/Math
${VISIT_INCLUDE_DIR}/avt/Expressions/MeshQuality
${VISIT_INCLUDE_DIR}/avt/Expressions/TimeIterators
${VISIT_INCLUDE_DIR}/avt/FileWriter
${VISIT_INCLUDE_DIR}/avt/Filters
${VISIT_INCLUDE_DIR}/avt/IVP
${VISIT_INCLUDE_DIR}/avt/Math
${VISIT_INCLUDE_DIR}/avt/Pipeline/AbstractFilters
${VISIT_INCLUDE_DIR}/avt/Pipeline/Data
${VISIT_INCLUDE_DIR}/avt/Pipeline/Pipeline
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sinks
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sources
${VISIT_INCLUDE_DIR}/avt/Plotter
${VISIT_INCLUDE_DIR}/avt/QtVisWindow
${VISIT_INCLUDE_DIR}/avt/View
${VISIT_INCLUDE_DIR}/avt/VisWindow/Colleagues
${VISIT_INCLUDE_DIR}/avt/VisWindow/Interactors
${VISIT_INCLUDE_DIR}/avt/VisWindow/Proxies
${VISIT_INCLUDE_DIR}/avt/VisWindow/Tools
${VISIT_INCLUDE_DIR}/avt/VisWindow/VisWindow
${VISIT_INCLUDE_DIR}/gui
${VISIT_INCLUDE_DIR}/mdserver/proxy
${VISIT_INCLUDE_DIR}/mdserver/rpc
${VISIT_INCLUDE_DIR}/viewer/main
${VISIT_INCLUDE_DIR}/viewer/proxy
${VISIT_INCLUDE_DIR}/viewer/rpc
${VISIT_INCLUDE_DIR}/winutil
${VISIT_INCLUDE_DIR}/visit_vtk/full
${VISIT_INCLUDE_DIR}/visit_vtk/lightweight
${QT_INCLUDE_DIR}
${QT_QTCORE_INCLUDE_DIR}
${QT_QTGUI_INCLUDE_DIR}
${EAVL_INCLUDE_DIR}
${VTK_INCLUDE_DIRS}
${PYINCLUDES}
)
LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${QT_LIBRARY_DIR} ${GLEW_LIBRARY_DIR} ${EAVL_LIBRARY_DIR} ${VTK_LIBRARY_DIRS} )
ADD_LIBRARY(IRadialResampleOperator ${LIBI_SOURCES})
TARGET_LINK_LIBRARIES(IRadialResampleOperator visitcommon)
SET(INSTALLTARGETS IRadialResampleOperator)
IF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
QT_WRAP_CPP(GRadialResampleOperator LIBG_SOURCES ${LIBG_MOC_SOURCES})
ADD_LIBRARY(GRadialResampleOperator ${LIBG_SOURCES})
TARGET_LINK_LIBRARIES(GRadialResampleOperator visitcommon gui )
ADD_LIBRARY(VRadialResampleOperator ${LIBV_SOURCES})
TARGET_LINK_LIBRARIES(VRadialResampleOperator visitcommon viewer )
SET(INSTALLTARGETS ${INSTALLTARGETS} GRadialResampleOperator VRadialResampleOperator)
IF(VISIT_PYTHON_SCRIPTING)
SET(LIBS_SOURCES
RadialResampleScriptingPluginInfo.C
PyRadialResampleAttributes.C
${COMMON_SOURCES}
)
ADD_LIBRARY(SRadialResampleOperator ${LIBS_SOURCES})
TARGET_LINK_LIBRARIES(SRadialResampleOperator visitcommon visitpy ${PYTHON_LIBRARY})
SET(INSTALLTARGETS ${INSTALLTARGETS} SRadialResampleOperator)
ENDIF(VISIT_PYTHON_SCRIPTING)
IF(VISIT_JAVA)
FILE(COPY RadialResampleAttributes.java DESTINATION ${JavaClient_BINARY_DIR}/src/operators)
ADD_CUSTOM_TARGET(JavaRadialResample ALL ${Java_JAVAC_EXECUTABLE} ${VISIT_Java_FLAGS} -d ${JavaClient_BINARY_DIR} -classpath ${JavaClient_BINARY_DIR} -sourcepath ${JavaClient_BINARY_DIR} RadialResampleAttributes.java
DEPENDS JavaClient
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
ENDIF(VISIT_JAVA)
ENDIF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
ADD_LIBRARY(ERadialResampleOperator_ser ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(ERadialResampleOperator_ser visitcommon avtexpressions_ser avtfilters_ser avtpipeline_ser avtivp_ser )
SET(INSTALLTARGETS ${INSTALLTARGETS} ERadialResampleOperator_ser)
IF(VISIT_PARALLEL)
ADD_PARALLEL_LIBRARY(ERadialResampleOperator_par ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(ERadialResampleOperator_par visitcommon avtexpressions_par avtfilters_par avtpipeline_par avtivp_par )
SET(INSTALLTARGETS ${INSTALLTARGETS} ERadialResampleOperator_par)
ENDIF(VISIT_PARALLEL)
VISIT_INSTALL_OPERATOR_PLUGINS(${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_RTOD(operators ${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_FOLDER(operators RadialResample ${INSTALLTARGETS})
This diff is collapsed.
/*****************************************************************************
*
* Copyright (c) 2000 - 2013, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
*
* This file is part of VisIt. For details, see https://visit.llnl.gov/. The
* full copyright notice is contained in the file COPYRIGHT located at the root
* of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the disclaimer below.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the disclaimer (as noted below) in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the LLNS/LLNL nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,
* LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
*****************************************************************************/
#ifndef PY_RADIALRESAMPLEATTRIBUTES_H
#define PY_RADIALRESAMPLEATTRIBUTES_H
#include <Python.h>
#include <RadialResampleAttributes.h>
//
// Functions exposed to the VisIt module.
//
#define RADIALRESAMPLEATTRIBUTES_NMETH 24
void PyRadialResampleAttributes_StartUp(RadialResampleAttributes *subj, void *data);
void PyRadialResampleAttributes_CloseDown();
PyMethodDef * PyRadialResampleAttributes_GetMethodTable(int *nMethods);
bool PyRadialResampleAttributes_Check(PyObject *obj);
RadialResampleAttributes * PyRadialResampleAttributes_FromPyObject(PyObject *obj);
PyObject * PyRadialResampleAttributes_New();
PyObject * PyRadialResampleAttributes_Wrap(const RadialResampleAttributes *attr);
void PyRadialResampleAttributes_SetParent(PyObject *obj, PyObject *parent);
void PyRadialResampleAttributes_SetDefaults(const RadialResampleAttributes *atts);
std::string PyRadialResampleAttributes_GetLogString();
std::string PyRadialResampleAttributes_ToString(const RadialResampleAttributes *, const char *);
PyObject * PyRadialResampleAttributes_getattr(PyObject *self, char *name);
int PyRadialResampleAttributes_setattr(PyObject *self, char *name, PyObject *args);
extern PyMethodDef PyRadialResampleAttributes_methods[RADIALRESAMPLEATTRIBUTES_NMETH];
#endif
/*****************************************************************************
*
* Copyright (c) 2000 - 2013, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
*
* This file is part of VisIt. For details, see https://visit.llnl.gov/. The
* full copyright notice is contained in the file COPYRIGHT located at the root
* of the VisIt distribution or at http://www.llnl.gov/visit/copyright.html.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the disclaimer below.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the disclaimer (as noted below) in the
* documentation and/or other materials provided with the distribution.
* - Neither the name of the LLNS/LLNL nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY,
* LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
*****************************************************************************/
#include "QvisRadialResampleWindow.h"
#include <RadialResampleAttributes.h>
#include <ViewerProxy.h>
#include <QCheckBox>
#include <QLabel>
#include <QLayout>
#include <QLineEdit>
#include <QSpinBox>
#include <QButtonGroup>
#include <QRadioButton>
#include <QvisColorTableButton.h>
#include <QvisOpacitySlider.h>
#include <QvisColorButton.h>
#include <QvisLineStyleWidget.h>
#include <QvisLineWidthWidget.h>
#include <QvisVariableButton.h>
#include <stdio.h>
#include <string>
using std::string;
// ****************************************************************************
// Method: QvisRadialResampleWindow::QvisRadialResampleWindow
//
// Purpose:
// Constructor
//
// Note: Autogenerated by xml2window.
//
// Programmer: xml2window
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
QvisRadialResampleWindow::QvisRadialResampleWindow(const int type,
RadialResampleAttributes *subj,
const QString &caption,
const QString &shortName,
QvisNotepadArea *notepad)
: QvisOperatorWindow(type,subj, caption, shortName, notepad)
{
atts = subj;
}
// ****************************************************************************
// Method: QvisRadialResampleWindow::~QvisRadialResampleWindow
//
// Purpose:
// Destructor
//
// Note: Autogenerated by xml2window.
//
// Programmer: xml2window
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
QvisRadialResampleWindow::~QvisRadialResampleWindow()
{
}
// ****************************************************************************
// Method: QvisRadialResampleWindow::CreateWindowContents
//
// Purpose:
// Creates the widgets for the window.
//
// Note: Autogenerated by xml2window.
//
// Programmer: xml2window
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
void
QvisRadialResampleWindow::CreateWindowContents()
{
QGridLayout *mainLayout = new QGridLayout(0);
topLayout->addLayout(mainLayout);
isFast = new QCheckBox(tr("Fast Mode"), central);
connect(isFast, SIGNAL(toggled(bool)),
this, SLOT(isFastChanged(bool)));
mainLayout->addWidget(isFast, 0,0);
minThetaLabel = new QLabel(tr("Min Elevation"), central);
mainLayout->addWidget(minThetaLabel,1,0);
minTheta = new QLineEdit(central);
connect(minTheta, SIGNAL(returnPressed()),
this, SLOT(minThetaProcessText()));
mainLayout->addWidget(minTheta, 1,1);
maxThetaLabel = new QLabel(tr("Max Elevation"), central);
mainLayout->addWidget(maxThetaLabel,2,0);
maxTheta = new QLineEdit(central);
connect(maxTheta, SIGNAL(returnPressed()),
this, SLOT(maxThetaProcessText()));
mainLayout->addWidget(maxTheta, 2,1);
deltaThetaLabel = new QLabel(tr("Delta Elevation"), central);
mainLayout->addWidget(deltaThetaLabel,3,0);
deltaTheta = new QLineEdit(central);
connect(deltaTheta, SIGNAL(returnPressed()),
this, SLOT(deltaThetaProcessText()));
mainLayout->addWidget(deltaTheta, 3,1);
radiusLabel = new QLabel(tr("Radius"), central);
mainLayout->addWidget(radiusLabel,4,0);
radius = new QLineEdit(central);
connect(radius, SIGNAL(returnPressed()),
this, SLOT(radiusProcessText()));
mainLayout->addWidget(radius, 4,1);
deltaRadiusLabel = new QLabel(tr("Delta Radius"), central);
mainLayout->addWidget(deltaRadiusLabel,5,0);
deltaRadius = new QLineEdit(central);
connect(deltaRadius, SIGNAL(returnPressed()),
this, SLOT(deltaRadiusProcessText()));
mainLayout->addWidget(deltaRadius, 5,1);
centerLabel = new QLabel(tr("Center"), central);
mainLayout->addWidget(centerLabel,6,0);
center = new QLineEdit(central);
connect(center, SIGNAL(returnPressed()),
this, SLOT(centerProcessText()));
mainLayout->addWidget(center, 6,1);
is3D = new QCheckBox(tr("3D Resampling"), central);
connect(is3D, SIGNAL(toggled(bool)),
this, SLOT(is3DChanged(bool)));
mainLayout->addWidget(is3D, 7,0);
minAzimuthLabel = new QLabel(tr("Min Azimuth"), central);
mainLayout->addWidget(minAzimuthLabel,8,0);
minAzimuth = new QLineEdit(central);
connect(minAzimuth, SIGNAL(returnPressed()),
this, SLOT(minAzimuthProcessText()));
mainLayout->addWidget(minAzimuth, 8,1);
maxAzimuthLabel = new QLabel(tr("Max Azimuth"), central);
mainLayout->addWidget(maxAzimuthLabel,9,0);
maxAzimuth = new QLineEdit(central);
connect(maxAzimuth, SIGNAL(returnPressed()),
this, SLOT(maxAzimuthProcessText()));
mainLayout->addWidget(maxAzimuth, 9,1);
deltaAzimuthLabel = new QLabel(tr("Delta Azimuth"), central);
mainLayout->addWidget(deltaAzimuthLabel,10,0);
deltaAzimuth = new QLineEdit(central);
connect(deltaAzimuth, SIGNAL(returnPressed()),
this, SLOT(deltaAzimuthProcessText()));
mainLayout->addWidget(deltaAzimuth, 10,1);
}
// ****************************************************************************
// Method: QvisRadialResampleWindow::UpdateWindow
//
// Purpose:
// Updates the widgets in the window when the subject changes.
//
// Note: Autogenerated by xml2window.
//
// Programmer: xml2window
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
void
QvisRadialResampleWindow::UpdateWindow(bool doAll)
{
for(int i = 0; i < atts->NumAttributes(); ++i)
{
if(!doAll)
{
if(!atts->IsSelected(i))
{
continue;
}
}
switch(i)
{
case RadialResampleAttributes::ID_isFast:
isFast->blockSignals(true);
isFast->setChecked(atts->GetIsFast());
isFast->blockSignals(false);
break;
case RadialResampleAttributes::ID_minTheta:
minTheta->setText(FloatToQString(atts->GetMinTheta()));
break;
case RadialResampleAttributes::ID_maxTheta:
maxTheta->setText(FloatToQString(atts->GetMaxTheta()));
break;
case RadialResampleAttributes::ID_deltaTheta:
deltaTheta->setText(FloatToQString(atts->GetDeltaTheta()));
break;
case RadialResampleAttributes::ID_radius:
radius->setText(FloatToQString(atts->GetRadius()));
break;
case RadialResampleAttributes::ID_deltaRadius:
deltaRadius->setText(FloatToQString(atts->GetDeltaRadius()));
break;
case RadialResampleAttributes::ID_center:
center->setText(FloatsToQString(atts->GetCenter(), 3));
break;
case RadialResampleAttributes::ID_is3D:
if (atts->GetIs3D() == true)
{
minAzimuth->setEnabled(true);
if(minAzimuthLabel)
minAzimuthLabel->setEnabled(true);
}
else
{
minAzimuth->setEnabled(false);
if(minAzimuthLabel)
minAzimuthLabel->setEnabled(false);
}
if (atts->GetIs3D() == true)
{
maxAzimuth->setEnabled(true);
if(maxAzimuthLabel)
maxAzimuthLabel->setEnabled(true);
}
else
{
maxAzimuth->setEnabled(false);
if(maxAzimuthLabel)
maxAzimuthLabel->setEnabled(false);
}
if (atts->GetIs3D() == true)
{
deltaAzimuth->setEnabled(true);
if(deltaAzimuthLabel)
deltaAzimuthLabel->setEnabled(true);
}
else
{
deltaAzimuth->setEnabled(false);
if(deltaAzimuthLabel)
deltaAzimuthLabel->setEnabled(false);
}
is3D->blockSignals(true);
is3D->setChecked(atts->GetIs3D());
is3D->blockSignals(false);
break;
case RadialResampleAttributes::ID_minAzimuth:
minAzimuth->setText(FloatToQString(atts->GetMinAzimuth()));
break;
case RadialResampleAttributes::ID_maxAzimuth:
maxAzimuth->setText(FloatToQString(atts->GetMaxAzimuth()));
break;
case RadialResampleAttributes::ID_deltaAzimuth:
deltaAzimuth->setText(FloatToQString(atts->GetDeltaAzimuth()));
break;
}
}
}
// ****************************************************************************
// Method: QvisRadialResampleWindow::GetCurrentValues
//
// Purpose:
// Gets values from certain widgets and stores them in the subject.
//
// Note: Autogenerated by xml2window.
//
// Programmer: xml2window
// Creation: omitted
//
// Modifications:
//
// ****************************************************************************
void
QvisRadialResampleWindow::GetCurrentValues(int which_widget)
{
bool doAll = (which_widget == -1);
// Do minTheta
if(which_widget == RadialResampleAttributes::ID_minTheta || doAll)
{
float val;
if(LineEditGetFloat(minTheta, val))
atts->SetMinTheta(val);
else
{
ResettingError(tr("Min Elevation"),
FloatToQString(atts->GetMinTheta()));
atts->SetMinTheta(atts->GetMinTheta());
}
}
// Do maxTheta
if(which_widget == RadialResampleAttributes::ID_maxTheta || doAll)
{
float val;
if(LineEditGetFloat(maxTheta, val))
atts->SetMaxTheta(val);
else
{
ResettingError(tr("Max Elevation"),
FloatToQString(atts->GetMaxTheta()));
atts->SetMaxTheta(atts->GetMaxTheta());
}
}
// Do deltaTheta
if(which_widget == RadialResampleAttributes::ID_deltaTheta || doAll)
{
float val;
if(LineEditGetFloat(deltaTheta, val))
atts->SetDeltaTheta(val);
else
{
ResettingError(tr("Delta Elevation"),
FloatToQString(atts->GetDeltaTheta()));
atts->SetDeltaTheta(atts->GetDeltaTheta());
}
}
// Do radius
if(which_widget == RadialResampleAttributes::ID_radius || doAll)
{
float val;
if(LineEditGetFloat(radius, val))
atts->SetRadius(val);
else
{
ResettingError(tr("Radius"),
FloatToQString(atts->GetRadius()));
atts->SetRadius(atts->GetRadius());
}
}
// Do deltaRadius
if(which_widget == RadialResampleAttributes::ID_deltaRadius || doAll)
{
float val;
if(LineEditGetFloat(deltaRadius, val))
atts->SetDeltaRadius(val);
else
{
ResettingError(tr("Delta Radius"),
FloatToQString(atts->GetDeltaRadius()));
atts->SetDeltaRadius(atts->GetDeltaRadius());
}
}
// Do center
if(which_widget == RadialResampleAttributes::ID_center || doAll)
{
float val[3];
if(LineEditGetFloats(center, val, 3))