Engauge Digitizer 2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
GeometryStrategyRelationStraight Class Reference

Calculate for line through the points that is straightly connected as a relation. More...

#include <GeometryStrategyRelationStraight.h>

Inheritance diagram for GeometryStrategyRelationStraight:
Inheritance graph
Collaboration diagram for GeometryStrategyRelationStraight:
Collaboration graph

Public Member Functions

 GeometryStrategyRelationStraight ()
 Single constructor.
 
virtual ~GeometryStrategyRelationStraight ()
 
virtual void calculateGeometry (const Points &points, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, QString &funcArea, QString &polyArea, QVector< QString > &x, QVector< QString > &y, QVector< bool > &isPotentialExportAmbiguity, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
 Calculate geometry parameters.
 
- Public Member Functions inherited from GeometryStrategyAbstractBase
 GeometryStrategyAbstractBase ()
 Single constructor.
 
virtual ~GeometryStrategyAbstractBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from GeometryStrategyAbstractBase
void calculatePositionsGraph (const Points &points, const Transformation &transformation, QVector< QPointF > &positionsGraph) const
 Convert screen positions to graph positions.
 
double functionArea (const QVector< QPointF > &positionsGraph) const
 Use trapezoidal approximation to compute area under the function. Does not apply to relation.
 
void insertSubintervalsAndLoadDistances (int subintervalsPerInterval, const QVector< QPointF > &positionsGraph, QVector< QPointF > &positionsGraphWithSubintervals, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
 Insert the specified number of subintervals into each interval.
 
virtual void loadPotentialExportVector (QVector< QString > &x, QVector< QString > &y, const Transformation &transformation, QVector< bool > &isPotentialExportAmbiguity) const
 Load isPotentialExportAmbiguity vector. Default in base class is to load false values since there are no ambiguities.
 
void loadXY (const QVector< QPointF > &positionsGraph, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, QVector< QString > &x, QVector< QString > &y) const
 Load x and y coordinate vectors.
 
double polygonAreaForSimplyConnected (const QVector< QPointF > &points) const
 Area in polygon using Shoelace formula, which only works if polygon is simply connected.
 

Detailed Description

Calculate for line through the points that is straightly connected as a relation.

Definition at line 16 of file GeometryStrategyRelationStraight.h.

Constructor & Destructor Documentation

◆ GeometryStrategyRelationStraight()

GeometryStrategyRelationStraight::GeometryStrategyRelationStraight ( )

Single constructor.

Definition at line 10 of file GeometryStrategyRelationStraight.cpp.

11{
12}

◆ ~GeometryStrategyRelationStraight()

GeometryStrategyRelationStraight::~GeometryStrategyRelationStraight ( )
virtual

Definition at line 14 of file GeometryStrategyRelationStraight.cpp.

15{
16}

Member Function Documentation

◆ calculateGeometry()

void GeometryStrategyRelationStraight::calculateGeometry ( const Points & points,
const DocumentModelCoords & modelCoords,
const DocumentModelGeneral & modelGeneral,
const MainWindowModel & modelMainWindow,
const Transformation & transformation,
QString & funcArea,
QString & polyArea,
QVector< QString > & x,
QVector< QString > & y,
QVector< bool > & isPotentialExportAmbiguity,
QVector< QString > & distanceGraphForward,
QVector< QString > & distancePercentForward,
QVector< QString > & distanceGraphBackward,
QVector< QString > & distancePercentBackward ) const
virtual

Calculate geometry parameters.

Implements GeometryStrategyAbstractBase.

Definition at line 18 of file GeometryStrategyRelationStraight.cpp.

32{
33 const int NUM_SUB_INTERVALS_STRAIGHT = 1; // Value of one with trapezoidal integration results in calculations using straight lines between points
34
37 transformation,
39
48
50 modelCoords,
51 modelGeneral,
52 modelMainWindow,
53 transformation,
54 x,
55 y);
56
58 y,
59 transformation,
61
62 // Set header values
63 funcArea = "";
64 polyArea = QString::number (pArea);
65}
const int INNER_RADIUS_MIN
double polygonAreaForSimplyConnected(const QVector< QPointF > &points) const
Area in polygon using Shoelace formula, which only works if polygon is simply connected.
virtual void loadPotentialExportVector(QVector< QString > &x, QVector< QString > &y, const Transformation &transformation, QVector< bool > &isPotentialExportAmbiguity) const
Load isPotentialExportAmbiguity vector. Default in base class is to load false values since there are...
void loadXY(const QVector< QPointF > &positionsGraph, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &modelMainWindow, const Transformation &transformation, QVector< QString > &x, QVector< QString > &y) const
Load x and y coordinate vectors.
void insertSubintervalsAndLoadDistances(int subintervalsPerInterval, const QVector< QPointF > &positionsGraph, QVector< QPointF > &positionsGraphWithSubintervals, QVector< QString > &distanceGraphForward, QVector< QString > &distancePercentForward, QVector< QString > &distanceGraphBackward, QVector< QString > &distancePercentBackward) const
Insert the specified number of subintervals into each interval.
void calculatePositionsGraph(const Points &points, const Transformation &transformation, QVector< QPointF > &positionsGraph) const
Convert screen positions to graph positions.

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