Esempio n. 1
0
        public static UsdGeomBasisCurves Define(UsdStageWeakPtr stage, SdfPath path)
        {
            UsdGeomBasisCurves ret = new UsdGeomBasisCurves(UsdCsPINVOKE.UsdGeomBasisCurves_Define(UsdStageWeakPtr.getCPtr(stage), SdfPath.getCPtr(path)), true);

            if (UsdCsPINVOKE.SWIGPendingException.Pending)
            {
                throw UsdCsPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Esempio n. 2
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(UsdGeomBasisCurves obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Esempio n. 3
0
        public static void CurvesTest()
        {
            UsdStage stage       = UsdStage.CreateInMemory();
            var      path        = new SdfPath("/Parent/Curves");
            var      curvesGprim = UsdGeomBasisCurves.Define(new UsdStageWeakPtr(stage), path);
            var      vertCounts  = USD.NET.IntrinsicTypeConverter.ToVtArray(new int[] { 4 });
            var      basisAttr   = curvesGprim.CreateBasisAttr(UsdGeomTokens.bezier);

            curvesGprim.CreateCurveVertexCountsAttr(vertCounts);

            var basisCurves = new BasisCurvesSample();

            basisCurves.basis             = BasisCurvesSample.Basis.Bspline;
            basisCurves.type              = BasisCurvesSample.CurveType.Cubic;
            basisCurves.wrap              = BasisCurvesSample.WrapMode.Nonperiodic;
            basisCurves.colors            = new UnityEngine.Color[4];
            basisCurves.colors[0]         = new UnityEngine.Color(1, 2, 3, 4);
            basisCurves.colors[3]         = new UnityEngine.Color(6, 7, 8, 9);
            basisCurves.curveVertexCounts = new int[1] {
                4
            };
            basisCurves.doubleSided = true;
            basisCurves.normals     = new UnityEngine.Vector3[4];
            basisCurves.normals[0]  = new UnityEngine.Vector3(1, 0, 0);
            basisCurves.normals[3]  = new UnityEngine.Vector3(0, 0, 1);

            basisCurves.widths    = new float[4];
            basisCurves.widths[0] = .5f;
            basisCurves.widths[1] = 1f;
            basisCurves.widths[2] = .2f;
            basisCurves.widths[3] = 2f;

            basisCurves.orientation = USD.NET.Orientation.RightHanded;
            basisCurves.points      = new UnityEngine.Vector3[4];
            basisCurves.points[0]   = new UnityEngine.Vector3(1, 2, 3);
            basisCurves.points[3]   = new UnityEngine.Vector3(7, 8, 9);

            basisCurves.velocities    = new UnityEngine.Vector3[4];
            basisCurves.velocities[0] = new UnityEngine.Vector3(11, 22, 33);
            basisCurves.velocities[3] = new UnityEngine.Vector3(77, 88, 99);

            basisCurves.wrap      = BasisCurvesSample.WrapMode.Periodic;
            basisCurves.transform = UnityEngine.Matrix4x4.identity;

            var basisCurves2 = new BasisCurvesSample();

            WriteAndRead(ref basisCurves, ref basisCurves2, true);

            AssertEqual(basisCurves.basis, basisCurves2.basis);
            AssertEqual(basisCurves.colors, basisCurves2.colors);
            AssertEqual(basisCurves.curveVertexCounts, basisCurves2.curveVertexCounts);
            AssertEqual(basisCurves.doubleSided, basisCurves2.doubleSided);
            AssertEqual(basisCurves.normals, basisCurves2.normals);
            AssertEqual(basisCurves.orientation, basisCurves2.orientation);
            AssertEqual(basisCurves.points, basisCurves2.points);
            AssertEqual(basisCurves.type, basisCurves2.type);
            AssertEqual(basisCurves.velocities, basisCurves2.velocities);
            AssertEqual(basisCurves.widths, basisCurves2.widths);
            AssertEqual(basisCurves.wrap, basisCurves2.wrap);
            AssertEqual(basisCurves.transform, basisCurves2.transform);
            AssertEqual(basisCurves.xformOpOrder, basisCurves2.xformOpOrder);
        }