Exemple #1
0
 /// <summary>Adds a new knot to the back of a path camera's path.</summary>
 /// <description>
 ///
 /// </description>
 /// <param name="transform">Transform for the new knot.  In the form of "x y z ax ay az aa" such as returned by SceneObject::getTransform()</param>
 /// <param name="speed">Speed setting for this knot.</param>
 /// <param name="type">Knot type (Normal, Position Only, Kink).</param>
 /// <param name="path">%Path type (Linear, Spline).</param>
 /// <code>
 /// // Transform vector for new knot. (Pos_X Pos_Y Pos_Z Rot_X Rot_Y Rot_Z Angle)
 /// %transform = "15.0 5.0 5.0 1.4 1.0 0.2 1.0"
 ///
 /// // Speed setting for knot.
 /// %speed = "1.0"
 ///
 /// // Knot type. (Normal, Position Only, Kink)
 /// %type = "Normal";
 ///
 /// // Path Type. (Linear, Spline)
 /// %path = "Linear";
 ///
 /// // Inform the path camera to add a new knot to the back of its path
 /// %pathCamera.pushBack(%transform,%speed,%type,%path);
 /// </code>
 public void PushBack(TransformF transform = null, float speed = 1f, string type = "Normal", string path = "Linear")
 {
     transform = transform ?? new TransformF("0 0 0 0 0 0 0 false");
     transform.Alloc();             InternalUnsafeMethods.PushBack__Args _args = new InternalUnsafeMethods.PushBack__Args()
     {
         transform = transform.internalStructPtr,
         speed     = speed,
         type      = type,
         path      = path,
     };
     InternalUnsafeMethods.PushBack()(ObjectPtr, _args);
     transform.Free();
 }
        /// <summary>Mount objB to this object at the desired slot with optional transform.</summary>
        /// <description>
        ///
        /// </description>
        /// <param name="objB">Object to mount onto us</param>
        /// <param name="slot">Mount slot ID</param>
        /// <param name="txfm">(optional) mount offset transform</param>
        /// <returns>true if successful, false if failed (objB is not valid)</returns>
        public bool MountObject(SceneObject objB, string node, TransformF txfm = null)
        {
            txfm = txfm ?? new TransformF("0 0 0 1 0 0 0 true");
            txfm.Alloc();             InternalUnsafeMethods.MountObject__Args _args = new InternalUnsafeMethods.MountObject__Args()
            {
                objB = objB.ObjectPtr,
                node = node,
                txfm = txfm.internalStructPtr,
            };
            bool _engineResult = InternalUnsafeMethods.MountObject()(ObjectPtr, _args);

            txfm.Free();             return(_engineResult);
        }