public static bool SAFBIKComputeBasisFrom( out Matrix3x3 basis, ref Matrix3x3 rootBasis, ref Vector3 dir, _DirectionAs directionAs )
{
CheckNormalized( dir );
switch( directionAs ) {
case _DirectionAs.XPlus:
return SAFBIKComputeBasisFromXYLockX( out basis, dir, rootBasis.column1 );
case _DirectionAs.XMinus:
return SAFBIKComputeBasisFromXYLockX( out basis, -dir, rootBasis.column1 );
case _DirectionAs.YPlus:
return SAFBIKComputeBasisFromXYLockY( out basis, rootBasis.column0, dir );
case _DirectionAs.YMinus:
return SAFBIKComputeBasisFromXYLockY( out basis, rootBasis.column0, -dir );
}
basis = Matrix3x3.identity;
return false;
}