Skip to content

Commit b75d34b

Browse files
committed
Suggested Changes
1 parent 8bf49c8 commit b75d34b

8 files changed

+50
-21
lines changed

src/Interface/Modules/Fields/GeneratePointSamplesFromField.ui

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
<rect>
77
<x>0</x>
88
<y>0</y>
9-
<width>305</width>
10-
<height>108</height>
9+
<width>350</width>
10+
<height>120</height>
1111
</rect>
1212
</property>
1313
<property name="minimumSize">
1414
<size>
15-
<width>300</width>
16-
<height>81</height>
15+
<width>350</width>
16+
<height>120</height>
1717
</size>
1818
</property>
1919
<property name="windowTitle">
@@ -59,14 +59,17 @@
5959
</item>
6060
<item row="3" column="1">
6161
<widget class="QDoubleSpinBox" name="bboxScaleDoubleSpinBox_">
62+
<property name="enabled">
63+
<bool>false</bool>
64+
</property>
6265
<property name="maximum">
63-
<double>1.000000000000000</double>
66+
<double>100.000000000000000</double>
6467
</property>
6568
<property name="singleStep">
66-
<double>0.050000000000000</double>
69+
<double>5.000000000000000</double>
6770
</property>
6871
<property name="value">
69-
<double>0.100000000000000</double>
72+
<double>10.000000000000000</double>
7073
</property>
7174
</widget>
7275
</item>

src/Interface/Modules/Fields/GeneratePointSamplesFromFieldDialog.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,12 @@ GeneratePointSamplesFromFieldDialog::GeneratePointSamplesFromFieldDialog(const s
4646
addSpinBoxManager(numberOfSeedsSpinBox_, Parameters::NumSeeds);
4747
addDoubleSpinBoxManager(bboxScaleDoubleSpinBox_, Parameters::BBoxScale);
4848
addCheckBoxManager(bboxScaleCheckBox_, Parameters::UseBBoxScale);
49+
50+
connect(bboxScaleCheckBox_, SIGNAL(stateChanged(int)), this, SLOT(toggleSpinBoxes()));
51+
}
52+
53+
void GeneratePointSamplesFromFieldDialog::toggleSpinBoxes()
54+
{
55+
bboxScaleDoubleSpinBox_->setEnabled(!bboxScaleDoubleSpinBox_->isEnabled());
56+
seedSizeDoubleSpinBox_->setEnabled(!seedSizeDoubleSpinBox_->isEnabled());
4957
}

src/Interface/Modules/Fields/GeneratePointSamplesFromFieldDialog.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ namespace SCIRun {
4545
GeneratePointSamplesFromFieldDialog(const std::string& name,
4646
SCIRun::Dataflow::Networks::ModuleStateHandle state,
4747
QWidget* parent = nullptr);
48+
private Q_SLOTS:
49+
void toggleSpinBoxes();
4850
};
4951

5052
}

src/Interface/Modules/Fields/GenerateSinglePointProbeFromField.ui

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
<x>0</x>
88
<y>0</y>
99
<width>436</width>
10-
<height>430</height>
10+
<height>460</height>
1111
</rect>
1212
</property>
1313
<property name="minimumSize">
1414
<size>
1515
<width>436</width>
16-
<height>430</height>
16+
<height>460</height>
1717
</size>
1818
</property>
1919
<property name="windowTitle">
@@ -220,7 +220,7 @@
220220
<property name="minimumSize">
221221
<size>
222222
<width>100</width>
223-
<height>150</height>
223+
<height>170</height>
224224
</size>
225225
</property>
226226
<property name="title">
@@ -290,14 +290,17 @@
290290
</item>
291291
<item row="3" column="1">
292292
<widget class="QDoubleSpinBox" name="bboxScaleDoubleSpinBox_">
293+
<property name="enabled">
294+
<bool>false</bool>
295+
</property>
293296
<property name="maximum">
294-
<double>1.000000000000000</double>
297+
<double>100.000000000000000</double>
295298
</property>
296299
<property name="singleStep">
297-
<double>0.050000000000000</double>
300+
<double>5.000000000000000</double>
298301
</property>
299302
<property name="value">
300-
<double>0.100000000000000</double>
303+
<double>10.000000000000000</double>
301304
</property>
302305
</widget>
303306
</item>

src/Interface/Modules/Fields/GenerateSinglePointProbeFromFieldDialog.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ GenerateSinglePointProbeFromFieldDialog::GenerateSinglePointProbeFromFieldDialog
6262
connect(moveToComboBox_, SIGNAL(activated(const QString&)), this, SLOT(enableWidgets(const QString&)));
6363
connect(colorChooserPushButton_, SIGNAL(clicked()), this, SLOT(assignDefaultMeshColor()));
6464
connectButtonToExecuteSignal(colorChooserPushButton_);
65+
connect(bboxScaleCheckBox_, SIGNAL(stateChanged(int)), this, SLOT(toggleSpinBoxes()));
6566
}
6667

