@@ -128,6 +128,7 @@ ShowAndEditDipoles::ShowAndEditDipoles()
128128 diskRadius_ = 1.0 ;
129129 diskDistFromCenter_ = 0.85 ;
130130 diskWidth_ = 0.05 ;
131+ widgetID_ = 0 ;
131132}
132133
133134void 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()
328331const AlgorithmParameterName ShowAndEditDipoles::Sizing (" Sizing" );
329332const AlgorithmParameterName ShowAndEditDipoles::ShowLastAsVector (" ShowLastAsVector" );
330333const 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
0 commit comments