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); }
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); }
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); }