/// <summary>Create and execute a procedure call for this procedure</summary> public HDevProcedureCall Execute() { HDevProcedureCall hdevProcedureCall = new HDevProcedureCall(this); hdevProcedureCall.Execute(); return(hdevProcedureCall); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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); }
/// <summary>Executes the procedure</summary> public void Execute() { HDevProcedureCall.HCkE(EngineAPI.ExecuteProcedureCall(this.call)); GC.KeepAlive((object)this); }
/// <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; }
/// <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); }