public CSimpleInteraction(Inventor.Application oApplication)
		{
			
			mApplication = oApplication;
			
			//Initialize events
			mInteractionEvents = mApplication.CommandManager.CreateInteractionEvents();
			mSelectEvents = mInteractionEvents.SelectEvents;
			
			//Set event handler VB.Net Style
			mSelectEvents.OnSelect += new Inventor.SelectEventsSink_OnSelectEventHandler(this.mSelectEvents_OnSelect);
			mInteractionEvents.OnTerminate += new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.mInteractionEvents_OnTerminate);
			
			//Clear filter and set new ones if needed
			mSelectEvents.ClearSelectionFilter();
			
			//Always Disable mouse move if not needed for performances
			mSelectEvents.MouseMoveEnabled = false;
			mSelectEvents.Enabled = true;
			mSelectEvents.SingleSelectEnabled = true;
			
			//Remember to Start/Stop the interaction event
			mInteractionEvents.Start();
			
		}
Example #2
0
 private void RunSnapBack(InteractionEvents events)
 {
     if (events == item.events)
     {
         StartCoroutine(SnapBack());
     }
 }
Example #3
0
        /////////////////////////////////////////////////////////////
        // use: Initializes event handlers
        //
        /////////////////////////////////////////////////////////////
        public void Initialize()
        {
            _InteractionEvents =
                _Application.CommandManager.CreateInteractionEvents();

            _SelectEvents = _InteractionEvents.SelectEvents;
            _MouseEvents  = _InteractionEvents.MouseEvents;

            _SelectEvents.Enabled             = true;
            _SelectEvents.SingleSelectEnabled = false;

            _SelectEvents.OnPreSelect +=
                new SelectEventsSink_OnPreSelectEventHandler(
                    SelectEvents_OnPreSelect);

            _SelectEvents.OnSelect +=
                new SelectEventsSink_OnSelectEventHandler(
                    SelectEvents_OnSelect);

            _SelectEvents.OnUnSelect +=
                new SelectEventsSink_OnUnSelectEventHandler(
                    SelectEvents_OnUnSelect);

            _InteractionEvents.OnTerminate +=
                new InteractionEventsSink_OnTerminateEventHandler(
                    InteractionEvents_OnTerminate);
        }
        public MyBalloon(Inventor.Document oDoc)
        {
            if (oDoc.DocumentType == DocumentTypeEnum.kDrawingDocumentObject && InvDoc.u.referendedDoc(oDoc).DocumentType == DocumentTypeEnum.kAssemblyDocumentObject)
            {
                m_DrwDoc  = (Inventor.DrawingDocument)oDoc;
                m_AsmDoc  = (Inventor.AssemblyDocument)InvDoc.u.referendedDoc(oDoc);
                invApp    = (Inventor.Application)oDoc.Parent;
                cmdMgr    = invApp.CommandManager;
                interEvts = cmdMgr.CreateInteractionEvents();
                selEvts   = interEvts.SelectEvents;
                selEvts.AddSelectionFilter(SelectionFilterEnum.kDrawingCurveSegmentFilter);
                selEvts.SingleSelectEnabled = true;
                selEvts.OnSelect           += new SelectEventsSink_OnSelectEventHandler(selectEvts);
                mouseEvts = interEvts.MouseEvents;
                mouseEvts.MouseMoveEnabled = true;
                mouseEvts.OnMouseClick    += new MouseEventsSink_OnMouseClickEventHandler(mouseClick);
                mouseEvts.OnMouseMove     += new MouseEventsSink_OnMouseMoveEventHandler(mouseMove);
                objs = invApp.TransientObjects.CreateObjectCollection();

                interEvts.StatusBarText = "Первая точка выноски:";
                interEvts.Start();
                //dcs = (Inventor.DrawingCurveSegment)cmdMgr.Pick(SelectionFilterEnum.kDrawingCurveSegmentFilter, "Выберите компонент:");

                //m_Type = obj.GetType();
                //compOcc = (ComponentOccurrence)m_Type.GetProperty("ContainingOccurrence");

                //interEvts.InteractionGraphics;
                //if (obj.
                //    dcs.Parent.ModelGeometry.GetType() == Inventor.ObjectTypeEnum.kEdgeProxyObject)
                //{

                //}
            }
        }
