From 940a0b2db601cf981f39be1f2f49ae7395f81264 Mon Sep 17 00:00:00 2001 From: bloeys Date: Fri, 28 Jan 2022 09:27:50 +0400 Subject: [PATCH] Rigiddynamic CMass+Shape local poses --- main.go | 12 +++++++++++- pgo/libs/libphysx-c.a | Bin 19664 -> 20704 bytes pgo/pgo.go | 10 ++++++++++ pgo/physx-c/CPxRigidDynamic.h | 3 +++ pgo/physx-c/CPxShape.h | 5 +++++ pgo/rigiddynamic.go | 10 ++++++++++ 6 files changed, 39 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 11218d7..f9aa2ad 100755 --- a/main.go +++ b/main.go @@ -68,11 +68,20 @@ func main() { s.AddActor(dynCapsule.ToActor()) //Add compound shape + dynComp := p.CreateRigidDynamic(pgo.NewTransform(pgo.NewVec3(0, 35, 0), qID)) - pgo.CreateExclusiveShape(dynComp.ToRigidActor(), pgo.NewSphereGeometry(2).ToGeometry(), pMat, pgo.ShapeFlags_eSCENE_QUERY_SHAPE|pgo.ShapeFlags_eSIMULATION_SHAPE|pgo.ShapeFlags_eVISUALIZATION) + pgo.CreateExclusiveShape(dynComp.ToRigidActor(), pgo.NewBoxGeometry(10, 0.1, 0.1).ToGeometry(), pMat, pgo.ShapeFlags_eSCENE_QUERY_SHAPE|pgo.ShapeFlags_eSIMULATION_SHAPE|pgo.ShapeFlags_eVISUALIZATION) + + someShape := pgo.CreateExclusiveShape(dynComp.ToRigidActor(), pgo.NewSphereGeometry(2).ToGeometry(), pMat, pgo.ShapeFlags_eSCENE_QUERY_SHAPE|pgo.ShapeFlags_eSIMULATION_SHAPE|pgo.ShapeFlags_eVISUALIZATION) + someShape.SetLocalPose(pgo.NewTransform(pgo.NewVec3(5, 0, 0), qID)) + + someShape = pgo.CreateExclusiveShape(dynComp.ToRigidActor(), pgo.NewSphereGeometry(2).ToGeometry(), pMat, pgo.ShapeFlags_eSCENE_QUERY_SHAPE|pgo.ShapeFlags_eSIMULATION_SHAPE|pgo.ShapeFlags_eVISUALIZATION) + someShape.SetLocalPose(pgo.NewTransform(pgo.NewVec3(-5, 0, 0), qID)) + s.AddActor(dynComp.ToActor()) + //Make some changes and print info dynSphere.SetMass(1) dynCapsule.SetMass(1) println("Box 1 mass:", dynBox.GetMass()) @@ -84,6 +93,7 @@ func main() { dynCapsule.SetLinearDamping(0.05) println("Capsule linear damping B:", dynCapsule.GetLinearDamping()) + //Run simulation s.SetScratchBuffer(4) for { s.Simulate(1 / 60.0) diff --git a/pgo/libs/libphysx-c.a b/pgo/libs/libphysx-c.a index 2c6768c8c3f98636c6a1b9315c6de28611249b9a..8e6f615940bb2b8c8aebf9f61808962e06f6d4ee 100755 GIT binary patch delta 2619 zcmcJRYiyg<8OQ%gn~>M9W85aq#m>D+nqQY^7r;2vm(y6v6-a4OO~U zd|RZS&v~xrd5+IH&is=p7oJUdym_j@TiaZc{2Q_Wcp9iY3{=em)mH(x$Ha9Tpy;hx z<_JepbIim$2PkU0OuSnulRCr1{S5Pvnt(|?M}=$Z1V2dKGVv&&sApnDL!(L4WkAtq zGijk-;X7sGxdbShN0wRONPOE(YUf!P={vv7gB;0}aW9|h zdpVNm4wJ|`fTESfDI#1@(ayyct?5FY2kr0t?fz{&zhYpRJq zj{&6RIg<`1S47!~qLW*$=s0cCZ3B`_awJ{lCf%P?Cb6R?U5BVYG{x~zT-xFu720p{VQB@6L!s+F}&@E!{cLvG+oPu z!NI%l86S)oKfQ_Vns(wlBCfNErKmU&TT__I8&r4g1{nYjb3bOQfUDK)(+%9_;+gLS zj*w$Dz?_#GUkhyIXw(7E&?i8BpdL6u-xJhDSV>rXgXXzBC+_ME3 z;t4uUCRz1S%9Z_Gh#ehj1PaIt?9i?{r2Q~$>1=?H5Yk|W4H;OCOl(0X@}Wb61%(*LN%&TiH&GN zBYbE^8`{x|077ViA3;RXfwc%D9k(C{#VA4qF?69H22zlEU2#+2S>6A?IP1#l5^t>= zS#{lwk>f48_#AdQXe}k09M8;`c|A|&wG26Lv4~x_bDl5b7P~CwhgSyYie0lMe2%4* z4L4q=n_ZcNr=TwFCU-P3R9c^MquwDk4n6U!vOTG;8}t9qbzOP+q%D1;98XJ6cq)Fd zP7eCAw8foQKIIicsXXh?$^7;?NIoKB_(D=xpOv;ywDliVQtWqdOTM2rfBREsT=KNP zL_+@WY0bv5k5qg);~z*n@W;R78_+v zaGy5v^181#QmSNJ7Pn8A-v$S?b4P#nvC6h7seRSDR_1-dWSuQ{Rllb!Rmx&#Pd6|1 zz^519uabvD$qkZMS`BSi{U?|CHehoyr6V+=S*!P5ET_hm)SNBLkY9(4v=jQO4_)$E zxL6E5LkhxMHRpe#OKM4X(yv5cD@VeHwxjvICB854B(>9)JSk~2v^THfE7hELS(_{V z;5Kdj&ZibtleJ0h<2GFi+Xu8eGM=B?Ol@6KJ8rYfFC$ht@AAlWXSUw!bf4TnYduy= z*y$8|#IU|-d18)lBJbyF$osZp1`KGM-hJasrEHYpXtw;`Zj)Q01KOI#$=M2Oo2b1< z-*)*=7m6q~Gudm-EcqmASl7oh&y`WPQT ze|x)-I={F($Mi40So&Di6`;rPtxh@CX=tmxcf6_62PG>uAci-)bl)%TTT;nenf%&0 zU-@Gqe{}_wXUTo9{pO#_Gqlok#aT_BzCXLOw7m;|_&{w}SRRf|Xp{F(&8VW delta 2097 zcmc(g`%jZ+6vw}at-Q3TT+1wSzsRjXX`x(tFQrhBf|_N4A(LU|1&JVLbIH(TKQUr9 zj>c;uZW(a~9i!P|bjyrWyn^Bk#)S!i%(>u_Wedb?>UN&K#(!Z=K0WU_&w0){&v{Ru z&YTRob0p|vQ;)%9FeL^)EujDo0_j_UH3xvq8$d3b1lg%Fo_HWYA4?{uS0?W`AjprE z$xCLPDM*yb-NA8~9JP#|r69YfpTC%bmsA=6ft~{k3Y9X(%YeZ1LdL{)LGe);-8n!| zq<_gNmP~QFO#T2D##D{JWHU>qr=}SYSZp$-O@P2$EmO`(1@;^n8wVAXyJc)ytTWaj znX}li2k1e`6gx0w>t#%j`DB7l83zX!*hgfXae%-vC{r;D z2;4py*Hb{?9+h$Rvd&a&m8l%&4l~Zff_Hc^N~XFL5a?=TsyTtc8!Kbv0tJT6GKEk0 z)d+UW7-rbcvvV>>S_-ZD(7;H@k4y*xgWU|8Jn3@g5dw@QsHwQSL2gK$B$t)8KfF10kX1iJs z^s{e2+YFWL%et}=z-9rOM0?D< zxtvGX&dxUOFF$9o9I^s;%lLhkc7PhG$$%U;(8J~11Ix#Gj@6vYdr)jXwKl*>FDSl4=UkC6)F&oRnQ_1vCyCpdgLG<$=uumWFZ5oNP!MX z$U`xcVVL}PY5CIF6ScVuRARcx&;er=62*Q&8y@o_2A{b8J zyY|*y9i1CH+qSp)HJY`-lpCt0xUg_~6c$MdVM@BS>f69jieWq(7Ve+aP6d%$8R!3d zb-04PRenoKdeE!6JsXxqC)DxuuPTgm>I^!nilvS;4S7|%{?u6dK21SYE0X9!h01?B ztvHCbE8}Qdq4c+8yctckMUm2rZTEl6;+K>}6XqCdH#bU6cROaqRh!I~ZpAFRuIXsZ zoXC|)w9Dd?=<1L6Q+Yi#uw%}$L0Smun&X*38riMgim8bDt41bm`>w-B|uLJ?slo+oBm(;M~*_)G&JOHlFonk;HIz`D7>;un&|FZ zNMp^&S`_)xL+FdjddV^En2l#^5e0kNq7ZA$n6K|Ka zY47nd5y4DhHEmMe$Oq#hvxVNTX;W+adgeuDEB{VuAUKB37}RvpTR_&@NU3ym@)_U0 zuu)^}M(NlQ_dgoe?DPX`*WWIBsAbJT*=t*+&>-bJ|0%#pht{^LyRY=$Ph!m_g7!p2 zleVs2J+OFlT4bsa#^Hz<+F$3BT0VUKK