public static Geometry3D GetProbePointModel(Point3D position, double radius)
        {
            var builder = new MeshBuilder();

            builder.AddSphere(position.ToVector3(), radius);

            return(builder.ToMesh());
        }
Exemple #2
0
        private IMachineElementViewModel CreateInjectElement(Point3D position, Vector3D direction)
        {
            var builder = new HelixToolkit.Wpf.SharpDX.MeshBuilder();

            builder.AddCone((position + direction * 20.0).ToVector3(),
                            position.ToVector3(),
                            4.0,
                            true,
                            20);
            return(new InserterObjectViewModel()
            {
                Geometry = builder.ToMesh(), Material = Material, Visible = true
            });
        }
Exemple #3
0
        private IProcedural GenerateMesh()
        {
            //GenerateMaterialProperties();

            //GenerateCubeFaces();

            //while (Material == null) { Debug.WriteLine($"Waiting for material - {Id}"); }

            //Debug.WriteLine($"Got material - {Id}");

            HelixToolkit.Wpf.SharpDX.MeshBuilder b = new HelixToolkit.Wpf.SharpDX.MeshBuilder();

            foreach (var f in Faces)
            {
                var face = f.Value;
                b.AddCubeFace(face.CubeCenter, face.Normal, face.Up, face.Distance, face.Width, face.Height);
            }

            var m = new MeshGeometryModel3D
            {
                Geometry = b.ToMesh(),
                CullMode = SharpDX.Direct3D11.CullMode.Back
            };

            var scale     = new ScaleTransform3D(1, 1, 1);
            var translate = new TranslateTransform3D(0, 0, 0);
            var group     = new Transform3DGroup();

            group.Children.Add(scale);
            group.Children.Add(translate);
            m.Transform = group;

            m.Material = PhysicalMaterial;
            if (PhysicalMaterial.DiffuseColor.Alpha < 1)
            {
                m.IsTransparent = true;
            }

            Mesh = m;

            return(this);
        }