コード例 #1
0
        public void AlignToQuadrant(GizmoTransform transform, PlaneId planeId, PlaneQuadrantId quadrantId, bool alignXToFirstAxis)
        {
            Plane plane = transform.GetPlane3D(planeId, quadrantId);

            if (alignXToFirstAxis)
            {
                AxisDescriptor secondAxisDesc = PlaneIdHelper.GetSecondAxisDescriptor(planeId, quadrantId);
                Vector3        secondAxis     = Gizmo.Transform.GetAxis3D(secondAxisDesc);
                _transform.Rotation3D = Quaternion.LookRotation(plane.normal, secondAxis);
            }
            else
            {
                AxisDescriptor firstAxisDesc = PlaneIdHelper.GetFirstAxisDescriptor(planeId, quadrantId);
                Vector3        firstAxis     = Gizmo.Transform.GetAxis3D(firstAxisDesc);
                _transform.Rotation3D = Quaternion.LookRotation(plane.normal, firstAxis);
            }
        }
コード例 #2
0
ファイル: PlaneId.cs プロジェクト: GastonBC/AECH-Treehouse
        public static AxisSign GetSecondAxisSign(PlaneId planeId, PlaneQuadrantId planeQuadrant)
        {
            PlaneQuadrantInfo quadrantInfo = _planeInfo[(int)planeId].QuadrantInfo.FindAll(item => item.Quadrant == planeQuadrant)[0];

            return(quadrantInfo.SecondAxisSign);
        }
コード例 #3
0
ファイル: PlaneId.cs プロジェクト: GastonBC/AECH-Treehouse
 public static AxisDescriptor GetSecondAxisDescriptor(PlaneId planeId, PlaneQuadrantId planeQuadrant)
 {
     return(new AxisDescriptor(PlaneIdToSecondAxisIndex(planeId), GetSecondAxisSign(planeId, planeQuadrant)));
 }