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("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 {
|
||||
s.Simulate(1 / 60.0)
|
||||
s.FetchResults(true)
|
||||
|
||||
Binary file not shown.
@ -20,7 +20,14 @@ extern "C" {
|
||||
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_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_getAngularVelocity(CSTRUCT CPxRigidDynamic* crd);
|
||||
|
||||
CPxAPI void CPxRigidDynamic_setMass(CSTRUCT CPxRigidDynamic* crd, CPxReal mass);
|
||||
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))
|
||||
}
|
||||
|
||||
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 {
|
||||
return Vec3{
|
||||
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) {
|
||||
C.CPxRigidDynamic_setMass(rd.cRd, C.float(mass))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user