MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / autoFitRadius

Method autoFitRadius

Engine/source/T3D/camera.cpp:1766–1798  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1764//----------------------------------------------------------------------------
1765
1766void Camera::autoFitRadius( F32 radius )
1767{
1768 F32 fov = mDegToRad( getCameraFov() );
1769 F32 viewradius = (radius * 2.0f) / mTan(fov * 0.5f);
1770
1771 // Be careful of infinite sized objects. Clip to 16km
1772 if(viewradius > 16000.0f)
1773 viewradius = 16000.0f;
1774
1775 if(mMode == EditOrbitMode && mValidEditOrbitPoint)
1776 {
1777 mCurrentEditOrbitDist = viewradius;
1778 }
1779 else if(mValidEditOrbitPoint)
1780 {
1781 mCurrentEditOrbitDist = viewradius;
1782
1783 Point3F currentPos;
1784 mObjToWorld.getColumn(3,&currentPos);
1785
1786 Point3F dir = mEditOrbitPoint - currentPos;
1787 dir.normalize();
1788
1789 F32 yaw, pitch;
1790 MathUtils::getAnglesFromVector(dir, yaw, pitch);
1791 mRot.x = -pitch;
1792 mRot.z = yaw;
1793
1794 mPosition = mEditOrbitPoint;
1795 _setPosition(mPosition, mRot);
1796 _calcEditOrbitPoint(&mObjToWorld, mRot);
1797 }
1798}
1799
1800//=============================================================================
1801// Console API.

Callers 1

camera.cppFile · 0.80

Calls 5

mDegToRadFunction · 0.85
mTanFunction · 0.85
getAnglesFromVectorFunction · 0.85
getColumnMethod · 0.80
normalizeMethod · 0.45

Tested by

no test coverage detected