From fe8fedd5b7f0f315d3c4dba391d218351211b4f6 Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Sat, 25 Nov 2017 15:54:23 +0000 Subject: [PATCH] [Add] Body: GetRadius method. [Add] Calculate bounding sphere radius from AABB's of geoms. [Add] Make use of the existing GetRadius methods. [Change] Moved object viewer key to f10. [Add] A couple new image icons. --- icons/object_planet_co2.png | Bin 0 -> 3193 bytes icons/object_planet_dwarf.png | Bin 275 -> 2993 bytes icons/object_planet_large_gas_giant.png | Bin 2072 -> 5404 bytes icons/object_planet_medium_gas_giant.png | Bin 1661 -> 4975 bytes icons/object_planet_methane.png | Bin 0 -> 3226 bytes icons/object_planet_small.png | Bin 323 -> 3377 bytes icons/object_planet_small_gas_giant.png | Bin 1256 -> 4520 bytes icons/object_planet_volcanic.png | Bin 0 -> 3297 bytes icons/object_planet_water_n2.png | Bin 0 -> 3366 bytes src/body.h | 1 + src/libs.h | 1 + src/main.cpp | 2 +- src/model_body.cpp | 26 +++++++++++++++++++++++ src/model_body.h | 1 + src/object_viewer_view.cpp | 5 +++++ src/object_viewer_view.h | 1 + src/planet.h | 2 +- src/star.h | 2 +- 18 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 icons/object_planet_co2.png create mode 100644 icons/object_planet_methane.png create mode 100644 icons/object_planet_volcanic.png create mode 100644 icons/object_planet_water_n2.png diff --git a/icons/object_planet_co2.png b/icons/object_planet_co2.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c1183ecabfab93256aa19fa4b27a77431a25fc GIT binary patch literal 3193 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 literal 0 HcmV?d00001 diff --git a/icons/object_planet_dwarf.png b/icons/object_planet_dwarf.png index 9e8cfdca3618c04c592556d74d829e6343e58a53..0ad6b80b870e947ed1ff7f47a983ce43b70a809c 100644 GIT binary patch delta 2981 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 b?D#iMXLe}2_UesS00000NkvXXu0mjfdsdtb delta 237 zcmV63g49DfTF000XU0RWnu z7ytkO2XskIMF-dh2?{#_hSSur0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7XSbNZb?KzR2b8>jv)>NArJ(6Z-W>yJYX=0c>|9BzW|2?2@-=?F`JyaoT5yN zN-7N;7Ys+RfcU%YYW n95Z|G_ujSEQi{d@Tsz7G&sZkQwv>)#00000NkvXXu0mjfT?|!= diff --git a/icons/object_planet_large_gas_giant.png b/icons/object_planet_large_gas_giant.png index bb2d8d129d9faf3ba1c20f929d3e63fe618cd0df..13e6f7a9172580999be4371ab8f324c52bc82733 100644 GIT binary patch literal 5404 zcmV+%731oOP)Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^RT2NDYrAE*ts;s5{&PDw;T zR9M69m|d)GS5?PCbL9PQ=6zC^;f%z2=4w*6%pzBOkwc zyKUPy=c+$xjQ!D4>IrH+lvAX{fabJJIh@w2_pjE&-!+Z>&(c~#9qdAjOq-KbrFoux!`~G8N2)Dfb!=JnO zvVuPOsdv8-F?WTe-)q}B1;9Gm=>ox^su;1P&||eyLr)1KzF(1JL=}n}#JZ=v9lc}i$k<+OWU?s0THF-zv=Sln&hY-Z-i5tNh@&18lV!DuD;HM@KJ z2o);^BNkI55OM9C!#i6z4Kz&)HL+eT>DB|&rbR>;d?4jwLW)2AQ$Kv=KYZ??r=I$T z&glMqcP>cl2dwDTYAoWW_*$tbsX%KhR-ve3ox>S}Y33k8U7x4c40%Ly=G@m$6MSIe zT2`G$F@Pnc!hSb!{@G{QTdh!dqA1tA^W*>geLzR@cx>rW7&Et)=9M zivgnrXIrFc5g>;ilBd>;nh7<7wcC`q;`p&wV@0UIbjOpc!H*Fe3hEa4q%8Y2WALw; zPUr6e-ua>;+CTXD%OuCg#o8?~2Gg`)8%j-xLd_WwFvg%-Fvbv5##)PcZpM-*F<@#$ zN~9D;j3HMcq)gurtXCbQPweepIbME|EjCFo8onCe0$L>Azf)PD;=E+}aoZFf# zwrOVzoT(U5z@b#6nIOhcRZ&$G#ZFofL#Y+Cq5xL$S+Qb4GFmD*1fn0wK9Eu-cu&a% zBbJ;qC5CA`o&Fkd%OxW^Jn&grT|9eAReuoc5Z9u{0D@~;n)w!p!CHeVFpF7Lf9(|au+hc3K_?mO>>YM)LAM5i* zH1_-7KbtLH-_90DJ4LJoG3awk5(6TLSQMq5FOVb0|M#-RY<`PHWV1-DMT|u&#BP`V znWtFq@3HPWma7%1+e34t=1d%itJ=l<2Y^SO7xdY)|8d>my=)yi!eqY9WHQ6L2Gcay z*%n#~sAAgbX50OM*0SMqE!H~3SZc|e?XQJ0_DCEleoc*@Fb?$VHLF$6YSqzo9kE;D zRB^^2#?UnFk6jX!FkCeOQt*s1;hG7xWVSE6l6KnAY#+tChN3X;ejV!?sEV1+iTf9* z(UX&>`T;~p>m~i}dFnw$RdS}}Oh!N~sAX$D$2BcQ3~DW6EnA0q81 zwPI|;I1a3bfj$2y^~_^Tr*mdIM-Y@+GGZ*YY0=KIUhd+@9xa*q(N|$hBKeVA6*rkP zJO14?i$gSvL%7L|bm0s`zb3@OFsunx>HM0Q6E($SmjsF2Hbpy=ExOLGnBlUSSxkxDHl(ZSG)MVJ+c_YwG`iz zqeqfQgQwl9N8Rx1{8 zMnDY4TGUvo5lqb(Dn2G+-qf2ZMp8hPx;X`2XBOyhM5lyS^ zpI*@GANqq|{-TzAt(J;02J0LGl$59`fhrh-IJZeCk^i#Os`}r_Q#a3wQYsX!l&X|c zNx2Y0Vh9l*BHcK!yIL}Y5ohhG)i7T3;d`IbOM3mqzPr8Te69C^QkAx8Xq<&oC@F6Q z-x_SwV6EK6aV_&7hO2pV<$ekeEPAs zk23j@ZdjoQE=0RPqbHO(T#7OHtnZ&j$XcKYGhci@ToHPON@0)W^+3n_l(29xLz@=SM=RJ>!Bm0NYRR-AktyX+iv~yf4S#n>6Cowjt{(E zC-b|slpiW%M?okllKn_3g`5*PMsmuVDn4yWx|9<>2G)LHh@OxbqP$J56b?*4F=Ear z{AtSNBk%j{Bd5P@{n6WR_?ae__(s+GnyA(0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7XSbUg-Jv~R9M69m)WjeM-hf==wYq3*V+4w+ZK*Z62b*HAn_PHIT8;50u;yC ziI08u8TPbRPgTVg7jf(mLn0)U|E|?)eX6eNuD<|&*8hK_@M8}ULEk|)o)G&yr+GhB z`Dv&~aB>2t=ZkT59*1@8FXG~y{aEJhwEfGpdpYm+_gmQS#Pr9Yvh%A`x?KCKD_ULs zW;pw8zxpB$C*9(b-APWz!{$%Z-5;m>Ki}U?cQP6R%tVHd`U1PVQ^%~kiXLTC_1=d7_TlKd5FW!FuuP2db{7s$5B^j z{7mG(%SozK!UJ_i^;&u;pI@~wun8mYoePL|Ua&2+WpQkc{ z@#%7Nwra!L_hCUyU;Z`i_Vv3Z#_z2A9)9t3_|@l&%Zo)YM5*4*eLwg8)O885im0g8 zCQ^S(s#cm42@0VP^T}|(K6`aC-YxnRh&%-=)SAv&!9E--BCgKE>haiLEUI`r3W88~ zSS==tq!?Q3reQ2Kw&u)G)gg-a6#!zK`YCf>J>p&p@C$JL}5p#n69%Ky4D697R~sK7|5vq!>Ga6fYe zza>he!q|A*MD#t>7-4x9PA@xN@}XF&ys>Bvn;d*jz9S|E5kQx9`u_Av| z3u*#sRE)RAIr!ul#umpAJDiU1i?v_){`7>G=hCgzG-Wx~(kcQQ0x~+b5KJ5zGB_}Y z#%zw10mR@az6h#fkIkH+1MtGm_vBZnp>94v^#M3=IQ2F$UO7y`urI0U2!*pwaP+`~Q+BA9)L>JU0DUD|O{ z;2c6U=ahS-9*w$~oj?%tjY|Uu#bFtEW^HIv!3nv(3miO>S_wKgtqQf811En#Ohh2^ z4wWfH3f{VwL#+W0$t?=^vme#71qTSuL-5oAH6sKjh!G=0CTP`M#=!uqqRqJ`?dK_K z36KMnO1t116N=cks3Ka5-DS@$QpM5gDEErHSoY$hWCvit4m=n;bJUs>{~%J>0oDZXPrTvY!Wfm@6@m=q@>4LNHBAljRx>1SeI0K zQW9e}*OWn}l}MnK6hVyu*botcq&ZPUbHOU%&f?qD7w3Fyxyqc>^nHIXr)KFipT}7u z?GoQ+zgM?6-#cN@4s_MmMUc)^5iA&?0fEZ3{@q)ct{VoC8ZB_I)mFyy?Ilgt@YU>ii2K+{HT+Cvl-yn z@L2qu`6l;F1^`V_4Zz5;j=uG*0Z|n@!bh=P4K2Fz{5s#fDR+N&V)o%qHy!2Gb-KKW zL+_RYpF10=Rj`C|RNN-nPO(%ch6D->L>gUNxHfnhokcQG3J8J0IeD|MFR#<}b)Am# zeGW#%zIl^};Sd+_?2}>aTmbNf9pcj2W#3YOR$4V8QburW9wo4PHUvY2);y95;$6wl zuczlPj+;&ScAS6j^G)+4&tFd9RlGiZ(v2Z-b=D%0dTh}*2o(U$kN^w}P|>i~IJa2h%z1s)p^V;cMWF6@KP zfF>GBjUq1BVNS~=%hFI=PWyWQ`uK1??;hl%UHI-nOD?zfyXECRuI6q$i*Y&2spAyf zjA%_b7-+V8_(8pICK5lcVp;=5Sn8%vs!#^ zt>vucwoO{E^L#fwZ1;y$Q~eQUI^Vg)FvP_L#ijEj5)dP4Q$T4|Yi@NjZ|~+~uI(q7 wUtI{X>l`aH8Hg&D+Und|Yw)vv*8fKT1lu41|MyuwL;wH)07*qoM6N<$g5x3gb^rhX diff --git a/icons/object_planet_medium_gas_giant.png b/icons/object_planet_medium_gas_giant.png index 108c35b06fbd08ead2764600a9b60dbf2f5268b0..90c424a7d98db2ae4fe52c5aa9339523d7137f12 100644 GIT binary patch literal 4975 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 M07*qoM6N<$g0T4tT>t<8 literal 0 HcmV?d00001 diff --git a/icons/object_planet_small.png b/icons/object_planet_small.png index 41c5b1ec75e3ffc23058453a975465023a17ed50..ee4ae2f1be5850f84c91edf3e7ce95015cdf42a8 100644 GIT binary patch literal 3377 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 D=Tvq! diff --git a/icons/object_planet_small_gas_giant.png b/icons/object_planet_small_gas_giant.png index e94ca63ceb58312e3299f7e6d128a43bd1e982f2..0699b7cf93ffc471bd81442bb18fc4adaf302f8a 100644 GIT binary patch delta 4512 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 delta 1223 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 literal 0 HcmV?d00001 diff --git a/icons/object_planet_water_n2.png b/icons/object_planet_water_n2.png new file mode 100644 index 0000000000000000000000000000000000000000..c104f3feadcbbb0e2a250f4057a767647deae31e GIT binary patch literal 3366 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 literal 0 HcmV?d00001 diff --git a/src/body.h b/src/body.h index 18c5c45..d04b925 100644 --- a/src/body.h +++ b/src/body.h @@ -15,6 +15,7 @@ public: virtual Object::Type GetType(void) { return Object::BODY; } virtual void SetPosition(vector3d p) = 0; virtual vector3d GetPosition(void) = 0; /* Within frame. */ + virtual double GetRadius(void) const = 0 ; virtual void Render(const Frame* camFrame) = 0; virtual void SetFrame(Frame* f) { m_frame = f; } /* return true if to we do collision response and apply damage. */ diff --git a/src/libs.h b/src/libs.h index 0681a54..aa24c19 100644 --- a/src/libs.h +++ b/src/libs.h @@ -7,6 +7,7 @@ #include #include #include +#include #ifdef _WIN32 #include diff --git a/src/main.cpp b/src/main.cpp index 1bcc534..d1dd989 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -154,7 +154,7 @@ void L3D::HandleEvents(void) { case SDL_KEYDOWN: if(event.key.keysym.sym == SDLK_q) L3D::Quit(); if(event.key.keysym.sym == SDLK_F11) SDL_WM_ToggleFullScreen(L3D::scrSurface); - if(event.key.keysym.sym == SDLK_F12) L3D::SetView(L3D::objectViewerView); + if(event.key.keysym.sym == SDLK_F10) L3D::SetView(L3D::objectViewerView); L3D::keyState[event.key.keysym.sym] = 1; L3D::onKeyPress.emit(&event.key.keysym); break; diff --git a/src/model_body.cpp b/src/model_body.cpp index 0cbaea7..4a40e5f 100644 --- a/src/model_body.cpp +++ b/src/model_body.cpp @@ -62,6 +62,32 @@ vector3d ModelBody::GetPosition(void) { return vector3d(pos[0], pos[1], pos[2]); } +double ModelBody::GetRadius(void) const { + /* Calculate single AABB containing all geoms. */ + dReal aabbAll[6] = { + std::numeric_limits::max(), + std::numeric_limits::min(), + std::numeric_limits::max(), + std::numeric_limits::min(), + std::numeric_limits::max(), + std::numeric_limits::min() + }; + + for(size_t i = 0; i < geoms.size(); ++i) { + dReal aabbGeom[6]; + dGeomGetAABB(geoms[i], aabbGeom); + aabbAll[0] = std::min(aabbAll[0], aabbGeom[0]); + aabbAll[1] = std::max(aabbAll[1], aabbGeom[1]); + aabbAll[2] = std::min(aabbAll[2], aabbGeom[2]); + aabbAll[3] = std::max(aabbAll[3], aabbGeom[3]); + aabbAll[4] = std::min(aabbAll[4], aabbGeom[4]); + aabbAll[5] = std::max(aabbAll[5], aabbGeom[5]); + } + + /* Return size of largest dimension. */ + return std::max(aabbAll[1] - aabbAll[0], std::max(aabbAll[3] - aabbAll[2], aabbAll[5] - aabbAll[4])); +} + void ModelBody::SetRotation(const matrix4x4d& r) { dMatrix3 _m; r.SaveToOdeMatrix(_m); diff --git a/src/model_body.h b/src/model_body.h index ea7b9e1..d772ba6 100644 --- a/src/model_body.h +++ b/src/model_body.h @@ -15,6 +15,7 @@ public: virtual void SetRotation(const matrix4x4d& r); /* Not valid to SetVelocity on these. If you want them to move, use a DynamicBody. */ vector3d GetPosition(void); + virtual double GetRadius(void) const; void TransformToModelCoords(const Frame* camFrame); void ViewingRotation(void); void GetRotMatrix(matrix4x4d& m); diff --git a/src/object_viewer_view.cpp b/src/object_viewer_view.cpp index a7a5152..70f1f61 100644 --- a/src/object_viewer_view.cpp +++ b/src/object_viewer_view.cpp @@ -60,6 +60,11 @@ void ObjectViewerView::Update(void) { char buf[128]; Body* body = L3D::player->GetNavTarget(); + if(body && body != lastTarget) { + /* Reset view distance for new target. */ + viewingDist = body->GetRadius() * 2.0f; + lastTarget = body; + } snprintf(buf, sizeof(buf), "View dist: %.2f Object: %s", viewingDist, (body ? body->GetLabel().c_str() : "")); m_infoLabel->SetText(buf); } diff --git a/src/object_viewer_view.h b/src/object_viewer_view.h index cad105b..c2dfae7 100644 --- a/src/object_viewer_view.h +++ b/src/object_viewer_view.h @@ -15,5 +15,6 @@ private: matrix4x4d viewingRotation; float viewingDist; Gui::Label* m_infoLabel; + const Body* lastTarget; }; diff --git a/src/planet.h b/src/planet.h index a66fc28..218b59b 100644 --- a/src/planet.h +++ b/src/planet.h @@ -10,7 +10,7 @@ public: virtual void SetPosition(vector3d p); virtual vector3d GetPosition(void); void SetRadius(double radius); - double GetRadius(void) { return sbody.radius; } + virtual double GetRadius(void) const { return sbody.radius; } virtual void Render(const Frame* camFrame); virtual void SetFrame(Frame* f); virtual bool OnCollision(Body* b, Uint32 flags) { return true; } diff --git a/src/star.h b/src/star.h index 077e502..5251dc0 100644 --- a/src/star.h +++ b/src/star.h @@ -11,7 +11,7 @@ public: virtual void SetPosition(vector3d p); virtual vector3d GetPosition(void); void SetRadius(double radius) { this->radius = radius; } - double GetRadius(void) { return radius; } + virtual double GetRadius(void) const { return radius; } virtual void Render(const Frame* camFrame); private: