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

Simulators belong to a simulation domain (frequency, time) and simulate waves of a certain type (plain, spherical, multimodal).

This is the parent class for all implementations of a simulator in ART.

Inheritance diagram for ARTsimulator:
ARTobject ARTcell ARTfreqSimulator ARTtimeSimulator

Public Member Functions

 ARTsimulator (const string name, const string domain="invalidDomain", const string sds="", const string lds="", const string htm="")
 Creates a new Simulator object.
virtual ARTpropertyGetDomain ()
 Returns the current domain of the simulator.
virtual ParserX * GetParser ()
 Returns the global parser object of the simulator.
virtual ARTdataPropFindDataPropInSimulator (string exp)
 Returns a data property with the specified name if it is saved in the current simulator.
virtual ~ARTsimulator ()
 The destructor of the simulator class is doing nothing as all saved properties will be deallocated by the destructor of the ARTObject class.
- 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)

Public Attributes

ARTlistPropuserElements
 Pointer to the user elements of the simulator, mainly used by the frequency Simulator.
ARTlistPropcircuits
 Pointer to all internal circuits, mainly used by the frequency Simulator.

Protected Attributes

ARTproperty domain_
 Defines the domain type (frequency or time) of the current simulator.
ParserX * parser_
 A parser object which can be used for assignment calculations of global simulation parameters.
- Protected Attributes inherited from ARTobject
list< ARTproperty * > propertyList_
list< ARTproperty * >::iterator piter_
list< ARTmethod * > methodList_
list< ARTmethod * >::iterator miter_
- Protected Attributes inherited from ARTcell
string name_
 Identifier of ARTObject.
string shortDesc_
 Short Description of ARTObject (single line hint)
string longDesc_
 Long Description of ARTObject (multi line text)
string helpFile_
 File name of HTML help file for ARTObject.

Constructor & Destructor Documentation

ARTsimulator::ARTsimulator ( const string  name,
const string  domain = "invalidDomain",
const string  sds = "",
const string  lds = "",
const string  htm = "" 
)

Creates a new Simulator object.

Parameters
[in]nameDefines the unique identifier of the simulator.
[in]domainDefines the domain type of the simulator.
[in]sdsShort description (single line) of the created simulator.
[in]ldsLong description of the created simulator.
[in]htmPath to help file in HTML format.

Member Function Documentation

ARTdataProp * ARTsimulator::FindDataPropInSimulator ( string  exp)
virtual

Returns a data property with the specified name if it is saved in the current simulator.

Finds the data property represented by the string exp; This can be a data property of an element or model in the simulator (then the string is something like "Cyl.length") or a data property of the simulator itself.

Parameters
[in]expThe name/identifier of the property. May contain a dot '.' in order to access hierarchical properties, e.g., "foo.bar".
Exceptions
ARTerrorIn case the specified property could not be found in the current simulator.

Reimplemented in ARTtimeSimulator.

Member Data Documentation

ARTproperty ARTsimulator::domain_
protected

Defines the domain type (frequency or time) of the current simulator.