/// <summary> /// MCUtilStructureValuesで管理されている指定したテクニックのパラメーターをセットする /// </summary> /// <param name="idx">テクニック番号。</param> /// <param name="src">MCUtilStructureValuesSP参照</param> /// <returns>エラーが発生しなかった場合は true を返す。</returns> public bool Set(int idx, MCUtilStructureValues src) { if (m_TPars.Count <= idx || src == null) { return(false); } List <MCUtilValueEX> p = m_TPars[idx].item; if (p.Count == 0) { return(true); } foreach (var val in src.GetValues()) { if (p.Count <= val.Key) { continue; } if (val.Value.GetUtilValueType() != p[val.Key].GetUtilValueType()) { continue; } switch (val.Value.GetUtilValueType()) { case UtilValueType.FLOAT: case UtilValueType.FLOAT2: case UtilValueType.FLOAT3: case UtilValueType.FLOAT4: case UtilValueType.FLOAT4x4: case UtilValueType.ARY_FLOAT: p[val.Key].SetFloatArray(val.Value.GetFloatArray(), val.Value.GetSize()); break; case UtilValueType.INT: case UtilValueType.ARY_INT: p[val.Key].SetIntArray(val.Value.GetIntArray(), val.Value.GetSize()); break; case UtilValueType.BOOL: case UtilValueType.ARY_BOOL: p[val.Key].SetBoolArray(val.Value.GetBoolArray(), val.Value.GetSize()); break; } } this.Commit(idx); return(true); }
/// <summary> /// /// </summary> /// <param name="r"></param> /// <returns></returns> public bool SetUniqueValue(MCUtilStructureValues r) { return(m_techniqueParaMgr.Set(m_currentTechNo, r)); }