Skip to content

Commit 45fe281

Browse files
author
tpat
committed
-fixed movement updating one execution late.
-fixed scaling disk shrinking every movement.
1 parent eded80f commit 45fe281

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/Modules/Legacy/Visualization/ShowAndEditDipoles.cc

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ ShowAndEditDipoles::ShowAndEditDipoles()
128128
diskRadius_ = 1.0;
129129
diskDistFromCenter_ = 0.85;
130130
diskWidth_ = 0.05;
131+
widgetID_ = 0;
131132
}
132133

133134
void ShowAndEditDipoles::setStateDefaults()
@@ -183,7 +184,8 @@ void ShowAndEditDipoles::processWidgetFeedback(const ModuleFeedback& var)
183184
if (impl_->previousTransforms_[widgetIndex] != vsf.transform)
184185
{
185186
adjustPositionFromTransform(vsf.transform, widgetIndex);
186-
enqueueExecuteAgain(true);
187+
// execute();
188+
enqueueExecuteAgain(false);
187189
}
188190
}
189191
}
@@ -220,7 +222,7 @@ void ShowAndEditDipoles::adjustPositionFromTransform(const Transform& transformM
220222
case WidgetSection::DISK:
221223
{
222224
Vector newVec(newPoint-pos_);
223-
newVec /= 0.75;
225+
newVec /= diskDistFromCenter_;
224226
direction_ = Dot(newVec, direction_.normal()) * direction_.normal();
225227
break;
226228
}
@@ -261,14 +263,14 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
261263

262264
auto state = get_state();
263265
auto scale = state->getValue(ProbeScale).toDouble();
264-
auto widgetName = [](int i) { return "SAED(" + std::to_string(i) + ")"; };
266+
auto widgetName = [](int i, int id) { return "SAED(" + std::to_string(i) + ")" + std::to_string(id); };
265267
impl_->pointWidgets_.resize(0);
266268

267269
// Create glyphs
268270
impl_->pointWidgets_.push_back(boost::dynamic_pointer_cast<WidgetBase>
269271
(WidgetFactory::createSphere(
270272
*this,
271-
widgetName(WidgetSection::SPHERE),
273+
widgetName(WidgetSection::SPHERE, widgetID_),
272274
sphereRadius_ * direction_.length() * scale,
273275
deflPointCol_.toString(),
274276
pos_,
@@ -279,7 +281,7 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
279281
impl_->pointWidgets_.push_back(boost::dynamic_pointer_cast<WidgetBase>
280282
(WidgetFactory::createCylinder(
281283
*this,
282-
widgetName(WidgetSection::CYLINDER),
284+
widgetName(WidgetSection::CYLINDER, widgetID_),
283285
cylinderRadius_ * direction_.length() * scale,
284286
deflCol_.toString(),
285287
pos_,
@@ -288,7 +290,7 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
288290
impl_->pointWidgets_.push_back(boost::dynamic_pointer_cast<WidgetBase>
289291
(WidgetFactory::createCone(
290292
*this,
291-
widgetName(WidgetSection::CONE),
293+
widgetName(WidgetSection::CONE, widgetID_),
292294
coneRadius_ * direction_.length() * scale,
293295
deflCol_.toString(),
294296
center,
@@ -303,7 +305,7 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
303305
impl_->pointWidgets_.push_back(boost::dynamic_pointer_cast<WidgetBase>
304306
(WidgetFactory::createDisk(
305307
*this,
306-
widgetName(WidgetSection::DISK),
308+
widgetName(WidgetSection::DISK, widgetID_),
307309
diskRadius_ * direction_.length() * scale,
308310
resizeCol_.toString(),
309311
dp1,
@@ -312,6 +314,7 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
312314
}
313315

314316
impl_->previousTransforms_.resize(impl_->pointWidgets_.size());
317+
widgetID_++;
315318

316319
VariableList positions;
317320
for (const auto& widget : impl_->pointWidgets_)
@@ -328,6 +331,9 @@ FieldHandle ShowAndEditDipoles::GenerateOutputField()
328331
const AlgorithmParameterName ShowAndEditDipoles::Sizing("Sizing");
329332
const AlgorithmParameterName ShowAndEditDipoles::ShowLastAsVector("ShowLastAsVector");
330333
const AlgorithmParameterName ShowAndEditDipoles::ShowLines("ShowLines");
334+
const AlgorithmParameterName ShowAndEditDipoles::ProbeScale("ProbeScale");
335+
const AlgorithmParameterName ShowAndEditDipoles::PointPositions("PointPositions");
336+
const AlgorithmParameterName ShowAndEditDipoles::NumSeeds("NumSeeds");
331337

332338

333339

src/Modules/Legacy/Visualization/ShowAndEditDipoles.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ namespace SCIRun {
7070
double diskRadius_;
7171
double diskDistFromCenter_;
7272
double diskWidth_;
73+
int widgetID_;
7374

7475
Core::Datatypes::ColorRGB deflPointCol_;
7576
Core::Datatypes::ColorRGB deflCol_;

0 commit comments

Comments
 (0)