Acoustic Research Tool (ART)  v0.10
ART implementation

The ART interface uses the classes in this module to simulate instruments.

If you wish to write your own application for the simulation of wind instruments, refer to Using the ART programmer's interface. If you wish to extend the functionality of the interface, have a look at the following classes.


class  ARTprogressIndicator
 The static instance of this class in ARTdataContainer calls the TprogressFunction, if the user has specified one. More...
class  ARTdataContainer
 In addition to a value (ARTvariant) of some kind, this class can also contain the formula to (re)calculate its value. More...
struct  ARTerror
 For errors that make the continuation of the programme impossible an object of this class is thrown. More...
struct  ARTabort
 An object of this class is thrown by ARTprogressIndicator when the user aborts an operation. More...
class  ARTfunctionoid
 The function objects (functionoids or functors) derived from this base class are the same as formulas in ARTdataContainers: instructions for calculation. More...
class  ARTmmRadImpFunc
class  ARTfrqGridFunc
class  ARTwfrqGridFunc
struct  T_ART_Cmplx
 This structure represents a complex number. More...
struct  T_ART_Tripl
 In this structure a frequency and a complex number can be stored. More...
struct  T_ART_Matrix
 This structure represents a 2x2 matrix. More...
class  ARTcell
 The base class for all classes containing name, short and long description of an object and HTML explanation. More...
class  ARTobject
 This is the base class for all acoustic objects. More...
class  ARTproperty
 Objects of this class are sets of strings (see ARTcell for details), that represent the property of an ARTobject. More...
class  ARTdataProp
 A value with a concrete name belonging to an ARTobject is represented by an ARTdataProperty. More...
class  ARTmethod
 Objects of this class represent user actions.The impedance calculation for example is an ARTmethod object, and it contains minimum and maximum frequency as well as delta frequency. More...
class  ARTprototype
 An object of this class is like the blueprint of an ARTelement. More...
class  ARTlistProp
 A list of objects (like all ARTelement:s as userElements) that is added as property to another ARTobject. More...
class  ARTelement
 Simulators belong to a simulation domain (frequency, time) and simulate waves of a certain type (plain, spherical, multimodal). More...
class  ARTcircuit
 This class represents a wind instrument, that is built from several ARTelement:s which are put together in a certain order. More...
class  AcousticResearchTool
 The acoustic research tool contains all simulators, prototypes and elements, as well as menu commands. More...


typedef bool(* TprogressFunction )(double, const char *)
 The user can specify a callback function, which is called repeatedly whenever data containers are evaluated.


enum  T_ART_Type {
  C_ART_str, C_ART_enum, C_ART_int, C_ART_dbl,
  C_ART_flo, C_ART_cpx, C_ART_tri, C_ART_mat,
  C_ART_matx, C_ART_nstr, C_ART_nint, C_ART_nflo,
  C_ART_ndbl, C_ART_ncpx, C_ART_ntri, C_ART_nmat,
  C_ART_nmatx, C_ART_na, C_ART_undef

Typedef Documentation

typedef bool(* TprogressFunction)(double, const char *)

The user can specify a callback function, which is called repeatedly whenever data containers are evaluated.

The callback function must be of the following form:

bool myCallbackFunction(double myProgressInfo);

If the evaluation cost has been determined before, the callback function receives a floating-point number between 0 and 1, where 1 means the process is complete. The callback function must return true to continue the calculation or false to abort it. In that case an ARTabort exception is thrown, which must be catched at some higher level in the programme.

Enumeration Type Documentation

enum T_ART_Type

string type


enum type


integer type


double type


float type


T_ART_Cmplx type.


T_ART_Tripl type.


T_ART_Matrix type.


math::matrix< std::complex<double> >* type


string array type


integer array type


float array type


double array type


T_ART_Cmplx array type.


T_ART_Tripl array type.


T_ART_Matrix array type.


math::matrix< std::complex<double> >* array type


ARTvariant array type (container for other ARTvariant objects)


uninitialized type