Example #5
0
 private void OnDropped(InteractionEvents events)
 {
     if (playOnDrop)
     {
         HapticManager.instance.PlayClip(clip, events.ovrInputController);
     }
 }
 void StartFollowThrough(InteractionEvents events)
 {
     if (events == item.events)
     {
         StartCoroutine(RunFollowThrough());
     }
 }
Example #7
0
 void OnPickup(InteractionEvents events)
 {
     if (data.type == ShowMessageType.ShowUntilPickup)
     {
         HideMessage();
     }
 }
Example #8
0
        /////////////////////////////////////////////////////////////
        // Use: Performs interaction cleanup.
        //
        /////////////////////////////////////////////////////////////
        private void CleanUp()
        {
            if (_InteractionEvents != null)
            {
                _SelectedEntities.Clear();

                _PreSelectFilters.Clear();

                _SelectEvents.OnPreSelect -=
                    new SelectEventsSink_OnPreSelectEventHandler(
                        SelectEvents_OnPreSelect);

                _SelectEvents.OnSelect -=
                    new SelectEventsSink_OnSelectEventHandler(
                        SelectEvents_OnSelect);

                _SelectEvents.OnUnSelect -=
                    new SelectEventsSink_OnUnSelectEventHandler(
                        SelectEvents_OnUnSelect);

                _InteractionEvents.OnTerminate -=
                    new InteractionEventsSink_OnTerminateEventHandler(
                        InteractionEvents_OnTerminate);

                Marshal.ReleaseComObject(_SelectEvents);
                _SelectEvents = null;

                Marshal.ReleaseComObject(_InteractionEvents);
                _InteractionEvents = null;
            }
        }
Example #9
0
        //------------------------------------------------------------------------------


        public void Interactive_Selection(Inventor.Application application)
        {
            m_interactionEvents = application.CommandManager.CreateInteractionEvents();

            //设置提示
            m_interactionEvents.StatusBarText = "Select an cylinder face.";

            //连接到相关选择事件
            m_selectEvents = m_interactionEvents.SelectEvents;

            //清除过滤器并重新定义圆柱面可选择
            m_selectEvents.ClearSelectionFilter();
            m_selectEvents.AddSelectionFilter(SelectionFilterEnum.kPartFaceCylindricalFilter);

            //单个选择使能
            m_selectEvents.Enabled             = true;
            m_selectEvents.SingleSelectEnabled = true;

            m_selectEvents.MouseMoveEnabled = false;

            //设置委托
            m_Select_OnSelect_Delegate         = new Inventor.SelectEventsSink_OnSelectEventHandler(this.m_SelectEvents_OnSelect);
            m_selectEvents.OnSelect           += m_Select_OnSelect_Delegate;
            m_interaction_OnTerminate_Delegate = new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.m_InteractionEvent_Onterminate);
            m_interactionEvents.OnTerminate   += m_interaction_OnTerminate_Delegate;

            //启动选择进程
            m_interactionEvents.Start();
        }
 /// <summary>
 /// Dependent type names of this entity
 /// </summary>
 public void DeleteChildren(DatabaseEntities dbContext)
 {
     foreach (var x in InteractionEvents.ToList())
     {
         x.DeleteFull(dbContext);
     }
 }
Example #11
0
    protected void Start()
    {
        events    = GetComponent <InteractionEvents>();
        rb        = GetComponent <Rigidbody>();
        colliders = GetComponentsInChildren <Collider>();

        StartCoroutine(LoadBehaviours());
    }
Example #12
0
 void SwitchOn(InteractionEvents events)
 {
     if (events == item.events)
     {
         isOn          = true;
         velocityQueue = new Queue <Vector3>();
     }
 }
