mirror of
https://github.com/bloeys/physx-go.git
synced 2025-12-29 07:58:20 +00:00
More rigiddynamic stuff
This commit is contained in:
5
main.go
5
main.go
@ -74,8 +74,11 @@ func main() {
|
|||||||
println("Sphere mass:", dynSphere.GetMass())
|
println("Sphere mass:", dynSphere.GetMass())
|
||||||
println("Capsule mass:", dynCapsule.GetMass())
|
println("Capsule mass:", dynCapsule.GetMass())
|
||||||
|
|
||||||
s.SetScratchBuffer(4)
|
println("Capsule linear damping A:", dynCapsule.GetLinearDamping())
|
||||||
|
dynCapsule.SetLinearDamping(0.05)
|
||||||
|
println("Capsule linear damping B:", dynCapsule.GetLinearDamping())
|
||||||
|
|
||||||
|
s.SetScratchBuffer(4)
|
||||||
for {
|
for {
|
||||||
s.Simulate(1 / 60.0)
|
s.Simulate(1 / 60.0)
|
||||||
s.FetchResults(true)
|
s.FetchResults(true)
|
||||||
|
|||||||
Binary file not shown.
@ -20,7 +20,14 @@ extern "C" {
|
|||||||
CPxAPI CSTRUCT CPxActor CPxRigidDynamic_toCPxActor(CSTRUCT CPxRigidDynamic*);
|
CPxAPI CSTRUCT CPxActor CPxRigidDynamic_toCPxActor(CSTRUCT CPxRigidDynamic*);
|
||||||
CPxAPI void CPxRigidDynamic_addForce(CSTRUCT CPxRigidDynamic* crd, CSTRUCT CPxVec3* force, CENUM CPxForceMode fmode, bool autoAwake);
|
CPxAPI void CPxRigidDynamic_addForce(CSTRUCT CPxRigidDynamic* crd, CSTRUCT CPxVec3* force, CENUM CPxForceMode fmode, bool autoAwake);
|
||||||
CPxAPI void CPxRigidDynamic_addTorque(CSTRUCT CPxRigidDynamic* crd, CSTRUCT CPxVec3* torque, CENUM CPxForceMode fmode, bool autoAwake);
|
CPxAPI void CPxRigidDynamic_addTorque(CSTRUCT CPxRigidDynamic* crd, CSTRUCT CPxVec3* torque, CENUM CPxForceMode fmode, bool autoAwake);
|
||||||
|
|
||||||
|
CPxAPI void CPxRigidDynamic_setLinearDamping(CSTRUCT CPxRigidDynamic* crd, CPxReal damping);
|
||||||
|
CPxAPI void CPxRigidDynamic_setAngularDamping(CSTRUCT CPxRigidDynamic* crd, CPxReal damping);
|
||||||
|
CPxAPI CPxReal CPxRigidDynamic_getLinearDamping(CSTRUCT CPxRigidDynamic* crd);
|
||||||
|
CPxAPI CPxReal CPxRigidDynamic_getAngularDamping(CSTRUCT CPxRigidDynamic* crd);
|
||||||
|
|
||||||
CPxAPI CSTRUCT CPxVec3 CPxRigidDynamic_getLinearVelocity(CSTRUCT CPxRigidDynamic* crd);
|
CPxAPI CSTRUCT CPxVec3 CPxRigidDynamic_getLinearVelocity(CSTRUCT CPxRigidDynamic* crd);
|
||||||
|
CPxAPI CSTRUCT CPxVec3 CPxRigidDynamic_getAngularVelocity(CSTRUCT CPxRigidDynamic* crd);
|
||||||
|
|
||||||
CPxAPI void CPxRigidDynamic_setMass(CSTRUCT CPxRigidDynamic* crd, CPxReal mass);
|
CPxAPI void CPxRigidDynamic_setMass(CSTRUCT CPxRigidDynamic* crd, CPxReal mass);
|
||||||
CPxAPI CPxReal CPxRigidDynamic_getMass(CSTRUCT CPxRigidDynamic* crd);
|
CPxAPI CPxReal CPxRigidDynamic_getMass(CSTRUCT CPxRigidDynamic* crd);
|
||||||
|
|||||||
@ -21,12 +21,34 @@ func (rd *RigidDynamic) AddTorque(torque *Vec3, fmode ForceMode, autoAwake bool)
|
|||||||
C.CPxRigidDynamic_addTorque(rd.cRd, &torque.cV, uint32(fmode), C._Bool(autoAwake))
|
C.CPxRigidDynamic_addTorque(rd.cRd, &torque.cV, uint32(fmode), C._Bool(autoAwake))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (rd *RigidDynamic) SetLinearDamping(damping float32) {
|
||||||
|
C.CPxRigidDynamic_setLinearDamping(rd.cRd, C.float(damping))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rd *RigidDynamic) SetAngularDamping(damping float32) {
|
||||||
|
C.CPxRigidDynamic_setAngularDamping(rd.cRd, C.float(damping))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rd *RigidDynamic) GetLinearDamping() float32 {
|
||||||
|
return float32(C.CPxRigidDynamic_getLinearDamping(rd.cRd))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rd *RigidDynamic) GetAngularDamping() float32 {
|
||||||
|
return float32(C.CPxRigidDynamic_getAngularDamping(rd.cRd))
|
||||||
|
}
|
||||||
|
|
||||||
func (rd *RigidDynamic) GetLinearVelocity() Vec3 {
|
func (rd *RigidDynamic) GetLinearVelocity() Vec3 {
|
||||||
return Vec3{
|
return Vec3{
|
||||||
cV: C.CPxRigidDynamic_getLinearVelocity(rd.cRd),
|
cV: C.CPxRigidDynamic_getLinearVelocity(rd.cRd),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (rd *RigidDynamic) GetAngularVelocity() Vec3 {
|
||||||
|
return Vec3{
|
||||||
|
cV: C.CPxRigidDynamic_getAngularVelocity(rd.cRd),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (rd *RigidDynamic) SetMass(mass float32) {
|
func (rd *RigidDynamic) SetMass(mass float32) {
|
||||||
C.CPxRigidDynamic_setMass(rd.cRd, C.float(mass))
|
C.CPxRigidDynamic_setMass(rd.cRd, C.float(mass))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user