Engauge Digitizer  2
Public Slots | Signals | Public Member Functions | List of all members
Segment Class Reference

Selectable piecewise-defined line that follows a filtered line in the image. More...

#include <Segment.h>

Inheritance diagram for Segment:

Public Slots

void slotHover (bool hover)
 Slot for hover enter/leave events in the associated SegmentLines.
 

Signals

void signalMouseClickOnSegment (QPointF posSegmentStart)
 Pass mouse press event, with coordinates of first point in the Segment since that info uniquely identifies the owning Segment.
 

Public Member Functions

 Segment (QGraphicsScene &scene, int yLast, bool isGnuplot)
 Single constructor.
 
void appendColumn (int x, int y, const DocumentModelSegments &modelSegments)
 Add some more pixels in a new column to an active segment.
 
QList< QPoint > fillPoints (const DocumentModelSegments &modelSegments)
 Create evenly spaced points along the segment.
 
QPointF firstPoint () const
 Coordinates of first point in Segment. More...
 
void forwardMousePress ()
 Forward mouse press event from a component SegmentLine that was just clicked on.
 
double length () const
 Get method for length in pixels.
 
int lineCount () const
 Get method for number of lines.
 
void removeUnneededLines (int *foldedLines)
 Try to compress a segment that was just completed, by folding together line from point i to point i+1, with the line from i+1 to i+2, then the line from i+2 to i+3, until one of the points is more than a half pixel from the folded line. More...
 
void updateModelSegment (const DocumentModelSegments &modelSegments)
 Update this segment given the new settings.
 

Detailed Description

Selectable piecewise-defined line that follows a filtered line in the image.

Clicking on a Segment results in the immediate creation of multiple Points along that Segment.

Definition at line 21 of file Segment.h.

Member Function Documentation

◆ firstPoint()

QPointF Segment::firstPoint ( ) const

Coordinates of first point in Segment.

This info can be used to uniquely identify a Segment. This method relies on SegmentFactory::removeEmptySegments to guarantee every Segment has at least one line

Definition at line 285 of file Segment.cpp.

◆ removeUnneededLines()

void Segment::removeUnneededLines ( int *  foldedLines)

Try to compress a segment that was just completed, by folding together line from point i to point i+1, with the line from i+1 to i+2, then the line from i+2 to i+3, until one of the points is more than a half pixel from the folded line.

this should save memory and improve user interface responsiveness

Definition at line 420 of file Segment.cpp.


The documentation for this class was generated from the following files: