* set clipper points to selected face on clipper tool switching-on

This commit is contained in:
Garux 2020-06-17 19:36:33 +03:00
parent ae9fe08159
commit b111d28053

View File

@ -4708,11 +4708,18 @@ public:
} }
selectionChange( selector ); selectionChange( selector );
} }
void reset(){ void reset( bool initFromFace ){
for( std::size_t i = 0; i < 3; ++i ){ for( std::size_t i = 0; i < 3; ++i ){
m_points[i].m_set = false; m_points[i].m_set = false;
m_points[i].setSelected( false ); ///? m_points[i].setSelected( false ); ///?
} }
if( initFromFace && !g_SelectedFaceInstances.empty() ){
const Winding& w = g_SelectedFaceInstances.last().getFace().getWinding();
for( std::size_t i = 0; i < 3; ++i ){
m_points[i].m_set = true;
m_points[i].m_point = w[i].vertex;
}
}
updatePlane(); updatePlane();
} }
/* Translatable */ /* Translatable */
@ -6836,7 +6843,7 @@ EComponentMode ComponentMode() const {
} }
void SetManipulatorMode( EManipulatorMode mode ){ void SetManipulatorMode( EManipulatorMode mode ){
if( ( mode == eClip ) || ( ManipulatorMode() == eClip ) ){ if( ( mode == eClip ) || ( ManipulatorMode() == eClip ) ){
m_clip_manipulator.reset(); m_clip_manipulator.reset( ( mode == eClip ) && ( ManipulatorMode() != eClip ) );
if( ( mode == eClip ) != ( ManipulatorMode() == eClip ) ) if( ( mode == eClip ) != ( ManipulatorMode() == eClip ) )
Clipper_modeChanged( mode == eClip ); Clipper_modeChanged( mode == eClip );
} }