示例#1
0
    // Static void method with same signature as "Main" is always
    // file base name:
    //
    /// <summary>
    /// VTK test Main method
    /// </summary>
    public static void vtkCommandTest(string[] args)
    {
        // Create an object to send an event:
        //
        Kitware.VTK.vtkObject sender = new Kitware.VTK.vtkObject();

        // Create an event observer:
        //
        TestObserver observer = new TestObserver();

        // Connect them:
        //
        uint observerModifiedEventTag = sender.AddObserver(
            (uint)Kitware.VTK.vtkCommand.EventIds.ModifiedEvent, observer, 0.69f);

        // Trigger the event:
        //
        sender.Modified();

        // Toggle Debug, trigger event again, then turn off Debug before objects are destroyed...
        //
        sender.SetDebug((byte)((0 == sender.GetDebug()) ? 1 : 0));
        sender.Modified();
        sender.DebugOff();

        // Disconnect them:
        //
        sender.RemoveObserver(observerModifiedEventTag);
    }
示例#2
0
 public override void Execute(
     [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.CustomMarshaler,
                                               MarshalTypeRef = typeof(Kitware.VTK.vtkObjectMarshaler))]
     Kitware.VTK.vtkObject caller, uint eventId, System.IntPtr callData)
 {
     Debug.Log("Executed!");
 }
示例#3
0
        void UserStyle_MultipleEventHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
        {
            string keysym = this.Interactor.GetKeySym();

            Kitware.VTK.vtkCommand.EventIds eid = (Kitware.VTK.vtkCommand.EventIds)e.EventId;

            switch (eid)
            {
            case Kitware.VTK.vtkCommand.EventIds.KeyPressEvent:
            case Kitware.VTK.vtkCommand.EventIds.CharEvent:
            case Kitware.VTK.vtkCommand.EventIds.KeyReleaseEvent:
                if (keysym == "f")
                {
                    // Temporarily disable the interactor, so that the built-in 'f'
                    // handler does not get called:
                    //
                    this.Interactor.Disable();

                    // Turn on the timer, so we can re-enable the interactor
                    // after the processing of this event is over (one tenth
                    // of a second later...)
                    //
                    this.timer1.Enabled = true;
                }
                break;
            }

            this.PrintEvent(sender, e);
        }
示例#4
0
    // Static void method with same signature as "Main" is always
    // file base name:
    //
    /// <summary>
    /// VTK test Main method
    /// </summary>
    public static void vtkCommandTest(string[] args)
    {
        // Create an object to send an event:
        //
        Kitware.VTK.vtkObject sender = new Kitware.VTK.vtkObject();

        // Create an event observer:
        //
        TestObserver observer = new TestObserver();

        // Connect them:
        //
        uint observerModifiedEventTag = sender.AddObserver(
          (uint) Kitware.VTK.vtkCommand.EventIds.ModifiedEvent, observer, 0.69f);

        // Trigger the event:
        //
        sender.Modified();

        // Toggle Debug, trigger event again, then turn off Debug before objects are destroyed...
        //
        sender.SetDebug((byte)((0 == sender.GetDebug()) ? 1 : 0));
        sender.Modified();
        sender.DebugOff();

        // Disconnect them:
        //
        sender.RemoveObserver(observerModifiedEventTag);
    }
示例#5
0
        void ErrorWindow_ErrorHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
        {
            string s = "unknown";

            if (e.CallData != IntPtr.Zero)
            {
                s = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(e.CallData);
            }

            System.Diagnostics.Debug.Write(System.String.Format(
                                               "ErrorWindow_ErrorHandler called: sender='{0}' e='{1}' s='{2}'", sender, e, s));
        }
示例#6
0
    private static void ErrorEvtHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
    {
        ++reportCount;
        reportMessage1 = "ErrorEvtHandler";

        System.Console.Error.WriteLine(System.String.Format(
                                           "sender: {0}", sender));
        System.Console.Error.WriteLine(System.String.Format(
                                           "e: {0}", e));

        ThrowIfNonZeroReportCount();
    }
示例#7
0
        void PrintEvent(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
        {
            int[]  pos     = this.Interactor.GetEventPosition();
            string keysym  = this.Interactor.GetKeySym();
            sbyte  keycode = this.Interactor.GetKeyCode();

            string line = String.Format("{0} ({1},{2}) ('{3}',{4}) {5} data='0x{6:x8}'{7}",
                                        Kitware.VTK.vtkCommand.GetStringFromEventId(e.EventId),
                                        pos[0], pos[1],
                                        keysym, keycode,
                                        e.Caller.GetClassName(), e.CallData.ToInt32(), System.Environment.NewLine);

            System.Diagnostics.Debug.Write(line);
            this.textEvents.AppendText(line);
        }
    /// <summary>
    /// Handler for any vtkObject event:
    /// </summary>
    public static void ObjectModified(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
    {
        ++ObjectModifiedCallCount;

        System.Console.Error.WriteLine("//----------------------------------------------------------------------------");
        System.Console.Error.WriteLine("ObjectModified");

        System.Console.Error.WriteLine("sender:");
        System.Console.Error.WriteLine(sender.ToString());

        System.Console.Error.WriteLine("e.Caller:");
        System.Console.Error.WriteLine(e.Caller.ToString());

        System.Console.Error.WriteLine("e.EventId:");
        System.Console.Error.WriteLine(e.EventId.ToString());

        System.Console.Error.WriteLine("e.CallData:");
        System.Console.Error.WriteLine(e.CallData.ToString());

        System.Console.Error.WriteLine("");
    }
示例#9
0
        /// <summary>
        /// Override vtkCommand::Execute
        /// </summary>
        public override void Execute(
            [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.CustomMarshaler,
                                                      MarshalTypeRef = typeof(Kitware.VTK.vtkObjectMarshaler))]
            Kitware.VTK.vtkObject caller, uint eventId, System.IntPtr data)
        {
            System.Console.WriteLine("");
            System.Console.WriteLine("TestObserver.Execute called...");
            System.Console.WriteLine(System.String.Format("  caller='{0}'", caller));
            System.Console.WriteLine(System.String.Format("  eventId='{0}'", eventId));
            System.Console.WriteLine(System.String.Format("  data='{0}'", data));

            Kitware.VTK.vtkObject ob = caller;
            if (ob.GetDebug() != 0)
            {
                System.Console.WriteLine("  caller Debug is ON");
            }
            else
            {
                System.Console.WriteLine("  caller Debug is OFF");
            }
            System.Console.WriteLine(System.String.Format("  caller MTime is {0}\n", ob.GetMTime()));

            System.Console.WriteLine("");
        }
示例#10
0
 void Interactor_AnyEventHandler(Kitware.VTK.vtkObject sender, Kitware.VTK.vtkObjectEventArgs e)
 {
     this.PrintEvent(sender, e);
 }