hydrogen 1.1.1
AutomationPath Class Reference

#include <AutomationPath.h>

Inheritance diagram for AutomationPath:
Object

Public Types

typedef std::map< float, float >::iterator iterator
 
typedef std::map< float, float >::const_iterator const_iterator
 

Public Member Functions

 AutomationPath (float min, float max, float def)
 
bool empty () const noexcept
 
float get_min () const noexcept
 
float get_max () const noexcept
 
float get_default () const noexcept
 
float get_value (float x) const noexcept
 Get value at given location. More...
 
void add_point (float x, float y)
 Add a point to path. More...
 
void remove_point (float x)
 Remove point from path. More...
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
iterator find (float x)
 Find point near specific location. More...
 
iterator move (iterator &in, float x, float y)
 Move point to other location. More...
 
QString toQString (const QString &sPrefix, bool bShort=true) const override
 Formatted string version for debugging purposes. More...
 
- Public Member Functions inherited from Object
 ~Object ()
 destructor More...
 
 Object (const Object &obj)
 copy constructor More...
 
 Object (const char *class_name)
 constructor More...
 
const char * class_name () const
 return the class name More...
 
virtual QString toQString (const QString &sPrefix, bool bShort=true) const
 Formatted string version for debugging purposes. More...
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG. More...
 

Private Attributes

float _min
 
float _max
 
float _def
 
std::map< float, float > _points
 

Friends

bool operator== (const AutomationPath &lhs, const AutomationPath &rhs)
 Compare two paths. More...
 
bool operator!= (const AutomationPath &lhs, const AutomationPath &rhs)
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static void set_count (bool flag)
 enable/disable class instances counting More...
 
static bool count_active ()
 return true if class instances counting is enabled More...
 
static unsigned objects_count ()
 return the number of objects More...
 
static void write_objects_map_to (std::ostream &out)
 output the full objects map to a given ostream More...
 
static void write_objects_map_to_cerr ()
 output objects map to stderr More...
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation ! More...
 
static Loggerlogger ()
 return the logger instance More...
 
- Static Public Attributes inherited from Object
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes. More...
 
- Static Protected Attributes inherited from Object
static Logger__logger = nullptr
 logger instance pointer More...
 

Member Typedef Documentation

◆ const_iterator

typedef std::map<float,float>::const_iterator const_iterator

◆ iterator

typedef std::map<float,float>::iterator iterator

Constructor & Destructor Documentation

◆ AutomationPath()

AutomationPath ( float  min,
float  max,
float  def 
)

Member Function Documentation

◆ add_point()

void add_point ( float  x,
float  y 
)

Add a point to path.

Parameters
xX coordinate
yY coordinate

◆ begin() [1/2]

iterator begin ( )
inline

◆ begin() [2/2]

const_iterator begin ( ) const
inline

◆ empty()

bool empty ( ) const
inlinenoexcept

◆ end() [1/2]

iterator end ( )
inline

◆ end() [2/2]

const_iterator end ( ) const
inline

◆ find()

AutomationPath::iterator find ( float  x)

Find point near specific location.

If point is faound, iterator pointing to it is returned. Otherwise, AutomationPath::end() is returned.

◆ get_default()

float get_default ( ) const
inlinenoexcept

◆ get_max()

float get_max ( ) const
inlinenoexcept

◆ get_min()

float get_min ( ) const
inlinenoexcept

◆ get_value()

float get_value ( float  x) const
noexcept

Get value at given location.

Parameters
xLocation

If location is between points, value is computed

◆ move()

AutomationPath::iterator move ( iterator in,
float  x,
float  y 
)

Move point to other location.

Parameters
inIterator pointing to point to be moved
xDestination X coordinate
yDestination Y coordinate

◆ remove_point()

void remove_point ( float  x)

Remove point from path.

Parameters
xPoint location

◆ toQString()

QString toQString ( const QString &  sPrefix,
bool  bShort = true 
) const
overridevirtual

Formatted string version for debugging purposes.

Parameters
sPrefixString prefix which will be added in front of every new line
bShortInstead of the whole content of all classes stored as members just a single unique identifier will be displayed without line breaks.
Returns
String presentation of current object.

Reimplemented from Object.

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const AutomationPath lhs,
const AutomationPath rhs 
)
friend

◆ operator==

bool operator== ( const AutomationPath lhs,
const AutomationPath rhs 
)
friend

Compare two paths.

Two paths are considered equal, if they have the same settings (min, max, default) and points in the same places.

Field Documentation

◆ _def

float _def
private

◆ _max

float _max
private

◆ _min

float _min
private

◆ _points

std::map<float,float> _points
private