public void Execute(ref RemoteParamData paramsValue, ProcessCallInfo callInfo) { _script.Process.ProcessCallInfo(callInfo); try { RemoteParam[] localParamsValue = new RemoteParam[paramsValue.Params == null ? 0 : paramsValue.Params.Length]; for (int index = 0; index < (paramsValue.Params == null ? 0 : paramsValue.Params.Length); index++) { localParamsValue[index].Name = paramsValue.Params[index].Name; localParamsValue[index].TypeName = paramsValue.Params[index].TypeName; localParamsValue[index].Modifier = paramsValue.Params[index].Modifier; } if (IsExpression()) { PlanDescriptor planDescriptor; IRemoteServerExpressionPlan plan = PrepareExpression(localParamsValue, out planDescriptor); try { ProgramStatistics programStatistics; plan.Close(plan.Open(ref paramsValue, out programStatistics, _script.Process.EmptyCallInfo()), _script.Process.EmptyCallInfo()); // TODO: Provide a mechanism for determining whether or not an expression should be evaluated or opened through the remoting CLI. } finally { UnprepareExpression(plan); } } else { PlanDescriptor planDescriptor; IRemoteServerStatementPlan plan = PrepareStatement(localParamsValue, out planDescriptor); try { ProgramStatistics programStatistics; plan.Execute(ref paramsValue, out programStatistics, callInfo); } finally { UnprepareStatement(plan); } } } catch (Exception E) { throw WrapException(E); } }
/// 立即设置新的摄像机控制模式。 public void Jump(CTRL_MODE eMode, object pParam_) { m_eCtrlMode = eMode; if (CTRL_MODE.REMOTE == eMode) { RemoteParam pParam = (RemoteParam)pParam_; m_nLng = pParam.m_nLng; m_nLat = pParam.m_nLat; m_nDistance = pParam.m_nHeight; m_nPitch = 90.0f; m_nYaw = 0.0f; m_mTarget = Vector3.zero; } else if (CTRL_MODE.EAGLE == eMode) { EagleParam pParam = (EagleParam)pParam_; m_nLng = pParam.m_nLng; m_nLat = pParam.m_nLat; m_nDistance = pParam.m_nDistance; m_nPitch = pParam.m_nPitch; m_nYaw = pParam.m_nYaw; m_mTarget = Vector3.zero; } else if (CTRL_MODE.PANORAMA == eMode) { PanoramaParam pParam = (PanoramaParam)pParam_; m_nLng = pParam.m_nLng; m_nLat = pParam.m_nLat; m_nDistance = pParam.m_nDistance; m_nPitch = pParam.m_nPitch; m_nYaw = pParam.m_nYaw; m_mTarget = pParam.m_mTarget; } else if (CTRL_MODE.WANDER == eMode) { WanderParam pParam = (WanderParam)pParam_; m_nLng = pParam.m_nLng; m_nLat = pParam.m_nLat; m_nDistance = 0.0f; m_nPitch = pParam.m_nPitch; m_nYaw = pParam.m_nYaw; //m_mTarget = pParam.m_mTarget; } }
// Parameter Translation public RemoteParam[] DataParamsToRemoteParams(DataParams paramsValue) { int paramCount = paramsValue != null ? paramsValue.Count : 0; if (paramCount > 0) { RemoteParam[] localParamsValue = new RemoteParam[paramCount]; for (int index = 0; index < paramCount; index++) { localParamsValue[index].Name = paramsValue[index].Name; localParamsValue[index].TypeName = paramsValue[index].DataType.Name; localParamsValue[index].Modifier = ModifierToRemoteModifier(paramsValue[index].Modifier); } return(localParamsValue); } else { return(null); } }
public bool AddPlug5Configure(string id, string AreaIds, string ExcludeAreaIds, int priority, string RemoteSections) { JavaScriptSerializer jss = new JavaScriptSerializer(); var Sections = jss.Deserialize <List <RemoteSection> >(RemoteSections); var areaids = AreaIds.Split(new char[] { ',', ',' }); var eareaids = ExcludeAreaIds.Split(new char[] { ',', ',' }); RemoteParam param = new RemoteParam { AreaIds = areaids.ToList().Select(x => int.Parse(x)).ToList(), ExcludeAreaIds = eareaids.ToList().Select(x => int.Parse(x)).ToList(), Priority = priority, RemoteSections = Sections }; var plug = AdminCarriageClient.Instance.GetPlugConfigure(5); var ret = jss.Deserialize <Myzj.OPC.UI.Model.AdminCarriage._RemoteParams>(plug); ret.RemoteParams.Add(param); return(AdminCarriageClient.Instance.UpdatePlugConfigure(5, jss.Serialize(ret))); }
public ActionResult Detail5Operation(int rowindex = -1) { var plug = AdminCarriageClient.Instance.GetPlugConfigure(5); JavaScriptSerializer jss = new JavaScriptSerializer(); var ret = jss.Deserialize <_RemoteParams>(plug); RemoteParam param = new RemoteParam(); if (rowindex >= 0) { param = ret.RemoteParams[rowindex]; } else { param.Priority = 1; param.AreaIds = new List <int>(); param.ExcludeAreaIds = new List <int>(); param.RemoteSections = new List <RemoteSection>(); } ViewBag.rowindex = rowindex; return(View(param)); }