6768
void GenerateSinglePointProbeFromFieldDialog::enableWidgets(const QString& mode)
@@ -101,3 +102,9 @@ void GenerateSinglePointProbeFromFieldDialog::pushColor()
101102
{
102103
state_->setValue(Parameters::ProbeColor, ColorRGB(defaultMeshColor_.redF(), defaultMeshColor_.greenF(), defaultMeshColor_.blueF()).toString());
103104
}
105+
106+
void GenerateSinglePointProbeFromFieldDialog::toggleSpinBoxes()
107+
{
108+
bboxScaleDoubleSpinBox_->setEnabled(!bboxScaleDoubleSpinBox_->isEnabled());
109+
sizeDoubleSpinBox_->setEnabled(!sizeDoubleSpinBox_->isEnabled());
110+
}

src/Interface/Modules/Fields/GenerateSinglePointProbeFromFieldDialog.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ namespace SCIRun {
5353
void enableWidgets(const QString& mode);
5454
void pushColor();
5555
void assignDefaultMeshColor();
56+
void toggleSpinBoxes();
5657

5758
private:
5859
QColor defaultMeshColor_;

src/Modules/Legacy/Fields/GeneratePointSamplesFromField.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ void GeneratePointSamplesFromField::setStateDefaults()
122122
state->setValue(Parameters::NumSeeds, 1);
123123
state->setValue(Parameters::ProbeScale, 0.23);
124124
state->setValue(Parameters::PointPositions, VariableList());
125-
state->setValue(Parameters::BBoxScale, 0.1);
125+
state->setValue(Parameters::BBoxScale, 10.0);
126126
state->setValue(Parameters::UseBBoxScale, false);
127127
getOutputPort(GeneratedWidget)->connectConnectionFeedbackListener([this](const ModuleFeedback& var) { processWidgetFeedback(var); });
128128
}
@@ -232,7 +232,7 @@ FieldHandle GeneratePointSamplesFromField::GenerateOutputField()
232232
auto numSeeds = state->getValue(Parameters::NumSeeds).toInt();
233233
double scale;
234234
if (state->getValue(Parameters::UseBBoxScale).toBool())
235-
scale = fieldScale * state->getValue(Parameters::BBoxScale).toDouble();
235+
scale = fieldScale * (0.01*state->getValue(Parameters::BBoxScale).toDouble());
236236
else
237237
scale = state->getValue(Parameters::ProbeScale).toDouble();
238238

src/Modules/Legacy/Fields/GenerateSinglePointProbeFromField.cc

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ namespace SCIRun
8484
int widgetid_;
8585
double l2norm_;
8686
bool color_changed_;
87-
GeometryHandle buildWidgetObject(FieldHandle field, double fieldScale, ModuleStateHandle state, const GeometryIDGenerator& idGenerator);
87+
GeometryHandle buildWidgetObject(const boost::optional<boost::shared_ptr<Field>> ifield, FieldHandle ofield, double fieldScale, ModuleStateHandle state, const GeometryIDGenerator& idGenerator);
8888
RenderState getWidgetRenderState(ModuleStateHandle state);
8989
Transform previousTransform_;
9090
};
@@ -169,7 +169,7 @@ void GenerateSinglePointProbeFromField::setStateDefaults()
169169
state->setValue(ProbeColor, ColorRGB(1, 1, 1).toString());
170170
state->setValue(SnapToNode, false);
171171
state->setValue(SnapToElement, false);
172-
state->setValue(Parameters::BBoxSize, 0.1);
172+
state->setValue(Parameters::BBoxSize, 10.0);
173173
state->setValue(Parameters::UseBBoxSize, false);
174174

175175
getOutputPort(GeneratedWidget)->connectConnectionFeedbackListener([this](const ModuleFeedback& var) { processWidgetFeedback(var); });
@@ -204,7 +204,7 @@ void GenerateSinglePointProbeFromField::execute()
204204
auto index = GenerateIndex();
205205
sendOutput(ElementIndex, boost::make_shared<Int32>(static_cast<int>(index)));
206206

207-
auto geom = impl_->buildWidgetObject(field, fieldScale, get_state(), *this);
207+
auto geom = impl_->buildWidgetObject(ifieldOption, field, fieldScale, get_state(), *this);
208208
sendOutput(GeneratedWidget, geom);
209209
}
210210
}
@@ -483,13 +483,18 @@ index_type GenerateSinglePointProbeFromField::GenerateIndex()
483483
return index;
484484
}
485485

486-
GeometryHandle GenerateSinglePointProbeFromFieldImpl::buildWidgetObject(FieldHandle field, double fieldScale, ModuleStateHandle state, const GeometryIDGenerator& idGenerator)
486+
GeometryHandle GenerateSinglePointProbeFromFieldImpl::buildWidgetObject(const boost::optional<boost::shared_ptr<Field>> ifield, FieldHandle ofield, double fieldScale, ModuleStateHandle state, const GeometryIDGenerator& idGenerator)
487487
{
488488
using namespace Parameters;
489-
auto mesh = field->vmesh();
489+
auto mesh = ofield->vmesh();
490490
double radius;
491491
if (state->getValue(UseBBoxSize).toBool())
492-
radius = fieldScale * state->getValue(BBoxSize).toDouble();
492+
{
493+
if (ifield)
494+
radius = fieldScale * (0.01*state->getValue(BBoxSize).toDouble());
495+
else
496+
THROW_INVALID_ARGUMENT("A field input must be given to use the Bounding Box scaling percentage.");
497+
}
493498
else
494499
radius = state->getValue(ProbeSize).toDouble();
495500

0 commit comments

Comments
 (0)