Example #13
0
        public void CleanUp()
        {
            m_selectEvents.OnSelect         -= new Inventor.SelectEventsSink_OnSelectEventHandler(this.m_SelectEvents_OnSelect);
            m_interactionEvents.OnTerminate -= new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.m_InteractionEvent_Onterminate);

            m_selectEvents      = null;
            m_interactionEvents = null;
        }
Example #14
0
        public Interaction()
        {
            m_interactionTypes = new System.Collections.ArrayList();

            m_interactionEvents = null;
            m_selectEvents      = null;
            m_mouseEvents       = null;
            m_triadEvents       = null;
        }
Example #15
0
        public void InteractionEventsSink_OnTerminateEventHandler()
        {
            //�ͷ�ȫ������
            select = null;
            interaction = null;

            //ж�ش���
            this.Hide();
        }
Example #16
0
        public void CleanUp()
        {
            //Remove handlers
            mSelectEvents.OnSelect         -= new Inventor.SelectEventsSink_OnSelectEventHandler(this.mSelectEvents_OnSelect);
            mInteractionEvents.OnTerminate -= new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.mInteractionEvents_OnTerminate);

            mSelectEvents      = null;
            mInteractionEvents = null;
        }
Example #17
0
        private void cmdCancel_Click(object sender, EventArgs e)
        {
            //ֹͣѡ���ͷ�ȫ������
            interaction.Stop();
            select = null;
            interaction = null;

            //ж�ش���
            this.Hide();
        }
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (InteractionEvents.Any())
            {
                dependentObjects.Add(typeof(InteractionEvent).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
Example #19
0
 private void m_InteractionEvents_OnTerminate()
 {
     m_InteractionEvents.InteractionGraphics.PreviewClientGraphics.Delete();
     m_inventorApplication.ActiveView.Update();
     m_flagMouseDown = false;
     m_InteractionEvents.Stop();
     m_MouseEvents       = null;
     m_SelectEvents      = null;
     m_InteractionEvents = null;
 }
Example #20
0
        /////////////////////////////////////////////////////////////
        // Constructor
        //
        /////////////////////////////////////////////////////////////
        public AdnInteractionManager(Inventor.Application Application)
        {
            _Application = Application;

            _InteractionEvents = null;

            _SelectedEntities = new List <System.Object>();

            _PreSelectFilters = new List <ObjectTypeEnum>();
        }
Example #21
0
        public void StopInteraction()
        {
            //terminate interaction events
            m_interaction.StopInteraction();

            //m_interaction.Release();
            m_interaction = null;

            m_interactionEvents = null;
        }
Example #22
0
        /// <summary>
        /// Disables interaction events with Inventor.
        /// </summary>
        public void DisableInteractionEvents()
        {
            InteractionEvents.Stop();
            Program.ASSEMBLY_DOCUMENT.SelectSet.Clear();

            inventorSelectButton.Text    = "Select in Inventor";
            addSelectionButton.Enabled   = false;
            inventorSelectButton.Enabled = true;

            InteractionEnabled = false;
        }
Example #23
0
		public void CleanUp()
		{
			
			//Remove handlers
			mSelectEvents.OnSelect -= new Inventor.SelectEventsSink_OnSelectEventHandler(this.mSelectEvents_OnSelect);
			mInteractionEvents.OnTerminate -= new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.mInteractionEvents_OnTerminate);
			
			mSelectEvents = null;
			mInteractionEvents = null;
			
		}
Example #24
0
        public void selOp(ref List <Edge> edgeCmp)
        {
            CommandManager cmdMgr = Macros.StandardAddInServer.m_inventorApplication.CommandManager;

            //input = cmdMgr.UserInputEvents;
            try
            {
                intEvts = cmdMgr.CreateInteractionEvents();
                intEvts.InteractionDisabled = false;
                sel = intEvts.SelectEvents;
                sel.WindowSelectEnabled = true;
                sel.AddSelectionFilter(SelectionFilterEnum.kPartEdgeCircularFilter);
                sel.OnSelect   += new SelectEventsSink_OnSelectEventHandler(select);
                key             = intEvts.KeyboardEvents;
                key.OnKeyPress += new KeyboardEventsSink_OnKeyPressEventHandler(keyOp);
                intEvts.Start();
                intEvts.StatusBarText = "Выберите отверстия:";
                //input.OnSelect += new UserInputEventsSink_OnSelectEventHandler(select);
                //face = (Face)cmdMgr.Pick(SelectionFilterEnum.kPartFaceFilter, "Выберите поверхность:");

                flag = true;
                while (flag)
                {
                    Macros.StandardAddInServer.m_inventorApplication.UserInterfaceManager.DoEvents();
                }

                for (int i = 0; i < sel.SelectedEntities.Count; i++)
                {
                    try
                    {
                        Edge          ed = (Edge)sel.SelectedEntities[i + 1];
                        Inventor.Face f  = (ed.Faces[1].SurfaceType == SurfaceTypeEnum.kCylinderSurface) ? ed.Faces[1] : ed.Faces[2];
                        edgeCmp.Add(ed);
                        //ed = (f.Edges[1].Equals(ed)) ? f.Edges[2] : f.Edges[1];
                        //edgeCmp1.Add(ed);
                    }
                    catch (Exception) { }
                }

                intEvts.Stop();

                sel.OnSelect   -= new SelectEventsSink_OnSelectEventHandler(select);
                key.OnKeyPress -= new KeyboardEventsSink_OnKeyPressEventHandler(keyOp);
                sel             = null;
                key             = null;
                intEvts         = null;
            }
            catch (Exception)
            {
                sel     = null;
                key     = null;
                intEvts = null;
            }
        }
Example #25
0
        private void stop_selection()
        {
            m_interaction.SelectEvents.OnSelect -= new Inventor.SelectEventsSink_OnSelectEventHandler(this.SelectEvents_OnSelect);
            m_interaction.OnTerminate           -= new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.M_interaction_OnTerminate);
            m_interaction.Stop();
            m_interaction = null;

            m_dialog.FormClosed -= M_dialog_FormClosed;
            m_form_state         = m_dialog.getState();
            m_dialog.Close();
            m_dialog = null;
        }
