mirror of https://github.com/CGAL/cgal
Enable overlaying circular arcs and algebraic traits arrangements.
This commit is contained in:
parent
95f2de9801
commit
51b0dc6c96
|
|
@ -794,6 +794,10 @@ on_actionOverlay_triggered( )
|
|||
Conic_arr* conic_arr2;
|
||||
Lin_arr* lin_arr;
|
||||
Lin_arr* lin_arr2;
|
||||
Arc_arr* arc_arr;
|
||||
Arc_arr* arc_arr2;
|
||||
Alg_seg_arr* alg_arr;
|
||||
Alg_seg_arr* alg_arr2;
|
||||
if ( CGAL::assign( seg_arr, arrs[ 0 ] ) && CGAL::assign( seg_arr2, arrs[ 1 ] ) )
|
||||
{
|
||||
this->makeOverlayTab( seg_arr, seg_arr2 );
|
||||
|
|
@ -810,7 +814,14 @@ on_actionOverlay_triggered( )
|
|||
{
|
||||
this->makeOverlayTab( lin_arr, lin_arr2 );
|
||||
}
|
||||
|
||||
if ( CGAL::assign( arc_arr, arrs[ 0 ] ) && CGAL::assign( arc_arr2, arrs[ 1 ] ) )
|
||||
{
|
||||
this->makeOverlayTab( arc_arr, arc_arr2 );
|
||||
}
|
||||
if ( CGAL::assign( alg_arr, arrs[ 0 ] ) && CGAL::assign( alg_arr2, arrs[ 1 ] ) )
|
||||
{
|
||||
this->makeOverlayTab( alg_arr, alg_arr2 );
|
||||
}
|
||||
|
||||
#if 0
|
||||
if ( CGAL::assign( conic_arr, arrs[ 0 ] ) || CGAL::assign( conic_arr, arrs[ 1 ] ) )
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ OverlayDialog( ArrangementDemoWindow* parent, Qt::WindowFlags f ):
|
|||
Pol_arr* pol;
|
||||
Conic_arr* conic;
|
||||
Lin_arr* lin;
|
||||
Arc_arr* arc;
|
||||
Alg_seg_arr* alg;
|
||||
if ( CGAL::assign( seg, arrangements[ i ] ) )
|
||||
{
|
||||
icon.addFile(QString::fromUtf8(":/icons/green_icon.xpm"), QSize(), QIcon::Normal, QIcon::Off);
|
||||
|
|
@ -49,6 +51,14 @@ OverlayDialog( ArrangementDemoWindow* parent, Qt::WindowFlags f ):
|
|||
{
|
||||
icon.addFile(QString::fromUtf8(":/icons/blue_icon.xpm"), QSize(), QIcon::Normal, QIcon::Off);
|
||||
}
|
||||
else if ( CGAL::assign( arc, arrangements[ i ] ) )
|
||||
{
|
||||
icon.addFile(QString::fromUtf8(":/icons/green_icon.xpm"), QSize(), QIcon::Normal, QIcon::Off);
|
||||
}
|
||||
else if ( CGAL::assign( alg, arrangements[ i ] ) )
|
||||
{
|
||||
icon.addFile(QString::fromUtf8(":/icons/yellow_icon.xpm"), QSize(), QIcon::Normal, QIcon::Off);
|
||||
}
|
||||
item->setIcon( icon );
|
||||
}
|
||||
}
|
||||
|
|
@ -128,6 +138,8 @@ restrictSelection( QListWidgetItem* item )
|
|||
Pol_arr* pol;
|
||||
Conic_arr* conic;
|
||||
Lin_arr* lin;
|
||||
Arc_arr* arc;
|
||||
Alg_seg_arr* alg;
|
||||
if ( CGAL::assign( seg, o ) )
|
||||
{
|
||||
for ( int i = 0; i < this->ui->arrangementsListWidget->count( ); ++i )
|
||||
|
|
@ -204,6 +216,44 @@ restrictSelection( QListWidgetItem* item )
|
|||
otherItem->setFlags( flags );
|
||||
}
|
||||
}
|
||||
else if ( CGAL::assign( arc, o ) )
|
||||
{
|
||||
for ( int i = 0; i < this->ui->arrangementsListWidget->count( ); ++i )
|
||||
{
|
||||
QListWidgetItem* otherItem = this->ui->arrangementsListWidget->item( i );
|
||||
CGAL::Object o2 = otherItem->data( ARRANGEMENT ).value< CGAL::Object >( );
|
||||
bool enabled = CGAL::assign( arc, o2 );
|
||||
Qt::ItemFlags flags = otherItem->flags( );
|
||||
if ( ! enabled )
|
||||
{
|
||||
flags &= ~( Qt::ItemIsEnabled );
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= Qt::ItemIsEnabled;
|
||||
}
|
||||
otherItem->setFlags( flags );
|
||||
}
|
||||
}
|
||||
else if ( CGAL::assign( alg, o ) )
|
||||
{
|
||||
for ( int i = 0; i < this->ui->arrangementsListWidget->count( ); ++i )
|
||||
{
|
||||
QListWidgetItem* otherItem = this->ui->arrangementsListWidget->item( i );
|
||||
CGAL::Object o2 = otherItem->data( ARRANGEMENT ).value< CGAL::Object >( );
|
||||
bool enabled = CGAL::assign( alg, o2 );
|
||||
Qt::ItemFlags flags = otherItem->flags( );
|
||||
if ( ! enabled )
|
||||
{
|
||||
flags &= ~( Qt::ItemIsEnabled );
|
||||
}
|
||||
else
|
||||
{
|
||||
flags |= Qt::ItemIsEnabled;
|
||||
}
|
||||
otherItem->setFlags( flags );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Reference in New Issue