protected override void SolveInstance(IGH_DataAccess DA) { Plane iPlane = new Plane(); double iRadius = 0; bool isDynamic = true; Material iMaterial = PhysXManager.Physics.CreateMaterial(0.5f, 0.5f, 0.5f); DA.GetData(0, ref iPlane); DA.GetData(1, ref iRadius); DA.GetData(2, ref isDynamic); DA.GetData(3, ref iMaterial); PxGhRigidDynamic dynamic = new PxGhRigidDynamicSphere(iPlane, (float)iRadius, iMaterial, 1f); DA.SetData(0, dynamic); if (isDynamic) { PxGhRigidDynamic rigidDynamic = new PxGhRigidDynamicSphere(iPlane, (float)iRadius, iMaterial, 1f); DA.SetData(0, rigidDynamic); } else { PxGhRigidStaticSphere rigidStatic = new PxGhRigidStaticSphere(iPlane, (float)iRadius, iMaterial); DA.SetData(0, rigidStatic); } }
protected override void SolveInstance(IGH_DataAccess DA) { double iRadius = double.NaN; Plane iFrame = Plane.Unset; bool iDynamic = true; Material iMaterial = PxGhManager.DefaultMaterial; double iMass = double.NaN; Vector3d iInitialLinearVelocity = Vector3d.Unset; Vector3d iInitialLAngularVelocity = Vector3d.Unset; double iLinearDamping = double.NaN; double iAngularDamping = double.NaN; List <Mesh> iDisplayedMeshes = new List <Mesh>(); DA.GetData(0, ref iRadius); DA.GetData(1, ref iFrame); DA.GetData(2, ref iDynamic); DA.GetData(3, ref iMaterial); DA.GetData(4, ref iMass); DA.GetData(5, ref iInitialLinearVelocity); DA.GetData(6, ref iInitialLAngularVelocity); DA.GetData(7, ref iLinearDamping); DA.GetData(8, ref iAngularDamping); DA.GetDataList(9, iDisplayedMeshes); if (iDynamic) { PxGhRigidDynamic rigidObject = new PxGhRigidDynamicSphere(iFrame, (float)iRadius, iMaterial, (float)iMass, iInitialLinearVelocity, iInitialLAngularVelocity); rigidObject.Actor.LinearDamping = (float)iLinearDamping; rigidObject.Actor.AngularDamping = (float)iAngularDamping; DA.SetData(0, rigidObject); } else { DA.SetData(0, new PxGhRigidStaticSphere(iFrame, (float)iRadius, iMaterial)); } }