Example #1
0
        private static void OnIsVisibleChanged(Object sender, DependencyPropertyChangedEventArgs e)
        {
            PrimitiveVisual3D p = (PrimitiveVisual3D)sender;

            bool visible = (bool)e.NewValue;

            SetIsVisible(p.Children, visible);
        }
Example #2
0
        protected static void OnBackMaterialChanged(Object sender, DependencyPropertyChangedEventArgs e)
        {
            PrimitiveVisual3D p = (PrimitiveVisual3D)sender;

            GeometryModel3D geometry = (p.Content as GeometryModel3D);

            if (geometry != null)
            {
                geometry.BackMaterial = (Material)e.NewValue;
            }
        }
Example #3
0
        private void SetMaterial(ModelVisual3D visual, bool frontMaterial, bool backMaterial)
        {
            if (GetMaterialShared(visual))
            {
                if (visual is PrimitiveVisual3D)
                {
                    PrimitiveVisual3D primitive = (PrimitiveVisual3D)visual;

                    if (frontMaterial)
                    {
                        if (this.Material != null)
                        {
                            primitive.Material = this.Material.CloneCurrentValue();
                        }
                        else
                        {
                            primitive.Material = null;
                        }
                    }

                    if (backMaterial)
                    {
                        if (this.BackMaterial != null)
                        {
                            primitive.BackMaterial = this.BackMaterial.CloneCurrentValue();
                        }
                        else
                        {
                            primitive.BackMaterial = null;
                        }
                    }
                }
                else if (visual is ScreenSpaceLines3D)
                {
                    if (frontMaterial)
                    {
                        if (GetMaterialShared(visual))
                        {
                            SetColor(new ModelVisual3D[] { visual }, GetDiffuseMaterial(this.Material));
                        }
                    }
                }

                foreach (Visual3D child in visual.Children)
                {
                    if (child is ModelVisual3D)
                    {
                        SetMaterial((ModelVisual3D)child, frontMaterial, backMaterial);
                    }
                }
            }
        }
Example #4
0
        private static void OnIsVisibleChanged(Object sender, DependencyPropertyChangedEventArgs e)
        {
            PrimitiveVisual3D p = (PrimitiveVisual3D)sender;

            bool visible = (bool)e.NewValue;

            if (visible)
            {
                p.Content = p._content;
            }
            else
            {
                p.Content = null;
            }
        }