Beispiel #1
0
                public static RotaSingle Create(Property p, Quaternion o, Axis3 a, QuaternionCallback c)
                {
                    GameObject g = null;

                    switch (a)
                    {
                    case Axis3.X:
                        g = GameObject.Instantiate(x.Object);
                        break;

                    case Axis3.Y:
                        g = GameObject.Instantiate(y.Object);
                        break;

                    case Axis3.Z:
                        g = GameObject.Instantiate(z.Object);
                        break;

                    default:
                        return(null);
                    }
                    RotaSingle r = g.AddComponent <RotaSingle>();

                    r.property   = p;
                    r.DragEvent += c;
                    return(r);
                }
Beispiel #2
0
                public static ScaleSingle Create(Property p, float o, Axis3 a, FloatCallback c)
                {
                    GameObject g = null;

                    switch (a)
                    {
                    case Axis3.X:
                        g = GameObject.Instantiate(x.Object);
                        break;

                    case Axis3.Y:
                        g = GameObject.Instantiate(y.Object);
                        break;

                    case Axis3.Z:
                        g = GameObject.Instantiate(z.Object);
                        break;

                    default:
                        return(null);
                    }
                    ScaleSingle m = g.AddComponent <ScaleSingle>();

                    m.property  = p;
                    m.origin    = o;
                    m.DragEvent = c;
                    return(m);
                }
        public static Vector3 Get(Axis3 axis, Device device)
        {
            CheckInstance();
            var data = _instance._GetAxis(_instance.axis3Handles[(int)axis], device);

            return(new Vector3(data.x, data.y, data.z));
        }
Beispiel #4
0
                public static MoveDouble Create(Property p, Vector3 o, Axis3 a, Vector3Callback c)
                {
                    GameObject g = null;

                    switch (a)
                    {
                    case Axis3.X:
                        g = GameObject.Instantiate(x.Object);
                        break;

                    case Axis3.Y:
                        g = GameObject.Instantiate(y.Object);
                        break;

                    case Axis3.Z:
                        g = GameObject.Instantiate(z.Object);
                        break;

                    default:
                        return(null);
                    }
                    MoveDouble m = g.AddComponent <MoveDouble>();

                    m.property   = p;
                    m.DragEvent += c;
                    return(m);
                }
 protected override void setJSON(JObject obj, BaseClassIfc host, HashSet <int> processed)
 {
     base.setJSON(obj, host, processed);
     if (mAxis3 > 0)
     {
         obj["Axis3"] = Axis3.getJson(this, processed);
     }
 }
 protected override void setJSON(JObject obj, BaseClassIfc host, SetJsonOptions options)
 {
     base.setJSON(obj, host, options);
     if (mAxis3 > 0)
     {
         obj["Axis3"] = Axis3.getJson(this, options);
     }
 }
        public override string GetStepParameters()
        {
            var parameters = new List <string>();

            parameters.Add(Axis1 != null ? Axis1.ToStepValue() : "$");
            parameters.Add(Axis2 != null ? Axis2.ToStepValue() : "$");
            parameters.Add(LocalOrigin != null ? LocalOrigin.ToStepValue() : "$");
            parameters.Add(Scale != null ? Scale.ToStepValue() : "$");
            parameters.Add(Axis3 != null ? Axis3.ToStepValue() : "$");

            return(string.Join(", ", parameters.ToArray()));
        }
Beispiel #8
0
 //Returns a direct input value from an input axis3 struc
 public static MouseOffset DirectInputValueOf(Axis3 axis)
 {
     if (axis == Axis3.X)
     {
         return(MouseOffset.X);
     }
     else if (axis == Axis3.Y)
     {
         return(MouseOffset.Y);
     }
     else if (axis == Axis3.Z)
     {
         return(MouseOffset.Z);
     }
     else
     {
         return((MouseOffset)(-1));
     }
 }
Beispiel #9
0
 public int this[Axis3 axis]
 {
     get
     {
         switch (axis)
         {
             case Axis3.X: return X;
             case Axis3.Y: return Y;
             case Axis3.Z: return Z;
             default: throw new ArgumentOutOfRangeException(nameof(axis));
         }
     }
     set
     {
         switch (axis)
         {
             case Axis3.X: X = value; break;
             case Axis3.Y: Y = value; break;
             case Axis3.Z: Z = value; break;
             default: throw new ArgumentOutOfRangeException(nameof(axis));
         }
     }
 }
Beispiel #10
0
 //Class Constructor
 public AxisInputAssignement(int controlActionIndex, Axis3 axis, bool persistentCallerOn)
 {
     this.ControlActionIndex = controlActionIndex;
     this._Axis             = axis;
     this._PersistentCaller = persistentCallerOn;
 }
 private static void GetPerpendicularAxises(Axis3 axis, out Axis3 paxis1, out Axis3 paxis2)
 {
     paxis1 = (Axis3)(((int)axis + 1) % 3);
     paxis2 = (Axis3)(((int)axis + 2) % 3);
 }
 private static IntVector3 FindSliceCoordForFace(MeshSlice slice, MeshSliceFace face,
     Axis3 axis, Axis3 paxis1, Axis3 paxis2)
 {
     var verts = slice.Positions;
     var first = verts[face.StartIndex];
     int xmin = first[paxis1];
     int ymin = first[paxis2];
     int xmax = xmin, ymax = ymin;
     for (int i = face.StartIndex + 1; i < face.EndIndex; ++i)
     {
         var vt = verts[i];
         int x = vt[paxis1], y = vt[paxis2];
         xmin = Math.Min(xmin, x);
         ymin = Math.Min(ymin, y);
         xmax = Math.Max(xmax, x);
         ymax = Math.Max(ymax, y);
     }
     if (xmax > xmin + 1 || ymax > ymin + 1)
     {
         throw new InvalidOperationException("The input mesh has a face covering two voxels " +
                                             ", which is not supported by " + nameof(SimpleMeshTextureGenerator) + ".");
     }
     return new IntVector3(xmin, ymin, first[axis]);
 }
Beispiel #13
0
 public static string GetActionSet(this Axis3 a) => _GetActionSet(a);