2013-09-03 2 views
1

Я пытаюсь использовать ILNumerics для визуализации некоторых поверхностей.Время выполнения для пользователей ILPanel и ILCamera

  1. Как я могу получить доступ к детям камеры во время выполнения. Например, что именно меняется, когда я использую мышь для поворота поверхности?
  2. Другая проблема заключается в том, что, когда я использую мышь, чтобы повернуть график, я больше не контролирую его. например, я добавил камеру и поверхность в сцену ILPanel. когда я нажимаю кнопку, положение камеры изменяется, как указано ниже, однако, если я поверну поверхность и затем нажмите кнопку, ничего не произойдет.
  3. Другое дело, как я могу заменить поверхность, добавленную в камеру другой поверхностью?

    int pos = 200; 
    private void button1_Click(object sender, EventArgs e) 
    { 
        pos -= 10; 
        var cam = ilPanel1.Scene.Camera; 
        cam.Reset(); 
        cam.Position = new Vector3(15, -200, pos); 
        cam.LookAt = new Vector3(15, 15, 65); 
        ilPanel1.Refresh(); 
    } 
    

ответ

1
  1. Когда сюжет куб дается любому водителю, что водитель будет поддерживать свою собственную копию (!) В plotcube. Мышь взаимодействует только с копией. Копия выполняется эффективно без каких-либо копий буферов и постоянно синхронизируется с ее оригиналом на каждом кадре рендеринга. Если вы хотите проверить параметр сцены С результатом взаимодействия, скопируйте драйверы с помощью panel.GetCurrentScene().

  2. Изменения в мировой арене могут противоречить изменениям, внесенным в взаимодействие. Однако, я думаю, глобальные изменения должны стать приоритетными. Если они не синхронизированы с копией драйвера, может возникнуть ошибка. Мы рассмотрим это.

  3. Свойство ILGroup.Children позволяет получить доступ к любому ребенку в группе. Используйте его для удаления объекта. Используйте общий метод Add() для добавления новых объектов в группу.