simplify planeselectables if( camera ) check

This commit is contained in:
Garux 2018-04-13 00:14:32 +03:00
parent 652de9bb8f
commit 3ae4188e3d
3 changed files with 5 additions and 5 deletions

View File

@ -143,7 +143,7 @@ void selectPlanes( const AABB& aabb, Selector& selector, SelectionTest& test, co
} }
} }
} }
if( test.getVolume().GetViewMatrix().xw() != 0 || test.getVolume().GetViewMatrix().yw() != 0 ) // select only plane in camera if( test.getVolume().fill() ) // select only plane in camera
selectable2 = 0; selectable2 = 0;
for ( std::size_t i = 0; i < 6; ++i ) for ( std::size_t i = 0; i < 6; ++i )
if( &m_selectables[i] == selectable || &m_selectables[i] == selectable2 ){ if( &m_selectables[i] == selectable || &m_selectables[i] == selectable2 ){

View File

@ -3570,11 +3570,10 @@ void selectPlanes( Selector& selector, SelectionTest& test, const PlaneCallback&
FaceInstances_ptrs bestInstances; FaceInstances_ptrs bestInstances;
selectPlanes( test, bestInstances ); selectPlanes( test, bestInstances );
const bool cam = test.getVolume().GetViewMatrix().xw() != 0 || test.getVolume().GetViewMatrix().yw() != 0;
for ( FaceInstances_ptrs::iterator i = bestInstances.begin(); i != bestInstances.end(); ++i ){ for ( FaceInstances_ptrs::iterator i = bestInstances.begin(); i != bestInstances.end(); ++i ){
( *i )->addSelectable( selector ); ( *i )->addSelectable( selector );
selectedPlaneCallback( ( *i )->getFace().plane3() ); selectedPlaneCallback( ( *i )->getFace().plane3() );
if( cam ) if( test.getVolume().fill() )
return; // select only plane in camera return; // select only plane in camera
} }
} }
@ -3590,7 +3589,7 @@ void selectVerticesOnPlanes( SelectionTest& test ){
FaceInstances_ptrs bestInstances; FaceInstances_ptrs bestInstances;
selectPlanes( test, bestInstances ); selectPlanes( test, bestInstances );
if( ( test.getVolume().GetViewMatrix().xw() != 0 || test.getVolume().GetViewMatrix().yw() != 0 ) && !bestInstances.empty() ) // select only plane in camera if( test.getVolume().fill() && !bestInstances.empty() ) // select only plane in camera
for( FaceInstances_ptrs::iterator i = bestInstances.end() - 1; i != bestInstances.begin(); --i ) for( FaceInstances_ptrs::iterator i = bestInstances.end() - 1; i != bestInstances.begin(); --i )
bestInstances.pop_back(); bestInstances.pop_back();
for ( VertexInstances::iterator i = m_vertexInstances.begin(); i != m_vertexInstances.end(); ++i ) for ( VertexInstances::iterator i = m_vertexInstances.begin(); i != m_vertexInstances.end(); ++i )

View File

@ -2432,7 +2432,8 @@ public:
} }
} }
} }
if( view.GetViewMatrix().xw() != 0 || view.GetViewMatrix().yw() != 0 ) // select only plane in camera // if( view.GetViewMatrix().xw() != 0 || view.GetViewMatrix().yw() != 0 )
if( view.fill() ) // select only plane in camera
selectable2 = 0; selectable2 = 0;
if( selectable ){ if( selectable ){
Vector3 origin = m_bounds.origin; Vector3 origin = m_bounds.origin;