/// <summary> /// </summary> public LimitValue GetLimit(string name) { LimitValue limit; LimitValues.TryGetValue(name, out limit); return(limit); }
private Vector3[] CalculateNormals(LimitValues <Vector3> limitPositions) { int count = limitPositions.values.Length; Vector3[] normals = new Vector3[count]; for (int i = 0; i < count; ++i) { var tanS = limitPositions.tangents1[i]; var tanT = limitPositions.tangents2[i]; normals[i] = Vector3.Normalize(Vector3.Cross(tanS, tanT)); } return(normals); }
private Vector3[] CalculateTangents(LimitValues <Vector2> limitUvs, LimitValues <Vector3> limitTexturedPositions) { int count = limitUvs.values.Length; if (limitTexturedPositions.values.Length != count) { throw new Exception("count mismatch"); } Vector3[] tangents = new Vector3[count]; for (int i = 0; i < count; ++i) { tangents[i] = TangentSpaceUtilities.CalculatePositionDu( limitUvs.tangents1[i], limitUvs.tangents2[i], limitTexturedPositions.tangents1[i], limitTexturedPositions.tangents2[i]); } return(tangents); }
/// <summary> /// Adds limit value /// </summary> /// <param name="limitLabel">Label</param> /// <param name="limitValue">Value</param> /// <returns></returns> public LimitClientConfiguration AddValue(string limitLabel, int limitValue) { LimitLabels.Add(limitLabel); LimitValues.Add(limitValue); return(this); }