Example #26
0
        public void StopInteraction()
        {
            //disconnect interaction events sink
            if (m_interactionEvents != null)
            {
                m_interactionEvents.OnTerminate -= m_interaction_OnTerminate_Delegate;

                m_interactionEvents.Stop();

                m_interactionEvents = null;
            }
        }
Example #27
0
    void ApplyAverageVelocity(InteractionEvents events)
    {
        int     frames          = velocityQueue.Count;
        Vector3 averageVelocity = new Vector3(0, 0, 0);

        while (velocityQueue.Count > 0)
        {
            averageVelocity += velocityQueue.Dequeue();
        }
        Vector3 finalVelocity = averageVelocity * (1 / (float)frames);

        item.rb.velocity = finalVelocity;
    }
Example #28
0
        public SelectEventsLib(Application inventorApp,
                               InteractionEvents interactionEvents = null)
        {
            invApp = inventorApp;

            if (interactionEvents == null)
            {
                return;
            }
            localInteractionEvents = interactionEvents;
            selectEvents           = interactionEvents.SelectEvents;
            Activate();
        }
    void SetControllerRigidbody(InteractionEvents events)
    {
        if (events == item.events)
        {
#if OCULUS
            controllerRB = item.GetComponent <OVRGrabbable>().grabbedRigidbody;
#endif //OCULUS
            if (controllerRB == null)
            {
                Debug.LogWarning("Didn't get the Rigidbody from the grabber!");
            }
        }
    }
        public KeyboardEventsLib(Application inventorApp,
                                 InteractionEvents interactionEvents = null)
        {
            invApp = inventorApp;

            if (interactionEvents == null)
            {
                return;
            }
            localInteractionEvents = interactionEvents;
            keyboardEvents         = interactionEvents.KeyboardEvents;
            Activate();
        }
        public MeasureEventsLib(Application inventorApp,
                                InteractionEvents interactionEvents)
        {
            invApp = inventorApp;

            if (interactionEvents == null)
            {
                return;
            }
            localInteractionEvents = interactionEvents;
            measureEvents          = interactionEvents.MeasureEvents;
            Activate();
        }
