Esempio n. 1
0
        public void BuildSphere_Test()
        {
            var   center = Vector3.Zero;
            float radius = 2;
            var   geo    = GeometryBuilder.BuildSphere(center, radius);

            ObjExports.ExportMesh(geo.Positions.ToArray(), geo.Indices.ToArray(),
                                  @"D:\debug\sphere.obj");
        }
Esempio n. 2
0
        public static VisualSphereObject SphereGeo(IContextState context, ElementTag tag, Data data)
        {
            var geo = GeometryBuilder.BuildSphere(data.Center, data.Radius);

            var geoId = context.GetGeometryPool()
                        .AddGeometry(geo);

            var en = context.GetEntityManager()
                     .CreateEntity(tag)
                     .AddComponent(RenderableComponent.AsTriangleColored(SharpDX.Direct3D.PrimitiveTopology.TriangleStrip))
                     .AddComponent(TransformComponent.Identity())
                     .AddComponent(MaterialColorComponent.Create(data.Color))
                     .AddComponent(geoId)
            ;

            return(new VisualSphereObject(en.Tag));
        }
Esempio n. 3
0
        public static VisualSphereObject Create(IContextState context, ElementTag elet, Data data)
        {
            var geo = GeometryBuilder.BuildSphere(data.Center, data.Radius);

            var geoId = context.GetGeometryPool()
                        .AddGeometry(geo);

            var tag = context.GetEntityManager()
                      .CreateEntity(elet)
                      .AddComponent(SpherePointComponent.Create(data.Center, data.Radius))
                      .AddComponent(MaterialColorComponent.Create(data.Color))
                      .AddComponent(GeometryBoundsComponent.Create(AxisAlignedBox.FromSphere(data.Center, data.Radius)))
                      .AddComponent(RenderableComponent.AsPoints())
                      .AddComponent(TransformComponent.Identity())
                      .Tag;

            return(new VisualSphereObject(tag));
        }