JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Loading...
Searching...
No Matches

This Mix-In class provides setter/getter methods, storage and other facilities for a line-graph compression algorithm. More...

#include <jkqtpgraphsbasestylingmixins.h>

Inheritance diagram for JKQTPGraphLinesCompressionMixin:
[legend]

Public Member Functions

 JKQTPGraphLinesCompressionMixin ()
 class constructor
 
virtual ~JKQTPGraphLinesCompressionMixin ()
 
double getNonvisibleLineCompressionAgressiveness () const
 
bool getUseNonvisibleLineCompression () const
 
void setNonvisibleLineCompressionAgressiveness (double Agressiveness)
 
void setUseNonvisibleLineCompression (bool _useNonvisibleLineCompression)
 

Properties

double nonvisibleLineCompressionAgressiveness
 
bool useNonvisibleLineCompression
 

Private Attributes

double m_nonvisibleLineCompressionAgressiveness
 this sets the agressiveness of the option useNonvisibleLineCompression
 
bool m_useNonvisibleLineCompression
 use an optimization algorithm that tries to reduce the number of lines that overlap each other (i.e. for noisy data or a low zoom) and thus improves drawing speed
 

Detailed Description

This Mix-In class provides setter/getter methods, storage and other facilities for a line-graph compression algorithm.

supported properties:

  • activate compression (improves plotting speed, but decreases detail level)
  • level of retained details

Constructor & Destructor Documentation

◆ JKQTPGraphLinesCompressionMixin()

JKQTPGraphLinesCompressionMixin::JKQTPGraphLinesCompressionMixin ( )

class constructor

◆ ~JKQTPGraphLinesCompressionMixin()

virtual JKQTPGraphLinesCompressionMixin::~JKQTPGraphLinesCompressionMixin ( )
virtual

Member Function Documentation

◆ getNonvisibleLineCompressionAgressiveness()

double JKQTPGraphLinesCompressionMixin::getNonvisibleLineCompressionAgressiveness ( ) const

◆ getUseNonvisibleLineCompression()

bool JKQTPGraphLinesCompressionMixin::getUseNonvisibleLineCompression ( ) const

◆ setNonvisibleLineCompressionAgressiveness()

void JKQTPGraphLinesCompressionMixin::setNonvisibleLineCompressionAgressiveness ( double  Agressiveness)

◆ setUseNonvisibleLineCompression()

void JKQTPGraphLinesCompressionMixin::setUseNonvisibleLineCompression ( bool  _useNonvisibleLineCompression)

Member Data Documentation

◆ m_nonvisibleLineCompressionAgressiveness

double JKQTPGraphLinesCompressionMixin::m_nonvisibleLineCompressionAgressiveness
private

this sets the agressiveness of the option useNonvisibleLineCompression

Basically the compressed groups will have a size of nonvisibleLineCompressionAgressiveness*pen.linewidth

The default setting is 1.0 , larger settings will lead to better compression (and faster plotting), but less detailed plots, whereas smaller settings will increase the detail-level, but also increase plotting time.

Note
This option is designed to not alter the plot representation significantly, but of course it may ...
See also
JKQTPSimplifyPolyLines() setUseNonvisibleLineCompression(), getUseNonvisibleLineCompression()

◆ m_useNonvisibleLineCompression

bool JKQTPGraphLinesCompressionMixin::m_useNonvisibleLineCompression
private

use an optimization algorithm that tries to reduce the number of lines that overlap each other (i.e. for noisy data or a low zoom) and thus improves drawing speed

When the property useNonvisibleLineCompression is activated (true ), the graph class uses the algorithm implemented in JKQTPSimplifyPolyLines() to simplify the task of plotting.

Note
This option is designed to not alter the plot representation significantly, but of course it may ...
See also
JKQTPSimplifyPolyLines() setUseNonvisibleLineCompression(), getUseNonvisibleLineCompression()

Property Documentation

◆ nonvisibleLineCompressionAgressiveness

double JKQTPGraphLinesCompressionMixin::nonvisibleLineCompressionAgressiveness
readwrite

◆ useNonvisibleLineCompression

bool JKQTPGraphLinesCompressionMixin::useNonvisibleLineCompression
readwrite

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