private void initGrith(string planeName, HumanSize grithKey, HumanBone planeInBone) { float[] plane = { 0.0f, 0.0f, 0.0f, 0.0f }; planes.getControlPlane(planeName, plane); ArrayList grithList = new ArrayList(); ArrayList edgeList = templateBody.edgeIndexsPerBone [planeInBone]; for (int i = 0; i < edgeList.Count; i++) { Edge e = edgeList [i] as Edge; if (AuxMath.isAbovePlane(templateMesh.vertices [e.e1], plane) != AuxMath.isAbovePlane(templateMesh.vertices [e.e2], plane)) { Vector3 intersectPoint = AuxMath.intersectPlane(templateMesh.vertices [e.e1], templateMesh.vertices [e.e2], plane); if (intersectPoint != AuxMath.nullVector) { if (HumanSize.Thigh_Grith == grithKey) { if (intersectPoint.x < 0.0f) { grithList.Add(intersectPoint); } } else { grithList.Add(intersectPoint); } } } } if (grithList.Count > 0) { ArrayList grithIndex = new ArrayList(); AuxMath.convexInPlane(new Vector3(plane [0], plane [1], plane [2]), grithList, grithIndex); initMeasurements [(int)grithKey - 1] = AuxMath.getLength(grithIndex, grithList); measurement [grithKey] = initMeasurements [(int)grithKey - 1] / (2.0f * Mathf.PI); } }
public float getInitMeasurement(HumanSize sizeName) { return(initMeasurements [(int)sizeName - 1]); }
private void initLength(string plane1, string plane2, HumanSize lenKey) { initMeasurements [(int)lenKey - 1] = planes.getControlPlanesDist(plane1, plane2); measurement [lenKey] = initMeasurements [(int)lenKey - 1]; }