Example #32
0
 private void LoadInventor()
 {
     try
     {
         InventorInstance   = (Application)Marshal.GetActiveObject("Inventor.Application");
         _interactionEvents = null;
         loaded             = true;
     }
     catch (COMException e)
     {
         throw new COMException("Couldn't load Inventor instance", e);
     }
 }
Example #33
0
        public TriadEventsLib(Application inventorApp,
                              InteractionEvents interactionEvents = null)
        {
            invApp = inventorApp;

            if (interactionEvents == null)
            {
                return;
            }
            localInteractionEvents = interactionEvents;
            triadEvents            = interactionEvents.TriadEvents;
            Activate();
        }
Example #34
0
        /// <summary>
        /// GraphicsData constructor for Interaction graphics
        /// </summary>
        /// <returns>CGraphics</returns>
        public CGraphics(InteractionEvents InteractionEvents, IntActionGraphicsModeEnum mode)
        {
            _graphicsData = InteractionEvents.InteractionGraphics.GraphicsDataSets;

            switch (mode)
            {
            case IntActionGraphicsModeEnum.kOverlayGraphics:
                _graphics = InteractionEvents.InteractionGraphics.OverlayClientGraphics;
                break;

            case IntActionGraphicsModeEnum.kPreviewGraphics:
                _graphics = InteractionEvents.InteractionGraphics.PreviewClientGraphics;
                break;

            default:
                break;
            }
        }
Example #35
0
        void DoDemo()
        {
            Inventor.Application InvApp = AdnInventorUtilities.InvApplication;

            //Create new interaction event
            _interactionEvents = InvApp.CommandManager.CreateInteractionEvents();

            //Store mouse events
            _mouseEvents = _interactionEvents.MouseEvents;

            //Enable mouse move. This is disabled by default for performance reasons
            _mouseEvents.MouseMoveEnabled = true;

            //Listen to OnMouseMove event
            _mouseEvents.OnMouseMove +=
                new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove);

            _interactionEvents.StatusBarText = "Select triangle vertex: ";

            //Retrieve InteractionGraphics
            InteractionGraphics ig = _interactionEvents.InteractionGraphics;

            //Create new node
            GraphicsNode node = ig.OverlayClientGraphics.AddNode(1);

            //Add Triangle primitive
            _triangleGraph = node.AddTriangleGraphics();

            //Set up coordinates
            GraphicsCoordinateSet coordSet = ig.GraphicsDataSets.CreateCoordinateSet(1);

            double[] coords = new double[]
            {
                0.0, 0.0, 0.0, //vertex 1
                5.0, 0.0, 0.0, //vertex 2
                2.5, 5.0, 0.0  //vertex 3
            };

            coordSet.PutCoordinates(ref coords);

            _triangleGraph.CoordinateSet = coordSet;

            _interactionEvents.Start();
        }
