0
CompositionTarget.Render and ZoomExtents
This discussion was imported from CodePlex
Badgor wrote at 2013-11-01 19:43:
Hello,
This is probably a trivial problem, but I'm new to C# and WPF, and I've been scratching my head for some time now.
I'm using a CompositionTarget.Render, such that I can disable and re-enable some parts of the rendering (think I got this from the Points and Lines example).
Before I got all this to work, I used the Loaded += MainWindow_Loaded like in a lot of the examples. This included the ZoomExtents. A neat little feature.
I would like to know how I can incorporate this with the Compositiontarget.Render.
Some code below.
This is probably a trivial problem, but I'm new to C# and WPF, and I've been scratching my head for some time now.
I'm using a CompositionTarget.Render, such that I can disable and re-enable some parts of the rendering (think I got this from the Points and Lines example).
Before I got all this to work, I used the Loaded += MainWindow_Loaded like in a lot of the examples. This included the ZoomExtents. A neat little feature.
I would like to know how I can incorporate this with the Compositiontarget.Render.
Some code below.
public MainWindow()
{
InitializeComponent();
DataContext = this;
CompositionTarget.Rendering += this.OnCompositionTargetRendering;
}
void OnCompositionTargetRendering(object sender, EventArgs e)
{
if (ShowEdges && lines == null)
{
lines = new LinesVisual3D { Color = Colors.Red };
view.Children.Add(lines);
}
if (!ShowEdges && lines != null)
{
lines.IsRendering = false;
view.Children.Remove(lines);
lines = null;
}
if (ShowFaceNormals && faceNormals == null)
{
faceNormals = new LinesVisual3D {Color = Colors.Purple};
view.Children.Add(faceNormals);
}
if (!ShowFaceNormals && faceNormals != null)
{
faceNormals.IsRendering = false;
view.Children.Remove(faceNormals);
faceNormals = null;
}
if (ShowFaces && faces==null)
{
faces = new ModelVisual3D
{
Content = new GeometryModel3D
{
Material = Materials.Red,
BackMaterial = Materials.Blue
}
};
view.Children.Add(faces);
}
if (!ShowFaces && faces != null)
{
view.Children.Remove(faces);
faces = null;
}
if (lines != null)
{
createWireframe();
}
if (faceNormals != null)
{
createFaceNormals();
}
if (faces != null)
{
createFaces();
}
}
Customer support service by UserEcho