コード例 #1
0
        /// <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);
    }
コード例 #4
0
 /// <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);
 }