Acoustic Research Tool (ART)  v0.10
ARTcircuit Class Reference

This class represents a wind instrument, that is built from several ARTelement:s which are put together in a certain order.

ARTcircuit does not have a direct connection to a hornelement, so prototype_ is NULL, its default value.

Inheritance diagram for ARTcircuit:
ARTelement ARTmodelInterface ARTobject ARTcell

Public Member Functions

 ARTcircuit (ARTsimulator *simulator, const string name, const string sds="", const string lds="", const string htm="")
virtual void Rename (const string newname)
int GetElementPosition (ARTelement *el)
void AppendElement (ARTelement *element)
void AppendElementBefore (ARTelement *before, ARTelement *element)
void AppendElementAfter (ARTelement *after, ARTelement *element)
int DeleteElement (ARTelement *element)
 deletes element from circuits element list, when the element itself is destroyed. This will leave a NULL-pointer in the vector, so the user knows something is missing. Always remove elements before destroying them!
int RemoveElement (ARTelement *element)
 removes element from circuits element list
int ReplaceElement (ARTelement *search, ARTelement *replace)
int RemoveAllElements ()
virtual void PrepareCalculation ()
 propagated impedance using functionoids
virtual void RadiationImpedance (WaveObjectInterface *&out)
 This function should prepare the calculation for the radiation impedance of the model.
virtual void InputImpedance (WaveObjectInterface *in, WaveObjectInterface *&out)
 This function should prepare the calculation of the input impedance of the model by propagating the wave specified in the waveobject in.
virtual bool HasBends ()
- Public Member Functions inherited from ARTelement
 ARTelement (const string name, const string sds="", const string lds="", const string htm="", ARTmodelInterface *prototype=NULL, ARTsimulator *sim=NULL)
virtual void Pressure (WaveObjectInterface *, WaveObjectInterface *&)
 This function should prepare the calculation of the pressure matrix of the model by propagating the wave specified in the waveobject in.
void SetScope (ARTsimulator *sim)
virtual ARTmodelInterfaceCloneModel ()
 A function creating exact copies must be provied.
bool IsPrototypeProperty (ARTproperty *p)
- Public Member Functions inherited from ARTmodelInterface
 ARTmodelInterface (const string name, const string sds, const string lds, const string htm)
 Use this constructor to fill the fields of super classes and initialize other fields.
 ARTmodelInterface (const ARTmodelInterface &orig)
 The copy constructor.
virtual void InputImpedance (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
virtual void Pressure (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
void SetSimulator (ARTsimulator *sim)
 Sets the simulator of the model to sim.
void SetCircuit (ARTcircuit *cir)
 Sets the circuit of the model to cir.
- Public Member Functions inherited from ARTobject
 ARTobject (const string name, const string sds="", const string lds="", const string htm="")
 objects must have a name, the rest is optional
 ARTobject (const ARTobject &orig)
 copy constructor
virtual ARTcellclone ()
ARTpropertyGetProperties (ARTproperty *pos)
 iterate through property list (pass NULL to restart iteration, receive NULL after last element)
ARTpropertyFindProperty (const string nam)
 find and return named property (or return NULL if no match)
ARTpropertyAppendProperty (const string name, const string sds="", const string lds="", const string htm="")
 Append new property with given name to ARTobject.
ARTdataPropAppendDataProp (const string name, ARTvariant *val, const string sds="", const string lds="", const string htm="")
 append new data property with given name to ARTobject
ARTdataPropAppendDataProp (const string name, const double val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const float val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const int val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string *val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (ARTdataProp *dataProp)
ARTlistPropAppendListProp (const string name, const string sds="", const string lds="", const string htm="")
 append new listableProperty with given name
bool DeleteProperty (ARTproperty *prp)
 delete current property (which was recently accessed by GetProperties, FindProperty or AppendProperty)
ARTmethodGetMethods (ARTmethod *pos)
 iterate through method list (pass NULL to restart iteration, receive NULL after last element)
ARTmethodFindMethod (const string nam)
 find and return named method (or return NULL if no match)
ARTmethodAppendMethod (const string name, const string sds="", const string lds="", const string htm="")
 append new method with given name
bool DeleteMethod (ARTmethod *mtd)
 delete current method (which was recently accessed by GetProperties, FindProperty or AppendProperty)
void SetPropertyList (list< ARTproperty * > &l)
void CopyPropertyListEntries (ARTobject *obj)
 copies properties from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
void CopyMethodListEntries (ARTobject *obj)
 copies methods from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
list< ARTproperty * > GetPropertyList ()
list< ARTmethod * > GetMethodList ()
- Public Member Functions inherited from ARTcell
 ARTcell (const string name="", const string sds="", const string lds="", const string htm="")
 ARTcell (const ARTcell &orig)
const string & GetName () const
const string & GetShortDescription () const
const string & GetLongDescription () const
const string & GetHelpFilename () const
void SetName (const string name)

Additional Inherited Members

- Public Attributes inherited from ARTelement
ARTdataContainerz_rad
ARTdataContainerz_inp
ARTmodelInterfacemodel
WaveObjectInterfacewavefrontOut
WaveObjectInterfacewavefrontIn
- Protected Attributes inherited from ARTmodelInterface
ARTcircuitcircuit
 This field must contain a pointer to the circuit which is being evaluated when.
ARTfreqSimulatorsimulator
 This field must contain a pointer to the simulator the element was created in.

Member Function Documentation

void ARTcircuit::InputImpedance ( WaveObjectInterface in,
WaveObjectInterface *&  out 
)
virtual

This function should prepare the calculation of the input impedance of the model by propagating the wave specified in the waveobject in.

Parameters
inThe wave to be propagated.
outA reference to a pointer pointing to the waveobject the function should use as output. If the value of the pointer is NULL, the function must allocate a waveobject to use as output and update the pointer.

Reimplemented from ARTelement.

void ARTcircuit::RadiationImpedance ( WaveObjectInterface *&  out)
virtual

This function should prepare the calculation for the radiation impedance of the model.

Parameters
outA reference to a pointer pointing to the waveobject the function should use as output. If the value of the pointer is NULL, the function must allocate a waveobject to use as output and update the pointer.

Reimplemented from ARTelement.