Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions gui/diagram_canvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ void DiagramCanvas::mousePressEvent(QMouseEvent *e)
vertex = vertexList[vertex_index];

paint( currentEdge, TRUE );
currentEdge->vertex[end]->~Vertex();
currentEdge->vertex[end] = vertex;
currentEdge->vertex[end_]->~Vertex();
currentEdge->vertex[end_] = vertex;

EndData *ed = new EndData( currentEdge, end );
EndData *ed = new EndData( currentEdge, end_ );

vertex->incidentEndData.insert(
vertex->incidentEndData.end(), ed );
Expand All @@ -116,7 +116,7 @@ void DiagramCanvas::mousePressEvent(QMouseEvent *e)
{
Vertex *vertex, *new_vertex;

vertex = currentEdge->vertex[end];
vertex = currentEdge->vertex[end_];
vertexList.insert( vertexList.end(), vertex );

edgeList.insert( edgeList.end(), currentEdge );
Expand Down Expand Up @@ -200,8 +200,8 @@ void DiagramCanvas::mousePressEvent(QMouseEvent *e)

paint( currentEdge, TRUE );

vertex = currentEdge->vertex[begin];
currentEdge->vertex[end]->~Vertex();
vertex = currentEdge->vertex[begin_];
currentEdge->vertex[end_]->~Vertex();

currentEdge->~Edge();

Expand Down Expand Up @@ -432,8 +432,8 @@ void DiagramCanvas::paint_all( QRect& r )

QPoint v, v1, v2, p1, p2 ;

p1 = e->vertex[begin]->position;
p2 = e->vertex[end]->position;
p1 = e->vertex[begin_]->position;
p2 = e->vertex[end_]->position;
p.drawLine( p1, p2 );
/*
if (e->edge_type==singular)
Expand Down Expand Up @@ -485,8 +485,8 @@ void DiagramCanvas::paint_all( QRect& r )
p.setClipRegion( mask );
QPoint v, v1, v2, p1, p2 ;

p1 = e->vertex[begin]->position;
p2 = e->vertex[end]->position;
p1 = e->vertex[begin_]->position;
p2 = e->vertex[end_]->position;
p.drawLine( p1, p2 );
/*
if (e->edge_type==singular)
Expand All @@ -513,8 +513,8 @@ void DiagramCanvas::paint_all( QRect& r )
{
QPoint v, v1, v2, p1, p2 ;

p1 = e->vertex[begin]->position;
p2 = e->vertex[end]->position;
p1 = e->vertex[begin_]->position;
p2 = e->vertex[end_]->position;
p.drawLine( p1, p2 );
/*
if (e->edge_type==singular)
Expand Down Expand Up @@ -568,8 +568,8 @@ void DiagramCanvas::paint( Edge *edge, bool paint_over )

QPoint v, v1, v2, p1, p2 ;

p1 = edge->vertex[begin]->position;
p2 = edge->vertex[end]->position;
p1 = edge->vertex[begin_]->position;
p2 = edge->vertex[end_]->position;
p.drawLine( p1, p2 );
/*
if (edge->edge_type==singular && edge_color != NEW_EDGE)
Expand Down Expand Up @@ -600,7 +600,7 @@ void DiagramCanvas::redrawMovedEdge( QMouseEvent *e )

paint( currentEdge, TRUE);

currentEdge->vertex[end]->position = newEndPoint;
currentEdge->vertex[end_]->position = newEndPoint;

paint( currentEdge, FALSE );
}
Expand Down Expand Up @@ -640,8 +640,8 @@ void DiagramCanvas::delete_dragged_crossings()
{
Crossing *c = *i;

if ( c->over->vertex[begin] == draggedVertex || c->over->vertex[end] == draggedVertex
|| c->under->vertex[begin] == draggedVertex || c->under->vertex[end] == draggedVertex )
if ( c->over->vertex[begin_] == draggedVertex || c->over->vertex[end_] == draggedVertex
|| c->under->vertex[begin_] == draggedVertex || c->under->vertex[end_] == draggedVertex )
{
crossingList.erase( i );
update();
Expand Down
2 changes: 1 addition & 1 deletion gui/diagram_canvas.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ struct Crossing;


enum JoinState { no_join, join };
enum EndType {begin = 0, end = 1};
enum EndType {begin_ = 0, end_ = 1};
enum EdgeType {singular = 0, drilled = 1};

#define THICK 3
Expand Down
24 changes: 12 additions & 12 deletions gui/edge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ Vertex::~Vertex()

Edge::Edge( Vertex *vertex1, Vertex *vertex2 )
{
vertex[begin] = vertex1;
vertex[end] = vertex2;
vertex[begin_] = vertex1;
vertex[end_] = vertex2;

cuff_id = -1;
thickness = THIN;
selected = FALSE;

EndData *ed1 = new EndData( this, begin );
EndData *ed2 = new EndData( this, end );
EndData *ed1 = new EndData( this, begin_ );
EndData *ed2 = new EndData( this, end_ );

vertex1->incidentEndData.insert( vertex1->incidentEndData.end(), ed1 );

Expand All @@ -50,9 +50,9 @@ Edge::~Edge()

void Edge::compute_equation_coefficients()
{
a = vertex[end]->position.y() - vertex[begin]->position.y();
b = vertex[begin]->position.x() - vertex[end]->position.x();
c = -a*vertex[begin]->position.x() - b*vertex[begin]->position.y();
a = vertex[end_]->position.y() - vertex[begin_]->position.y();
b = vertex[begin_]->position.x() - vertex[end_]->position.x();
c = -a*vertex[begin_]->position.x() - b*vertex[begin_]->position.y();
}


Expand All @@ -65,8 +65,8 @@ double Edge::distance_from_edge( QPoint point )

if ( a == 0 && b == 0 )
{
double u = (double) vertex[begin]->position.x();
double v = (double) vertex[begin]->position.y();
double u = (double) vertex[begin_]->position.x();
double v = (double) vertex[begin_]->position.y();

return sqrt( (x0-u)*(x0-u) + (y0-v)*(y0-v) );
}
Expand All @@ -87,10 +87,10 @@ double Edge::projection_to_edge( QPoint point )
double x = ( b*b*x0 - a*b*y0 - a*c ) / ( a*a + b*b );
double y = ( -a*b*x0 + a*a*y0 - b*c ) / ( a*a + b*b );

if ( abs((double) (vertex[begin]->position.x() - vertex[end]->position.x()) ) >= 5 )
return ( x - vertex[begin]->position.x() ) / ( vertex[end]->position.x() - vertex[begin]->position.x() );
if ( abs((double) (vertex[begin_]->position.x() - vertex[end_]->position.x()) ) >= 5 )
return ( x - vertex[begin_]->position.x() ) / ( vertex[end_]->position.x() - vertex[begin_]->position.x() );
else
return ( y - vertex[begin]->position.y() ) / ( vertex[end]->position.y() - vertex[begin]->position.y() );
return ( y - vertex[begin_]->position.y() ) / ( vertex[end_]->position.y() - vertex[begin_]->position.y() );
}


Expand Down
46 changes: 23 additions & 23 deletions gui/general_position.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind

if ( edgeList.size() == 0 ) return TRUE;

if (proximity(edge->vertex[begin]->position, edge->vertex[end]->position))
if (proximity(edge->vertex[begin_]->position, edge->vertex[end_]->position))
return FALSE;

joinState = no_join;
Expand All @@ -57,7 +57,7 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind
* First check whether edge->end is near to some vertex
*/

for ( i=0; i<vertexList.size(); ++i ) if ( proximity( edge->vertex[end]->position, vertexList[i]->position ) )
for ( i=0; i<vertexList.size(); ++i ) if ( proximity( edge->vertex[end_]->position, vertexList[i]->position ) )
{
joinState = join;
*vertex_index = i;
Expand All @@ -72,9 +72,9 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind
if (joinState == join)
for(i=0;i<vertexList[*vertex_index]->incidentEndData.size();i++)
{
int type = (vertexList[*vertex_index]->incidentEndData[i]->type == begin) ? end : begin;
int type = (vertexList[*vertex_index]->incidentEndData[i]->type == begin_) ? end_ : begin_;

if (vertexList[*vertex_index]->incidentEndData[i]->edge->vertex[type] == edge->vertex[begin] )
if (vertexList[*vertex_index]->incidentEndData[i]->edge->vertex[type] == edge->vertex[begin_] )
return FALSE;
}

Expand All @@ -84,14 +84,14 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind


for ( i=0; i<edgeList.size(); ++i )
if ( proximity( edge->vertex[end]->position, edgeList[i] ) )
if ( proximity( edge->vertex[end_]->position, edgeList[i] ) )
{
if (joinState == no_join &&
(edge->vertex[begin] != edgeList[i]->vertex[begin]
|| edge->vertex[begin] != edgeList[i]->vertex[end] ))
(edge->vertex[begin_] != edgeList[i]->vertex[begin_]
|| edge->vertex[begin_] != edgeList[i]->vertex[end_] ))
return FALSE;
else if ( edgeList[i]->vertex[end] != vertexList[*vertex_index]
&& edgeList[i]->vertex[begin] != vertexList[*vertex_index])
else if ( edgeList[i]->vertex[end_] != vertexList[*vertex_index]
&& edgeList[i]->vertex[begin_] != vertexList[*vertex_index])
return FALSE;
}

Expand All @@ -101,7 +101,7 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind
*/
for ( i=0; i<vertexList.size(); ++i )
if ( i != *vertex_index
&& edge->vertex[begin] != vertexList[i]
&& edge->vertex[begin_] != vertexList[i]
&& proximity( vertexList[i]->position, edge ))
return FALSE;
/*
Expand All @@ -117,7 +117,7 @@ bool DiagramCanvas::completed_edge_general_position( Edge *edge, int *vertex_ind
vector<double> cp;
double t1, t2;
QPoint crossing_point;
double len = abs(point_to_complex( edge->vertex[end]->position - edge->vertex[begin]->position));
double len = abs(point_to_complex( edge->vertex[end_]->position - edge->vertex[begin_]->position));

for ( i=0; i<edgeList.size(); ++i ) if ( edge_intersect( edge, edgeList[i], &t1, &t2, &crossing_point ) )
{
Expand Down Expand Up @@ -162,8 +162,8 @@ bool DiagramCanvas::dragged_vertex_general_position()

for(i=0;i<edgeList.size();i++)
if (proximity(draggedVertex->position,edgeList[i])
&& edgeList[i]->vertex[begin] != draggedVertex
&& edgeList[i]->vertex[end] != draggedVertex )
&& edgeList[i]->vertex[begin_] != draggedVertex
&& edgeList[i]->vertex[end_] != draggedVertex )
return FALSE;

for(ed_it = draggedVertex->incidentEndData.begin();
Expand All @@ -172,8 +172,8 @@ bool DiagramCanvas::dragged_vertex_general_position()
{
for(i=0;i<vertexList.size();i++)
if (proximity(vertexList[i]->position,(*ed_it)->edge)
&& (*ed_it)->edge->vertex[begin] != draggedVertex
&& (*ed_it)->edge->vertex[end] != draggedVertex )
&& (*ed_it)->edge->vertex[begin_] != draggedVertex
&& (*ed_it)->edge->vertex[end_] != draggedVertex )
return FALSE;

for(i=0;i<crossingList.size();i++)
Expand All @@ -190,8 +190,8 @@ bool DiagramCanvas::dragged_vertex_general_position()
ed_it != draggedVertex->incidentEndData.end();
ed_it++ )
{
len = abs( point_to_complex( (*ed_it)->edge->vertex[end]->position
- (*ed_it)->edge->vertex[begin]->position));
len = abs( point_to_complex( (*ed_it)->edge->vertex[end_]->position
- (*ed_it)->edge->vertex[begin_]->position));

for ( i=0; i<edgeList.size(); ++i ) if ( edgeList[i] != (*ed_it)->edge &&
edge_intersect( (*ed_it)->edge, edgeList[i], &t1, &t2, &crossing_point ) )
Expand Down Expand Up @@ -248,8 +248,8 @@ bool DiagramCanvas::dragged_vertex_general_position()

bool DiagramCanvas::proximity( QPoint point, Edge *edge )
{
double p = abs( point_to_complex( point - edge->vertex[begin]->position ) );
double q = abs( point_to_complex( point - edge->vertex[end]->position ) );
double p = abs( point_to_complex( point - edge->vertex[begin_]->position ) );
double q = abs( point_to_complex( point - edge->vertex[end_]->position ) );

double r = edge->distance_from_edge( point );
double t = edge->projection_to_edge( point );
Expand Down Expand Up @@ -277,10 +277,10 @@ bool DiagramCanvas::edge_intersect( Edge *edge1, Edge *edge2, double *t1, double
{
complex<double> z1, z2, z3, z4;

z1 = point_to_complex( edge1->vertex[begin]->position );
z2 = point_to_complex( edge1->vertex[end]->position );
z3 = point_to_complex( edge2->vertex[begin]->position );
z4 = point_to_complex( edge2->vertex[end]->position );
z1 = point_to_complex( edge1->vertex[begin_]->position );
z2 = point_to_complex( edge1->vertex[end_]->position );
z3 = point_to_complex( edge2->vertex[begin_]->position );
z4 = point_to_complex( edge2->vertex[end_]->position );

if ( z1 == z2 || z3 == z4 ) return FALSE;

Expand Down
Loading