Example #36
0
        private void frmSelection_Load(object sender, EventArgs e)
        {
            //�����µ�InteractionEvents����
            interaction = ThisApplication.CommandManager.CreateInteractionEvents();

            //������ʾ
            interaction.StatusBarText = "Select an edge.";

            //���ӵ���ص�ѡ���¼�
            select = interaction.SelectEvents;

            //�������е�����߶�����ѡ��
            select.AddSelectionFilter(SelectionFilterEnum.kPartEdgeFilter);

            //���õ�һѡ��
            select.SingleSelectEnabled = true;

            //��ʼѡ�����
            interaction.Start();

            //�¼���Ӧ
            select.OnSelect += new SelectEventsSink_OnSelectEventHandler(select_OnSelect);
            select.OnPreSelect += new SelectEventsSink_OnPreSelectEventHandler(select_OnPreSelect);
        }
        //////////////////////////////////////////////////////////////////////////////////////
        // Use: AdnGraphicsData constructor for Interaction graphics 
        //
        //////////////////////////////////////////////////////////////////////////////////////
        public AdnGraphics(
            InteractionEvents InteractionEvents, 
            AdnInteractionGraphicsModeEnum mode)
        {
            _graphicsData = InteractionEvents.InteractionGraphics.GraphicsDataSets;

            switch(mode)
            {
                case AdnInteractionGraphicsModeEnum.kOverlayGraphics:
                    _graphics = InteractionEvents.InteractionGraphics.OverlayClientGraphics;
                    break;
                case AdnInteractionGraphicsModeEnum.kPreviewGraphics:
                    _graphics = InteractionEvents.InteractionGraphics.PreviewClientGraphics;
                    break;
                default:
                    break;
            }
        }
 public void DeleteGraphics(InteractionEvents interactionEvents, bool deleteData)
 {
     AdnGraphics data = new AdnGraphics(interactionEvents, InteractionGraphicsMode);
     data.Delete(deleteData);
 }
        public void SetGraphicsSource(InteractionEvents interactionEvents)
        {
            _workingInteraction = interactionEvents;

            _mode = AdnGraphicModeEnum.kInteractionGraphics;
        }
        /////////////////////////////////////////////////////////////
        // use: Initializes event handlers
        //
        /////////////////////////////////////////////////////////////
        public void Initialize()
        {
            _InteractionEvents =
               _Application.CommandManager.CreateInteractionEvents();

            _SelectEvents = _InteractionEvents.SelectEvents;
            _MouseEvents = _InteractionEvents.MouseEvents;

            _SelectEvents.Enabled = true;
            _SelectEvents.SingleSelectEnabled = false;

            _SelectEvents.OnPreSelect +=
                new SelectEventsSink_OnPreSelectEventHandler(
                    SelectEvents_OnPreSelect);

            _SelectEvents.OnSelect +=
                new SelectEventsSink_OnSelectEventHandler(
                    SelectEvents_OnSelect);

            _SelectEvents.OnUnSelect +=
                new SelectEventsSink_OnUnSelectEventHandler(
                    SelectEvents_OnUnSelect);

            _InteractionEvents.OnTerminate +=
                new InteractionEventsSink_OnTerminateEventHandler(
                    InteractionEvents_OnTerminate);
        }
        /////////////////////////////////////////////////////////////
        // Use: Performs interaction cleanup.
        //
        /////////////////////////////////////////////////////////////
        private void CleanUp()
        {
            if (_InteractionEvents != null)
            {
                _SelectedEntities.Clear();

                _PreSelectFilters.Clear();

                _SelectEvents.OnPreSelect -=
                   new SelectEventsSink_OnPreSelectEventHandler(
                       SelectEvents_OnPreSelect);

                _SelectEvents.OnSelect -=
                    new SelectEventsSink_OnSelectEventHandler(
                        SelectEvents_OnSelect);

                _SelectEvents.OnUnSelect -=
                   new SelectEventsSink_OnUnSelectEventHandler(
                       SelectEvents_OnUnSelect);

                _InteractionEvents.OnTerminate -=
                    new InteractionEventsSink_OnTerminateEventHandler(
                        InteractionEvents_OnTerminate);

                Marshal.ReleaseComObject(_SelectEvents);
                _SelectEvents = null;

                Marshal.ReleaseComObject(_InteractionEvents);
                _InteractionEvents = null;
            }
        }
        /////////////////////////////////////////////////////////////
        // Constructor
        //
        /////////////////////////////////////////////////////////////
        public AdnInteractionManager(Inventor.Application Application)
        {
            _Application = Application;

            _InteractionEvents = null;

            _SelectedEntities = new List<System.Object>();

            _PreSelectFilters = new List<ObjectTypeEnum>();
        }