SA.FullBodyIK.Matrix3x3.Normalize C# (CSharp) Method

Normalize() public method

public Normalize ( ) : bool
return bool
			public bool Normalize()
			{
				float n0 = SAFBIKSqrt( column0.x * column0.x + column0.y * column0.y + column0.z * column0.z );
				float n1 = SAFBIKSqrt( column1.x * column1.x + column1.y * column1.y + column1.z * column1.z );
				float n2 = SAFBIKSqrt( column2.x * column2.x + column2.y * column2.y + column2.z * column2.z );

				bool valid = true;

				if( n0 > IKEpsilon ) {
					n0 = 1.0f / n0;
					column0.x *= n0;
					column0.y *= n0;
					column0.z *= n0;
				} else {
					valid = false;
					column0.x = 1.0f;
					column0.y = 0.0f;
					column0.z = 0.0f;
				}

				if( n1 > IKEpsilon ) {
					n1 = 1.0f / n1;
					column1.x *= n1;
					column1.y *= n1;
					column1.z *= n1;
				} else {
					valid = false;
					column1.x = 0.0f;
					column1.y = 1.0f;
					column1.z = 0.0f;
				}

				if( n2 > IKEpsilon ) {
					n2 = 1.0f / n2;
					column2.x *= n2;
					column2.y *= n2;
					column2.z *= n2;
				} else {
					valid = false;
					column2.x = 0.0f;
					column2.y = 0.0f;
					column2.z = 1.0f;
				}

				return valid;
			}
		}