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.

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...

Typedefs

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

Enumerations

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
Enumerator:
C_ART_str 

string type

C_ART_enum 

enum type

C_ART_int 

integer type

C_ART_dbl 

double type

C_ART_flo 

float type

C_ART_cpx 

T_ART_Cmplx type.

C_ART_tri 

T_ART_Tripl type.

C_ART_mat 

T_ART_Matrix type.

C_ART_matx 

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

C_ART_nstr 

string array type

C_ART_nint 

integer array type

C_ART_nflo 

float array type

C_ART_ndbl 

double array type

C_ART_ncpx 

T_ART_Cmplx array type.

C_ART_ntri 

T_ART_Tripl array type.

C_ART_nmat 

T_ART_Matrix array type.

C_ART_nmatx 

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

C_ART_na 

ARTvariant array type (container for other ARTvariant objects)

C_ART_undef 

uninitialized type