Esempio n. 1
0
        /// <summary>Create and execute a procedure call for this procedure</summary>
        public HDevProcedureCall Execute()
        {
            HDevProcedureCall hdevProcedureCall = new HDevProcedureCall(this);

            hdevProcedureCall.Execute();
            return(hdevProcedureCall);
        }
Esempio n. 2
0
        /// <summary>Gets the object of an iconic output parameter</summary>
        public HObject GetOutputIconicParamObject(string name)
        {
            IntPtr key;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputIconicParamObject(this.call, name, out key));
            GC.KeepAlive((object)this);
            return(new HObject(key));
        }
Esempio n. 3
0
        /// <summary>Gets the value of an output control parameter</summary>
        public HObjectVector GetOutputIconicParamVector(string name)
        {
            IntPtr vector;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputIconicParamVector(this.call, name, out vector));
            GC.KeepAlive((object)this);
            return(EngineAPI.GetAndDestroyObjectVector(vector));
        }
Esempio n. 4
0
        /// <summary>Gets the value of an output control parameter</summary>
        public HTupleVector GetOutputCtrlParamVector(int index)
        {
            IntPtr vector;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputCtrlParamVector(this.call, index, out vector));
            GC.KeepAlive((object)this);
            return(EngineAPI.GetAndDestroyTupleVector(vector));
        }
Esempio n. 5
0
        /// <summary>Gets the value of an output control parameter</summary>
        public HTuple GetOutputCtrlParamTuple(string name)
        {
            IntPtr tuple;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputCtrlParamTuple(this.call, name, out tuple));
            GC.KeepAlive((object)this);
            return(HalconAPI.LoadTuple(tuple));
        }
Esempio n. 6
0
        /// <summary>Sets input control parameter for procedure call</summary>
        public void SetInputCtrlParamVector(string name, HTupleVector vector)
        {
            IntPtr vectorHandle;

            HDevProcedureCall.HCkE(EngineAPI.CreateTupleVector(vector, out vectorHandle));
            HDevProcedureCall.HCkE(EngineAPI.SetInputCtrlParamVector(this.call, name, vectorHandle));
            GC.KeepAlive((object)this);
            HDevProcedureCall.HCkE(EngineAPI.DestroyTupleVector(vectorHandle));
        }
Esempio n. 7
0
        /// <summary>Gets the xld contour of an iconic output parameter</summary>
        public HXLD GetOutputIconicParamXld(string name)
        {
            IntPtr key;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputIconicParamObject(this.call, name, out key));
            GC.KeepAlive((object)this);
            EngineAPI.AssertObjectClass(key, "xld", "main");
            return(new HXLD(key));
        }
Esempio n. 8
0
        /// <summary>Gets the region of an iconic output parameter</summary>
        public HRegion GetOutputIconicParamRegion(int index)
        {
            IntPtr key;

            HDevProcedureCall.HCkE(EngineAPI.GetOutputIconicParamObject(this.call, index, out key));
            GC.KeepAlive((object)this);
            EngineAPI.AssertObjectClass(key, "region", "main");
            return(new HRegion(key));
        }
Esempio n. 9
0
        /// <summary>Sets input control parameter for procedure call</summary>
        public void SetInputIconicParamVector(int index, HObjectVector vector)
        {
            IntPtr vectorHandle;

            HDevProcedureCall.HCkE(EngineAPI.CreateObjectVector(vector, out vectorHandle));
            HDevProcedureCall.HCkE(EngineAPI.SetInputIconicParamVector(this.call, index, vectorHandle));
            GC.KeepAlive((object)this);
            HDevProcedureCall.HCkE(EngineAPI.DestroyObjectVector(vectorHandle));
        }
Esempio n. 10
0
        /// <summary>Sets input control parameter for procedure call</summary>
        public void SetInputCtrlParamTuple(string name, HTuple tuple)
        {
            IntPtr tuple1;

            HDevProcedureCall.HCkE(HalconAPI.CreateTuple(out tuple1));
            HalconAPI.StoreTuple(tuple1, tuple);
            HDevProcedureCall.HCkE(EngineAPI.SetInputCtrlParamTuple(this.call, name, tuple1));
            GC.KeepAlive((object)this);
            HDevProcedureCall.HCkE(HalconAPI.DestroyTuple(tuple1));
        }
Esempio n. 11
0
 /// <summary>Stops execution on first line of procedure.</summary>
 /// <remarks>
 ///   This is intended for debugging purposes when you wish to step
 ///   through a specific procedure call. It only has an effect when a
 ///   debug server is running and it will only stop once.
 /// </remarks>
 public void SetWaitForDebugConnection(bool wait_once)
 {
     HDevProcedureCall.HCkE(EngineAPI.SetWaitForDebugConnectionProcedureCall(this.call, wait_once));
     GC.KeepAlive((object)this);
 }
Esempio n. 12
0
 /// <summary>Executes the procedure</summary>
 public void Execute()
 {
     HDevProcedureCall.HCkE(EngineAPI.ExecuteProcedureCall(this.call));
     GC.KeepAlive((object)this);
 }
Esempio n. 13
0
 /// <summary>Creates a procedure call for the specified procedure</summary>
 public HDevProcedureCall(HDevProcedure procedure)
 {
     HDevProcedureCall.HCkE(EngineAPI.CreateProcedureCall(procedure.Handle, out this.call));
     GC.KeepAlive((object)this);
     this.procedure = procedure;
 }
Esempio n. 14
0
 /// <summary>Sets iconic input object for procedure call</summary>
 public void SetInputIconicParamObject(string name, HObject iconic)
 {
     HDevProcedureCall.HCkE(EngineAPI.SetInputIconicParamObject(this.call, name, iconic.Key));
     GC.KeepAlive((object)iconic);
     GC.KeepAlive((object)this);
 }