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;
|
Conic_arr* conic_arr2;
|
||||||
Lin_arr* lin_arr;
|
Lin_arr* lin_arr;
|
||||||
Lin_arr* lin_arr2;
|
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 ] ) )
|
if ( CGAL::assign( seg_arr, arrs[ 0 ] ) && CGAL::assign( seg_arr2, arrs[ 1 ] ) )
|
||||||
{
|
{
|
||||||
this->makeOverlayTab( seg_arr, seg_arr2 );
|
this->makeOverlayTab( seg_arr, seg_arr2 );
|
||||||
|
|
@ -810,7 +814,14 @@ on_actionOverlay_triggered( )
|
||||||
{
|
{
|
||||||
this->makeOverlayTab( lin_arr, lin_arr2 );
|
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 0
|
||||||
if ( CGAL::assign( conic_arr, arrs[ 0 ] ) || CGAL::assign( conic_arr, arrs[ 1 ] ) )
|
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;
|
Pol_arr* pol;
|
||||||
Conic_arr* conic;
|
Conic_arr* conic;
|
||||||
Lin_arr* lin;
|
Lin_arr* lin;
|
||||||
|
Arc_arr* arc;
|
||||||
|
Alg_seg_arr* alg;
|
||||||
if ( CGAL::assign( seg, arrangements[ i ] ) )
|
if ( CGAL::assign( seg, arrangements[ i ] ) )
|
||||||
{
|
{
|
||||||
icon.addFile(QString::fromUtf8(":/icons/green_icon.xpm"), QSize(), QIcon::Normal, QIcon::Off);
|
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);
|
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 );
|
item->setIcon( icon );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -128,6 +138,8 @@ restrictSelection( QListWidgetItem* item )
|
||||||
Pol_arr* pol;
|
Pol_arr* pol;
|
||||||
Conic_arr* conic;
|
Conic_arr* conic;
|
||||||
Lin_arr* lin;
|
Lin_arr* lin;
|
||||||
|
Arc_arr* arc;
|
||||||
|
Alg_seg_arr* alg;
|
||||||
if ( CGAL::assign( seg, o ) )
|
if ( CGAL::assign( seg, o ) )
|
||||||
{
|
{
|
||||||
for ( int i = 0; i < this->ui->arrangementsListWidget->count( ); ++i )
|
for ( int i = 0; i < this->ui->arrangementsListWidget->count( ); ++i )
|
||||||
|
|
@ -204,6 +216,44 @@ restrictSelection( QListWidgetItem* item )
|
||||||
otherItem->setFlags( flags );
|
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
|
void
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue