public void SurfaceCreated(WinFormsD3DControl obj) { if (Scene != null) { Scene.ReCreate(obj); return; } Scene = new WFScene(host, overlay, context, notificator); //Scene.Init(obj); //Scene.InitContext(); }
public LoadedVisualObject ImportFromFiles(string file, WFScene scene) { var f = new FileInfo(file); Import(file, out var meshes, out var material, out var box); var center = box.Center; var loaded = LoadedVisualObject.Create(scene.Context, meshes, material, f.Name); //loaded.Transform(scene.Context.GetEntityManager(), Matrix4x4.CreateTranslation(Vector3.Zero - center)); return(loaded); }
public void Export(LoadedVisualObject loaded, FileInfo path, WFScene scene) { var context = scene.Context; var manager = context.GetComponentManager(); switch (path.Extension.ToLower()) { case ".obj": var meshes = new List <IFileGeometry3D>(); foreach (var tag in loaded.Tags) { var matrix = manager.GetComponent <TransformComponent>(tag).MatrixWorld; var geo = loaded.GetMesh(context, tag).OriginGeometry; geo.ApplyMatrix(ref matrix); meshes.Add(geo); } G3Writers.WriteObj(path, meshes); break; } }
public void Reload(FileInfo f, LoadedVisualObject visual, WFScene scene) { Import(f.FullName, out var meshes, out var material, out var box); visual.ReCreate(scene.Context, meshes, material, f.Name); }