i new wpf, , trying build 3d viewport helix toolkit. viewport, grid etc show expected, , add simple tube. now, want use new function update transform of tube, based on user input, cannot work.
where going wrong here?
thank you.
.xaml
<usercontrol x:class="wpfusercontrol.usercontrol1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:helixtoolkit="clr-namespace:helixtoolkit.wpf;assembly=helixtoolkit.wpf" mc:ignorable="d" d:designheight="480" d:designwidth="640"> <grid> <!-- helixviewport3d supports camera manipulation, , can used viewport3d --> <helixtoolkit:helixviewport3d zoomextentswhenloaded="true" name="mainviewport"> <helixtoolkit:sunlight/> <modelvisual3d content="{binding model}"/> <helixtoolkit:gridlinesvisual3d width="40" length="40" minordistance="1" majordistance="1" thickness="0.01"/> </helixtoolkit:helixviewport3d> </grid> </usercontrol>
.xaml.cs
using helixtoolkit.wpf; namespace wpfusercontrol { /// <summary> /// interaction logic usercontrol1.xaml /// </summary> public partial class usercontrol1 : usercontrol { public tubevisual3d tube1 = new tubevisual3d(); public usercontrol1() { initializecomponent(); datacontext = this; setup(); } public void settranslation(double xx) //this called external app. { console.write(xx); //this prints expected. //translatetransform3d trans = new translatetransform3d(new vector3d(xx, 0, 0)); // tube1.transform = trans; //this not work. } public void setup() { int tubediameter = 5; tube1.path = new point3dcollection(); tube1.path.add(new point3d(-15, 0, 0)); tube1.path.add(new point3d(15, 0, 0)); tube1.diameter = tubediameter; tube1.fill = brushes.red; tube1.ispathclosed = false; mainviewport.children.add(tube1); } } }
Comments
Post a Comment