I recently downloaded the latest code for the toolkit. I then tried out all of the demos and found that the manipulator demo does not work. All of the manipulators remain stationary. I placed a breakpoint at the OnMouseDown event and it was never reached. Can someone explain what I'm missing?
I am trying to generate a bitmap from a HelixViewport3D and have encountered a few problems.
The first problem is that I cannot find a way to render off-screen. There are a few references to this online and as far as I can see it does not have a built-in solution.
As a workaround (and not a great one) I have proceeded to render to the screen where the user can see it, with the intention of creating a bitmap from that rendered image. I now have the problem that an image exported from the content on screen (e.g. using Viewport3DHelper.SaveBitmap, or other methods) is blank if I call it immediately. I presume this is because Helix Toolkit is rendering asynchronously(??) That is how it seems to be behaving. If I plot first, and then grab the image separately by clicking a button, then it works, which suggests to me that it is a timing problem.
There is no built-in OnRendered event. Is there a way I can get notification when viewport rendering has finished? ...or (preferred) not need to have it on screen in the first place?
When I try to zoom in (middle mouse wheel) using helix toolkit viewport it shudders, then refuses to zoom in. I can zoom out, but when I try to zoom back in it fails again. If I zoom out, go behind the model and then zoom in, it works sometimes, then I can go back around the front and zoom in.
Failed to paste example code.
I use the last version of Helix. When I try to open obj files through ModelViewer in Examples, the program crashes.
In previous version of Helix the same.obj files opens correctly.
Am I doing something wrong?
I am trying to change the SurfacePlotDemo in which I want to not show a portion of the Points of the Rectangular Mesh. I tried to set the Points to Double.NaN and I can see the surface without the points but the view looks like cutted. The points that I want to exclude are excluded correctly, but the view seems to be cutted at some view angles.
If I rotate the camera the surface is shown correctly
Here is the code
public Point3D[,] CreateDataArray(Func<double, double, double> f)
var data = new Point3D[Rows, Columns];
for (int i = 0; i < Rows; i++)
for (int j = 0; j < Columns; j++)
var pt = GetPointFromIndex(i, j);
data[i, j] = new Point3D(pt.X, pt.Y, f(pt.X, pt.Y)*10);
if (i >= 0 && i < 10 && j >=0 && j < 100)
data[i, j] = new Point3D(double.NaN, double.NaN, double.NaN);
Is the only change with respect to the original example.
If I don't set any point to Double.NaN I see the surface correctly shown at any angle.
I am doing this on Windows 10 64bit, if I try on Win7 32 bit the cutting doesn't happen.
Is setting points to NaN the correct way to not create parts of the regular mesh?
Are there any instructions to avoid this cutting?
LinesVisual3D doesn't properly cat by cutting plane. In my example code:
<ht:CuttingPlaneGroup x:Name="CuttingGroup" IsEnabled="True">
<ht:Plane3D Normal="0,0,1" Position="0,0,0"/>
<ht:CubeVisual3D Center="4,4,2" SideLength="8"/>
<ht:LinesVisual3D Points="0,0,-10,0,0,22" Thickness="3" ></ht:LinesVisual3D>
When cuttingPlaneGroup is disabled it looks good:
When cuttingPlaneGroup is enabled, line is one-side-visible and has wrong size and direction:
I have a HelixViewport3D window in a WPF app, with Pan and axis coordinate features enabled. I am rendering a 'point-cloud' using PointsVisual3D. When I Pan the point-cloud around, the coordinate axis stays in the center of the view instead of moving with the point cloud, and this seems wrong. I thought that the 'Pan' operation simply translated the camera around in the current viewing plane, which would make everything in the model (including the coordinate axis symbol) move together, but clearly this is not the case.
This screenshot shows the situation: The left-hand HelixViewport3D viewport shows a point collection panned off center, while the right-hand viewport shows the original, unpanned setup.
What am I missing, and what do I need to do to make sure the coordinate symbol stays in the same relative position with respect to other model elements when panning the view?
I'm using a HelixViewport3D to display a collection of Point3D objects derived from raw magnetometer readings. Magnetometer X,Y,Z reading can vary from very small values (<< 1) to well over 5000.
When my program starts, I load a small collection of points whose radius is <= 1, as shown in Figure 1
After loading my actual magnetometer data, all points are very far off-screen (Figure2), but zooming out with the mouse wheel allows me to see them all, and rotate/pan/zoom as desired (Figure3):
I decided to try calling ZoomExtents() after loading all the magnetometer points, in order to avoid having the user panic when no points were visible immediately after loading, but this resulted in points being clipped regardless of the zoom level produced by zooming in or out with the mouse wheel (See Figure4 below). I also tried using the 'S' command to move the camera position out, but the camera position moves so slowly using this method that it was unusable for my purposes.
At the moment, I'm not quite sure how to proceed. Any idea what I'm doing wrong with the ZoomExtents() command?
Customer support service by UserEcho