COPASI API  4.16.103
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | Friends | List of all members
CFunctionParameter Class Reference

#include <CFunctionParameter.h>

Inheritance diagram for CFunctionParameter:
Inheritance graph
[legend]
Collaboration diagram for CFunctionParameter:
Collaboration graph
[legend]

Public Types

enum  DataType { INT32 = 0, FLOAT64, VINT32, VFLOAT64 }
 
enum  Role {
  SUBSTRATE = 0, PRODUCT, MODIFIER, PARAMETER,
  VOLUME, TIME, VARIABLE, TEMPORARY
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 

Public Member Functions

 CFunctionParameter (const std::string &name="NoName", const CCopasiContainer *pParent=NULL)
 
 CFunctionParameter (const CFunctionParameter &src, const CCopasiContainer *pParent=NULL)
 
 CFunctionParameter (const std::string &name, const DataType &type, Role usage, const CCopasiContainer *pParent=NULL)
 
void cleanup ()
 
virtual const std::string & getKey () const
 
const
CFunctionParameter::DataType
getType () const
 
Role getUsage () const
 
const bool & isUsed () const
 
virtual void load (CReadConfig &configbuffer, CReadConfig::Mode mode=CReadConfig::NEXT)
 
void setIsUsed (const bool &isUsed)
 
void setType (const CFunctionParameter::DataType &type)
 
void setUsage (Role usage)
 
virtual ~CFunctionParameter ()
 
- Public Member Functions inherited from CCopasiContainer
virtual bool add (CCopasiObject *pObject, const bool &adopt=true)
 
 CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container)
 
 CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL)
 
virtual std::string getChildObjectUnits (const CCopasiObject *pObject) const
 
virtual const CObjectInterfacegetObject (const CCopasiObjectName &cn) const
 
virtual const objectMapgetObjects () const
 
virtual std::string getUnits () const
 
virtual const CCopasiObjectgetValueObject () const
 
virtual bool remove (CCopasiObject *pObject)
 
virtual ~CCopasiContainer ()
 
- Public Member Functions inherited from CCopasiObject
void addDirectDependency (const CCopasiObject *pObject)
 
 CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL)
 
void clearDirectDependencies ()
 
void clearRefresh ()
 
bool dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const
 
void getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const
 
virtual CCopasiObjectName getCN () const
 
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () const
 
virtual voidgetValuePointer () const
 
bool hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const
 
bool hasUpdateMethod () const
 
bool isArray () const
 
bool isContainer () const
 
bool isDataModel () const
 
bool isMatrix () const
 
bool isNameVector () const
 
bool isNonUniqueName () const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const
 
bool isReference () const
 
bool isRoot () const
 
bool isSeparator () const
 
bool isStaticString () const
 
bool isValueBool () const
 
bool isValueDbl () const
 
bool isValueInt () const
 
bool isValueInt64 () const
 
bool isValueString () const
 
bool isVector () const
 
virtual bool mustBeDeleted (const DataObjectSet &deletedObjects) const
 
virtual void print (std::ostream *ostream) const
 
void removeDirectDependency (const CCopasiObject *pObject)
 
void setDirectDependencies (const DataObjectSet &directDependencies)
 
bool setObjectName (const std::string &name)
 
virtual bool setObjectParent (const CCopasiContainer *pParent)
 
void setObjectValue (const C_FLOAT64 &value)
 
void setObjectValue (const C_INT32 &value)
 
void setObjectValue (const bool &value)
 
template<class CType >
void setRefresh (CType *pType, void(CType::*method)(void))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const bool &))
 
virtual ~CCopasiObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
virtual ~CObjectInterface ()
 

Static Public Member Functions

static Role xmlRole2Enum (const std::string &role)
 
- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
 
static void setRenameHandler (CRenameHandler *rh)
 

Static Public Attributes

static const std::string DataTypeName []
 
static const std::string RoleNameDisplay []
 
static const std::string RoleNameXML []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 

Private Attributes

bool mIsUsed
 
std::string mKey
 
CFunctionParameter::DataType mType
 
Role mUsage
 

Friends

std::ostream & operator<< (std::ostream &os, const CFunctionParameter &d)
 

Additional Inherited Members

- Protected Types inherited from CCopasiObject
enum  Flag {
  Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8,
  Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80,
  ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800,
  Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000,
  Root = 0x10000, Gui = 0x20000
}
 
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
void initObjects ()
 
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

CFunctionParameter

Created for Copasi by Stefan Hoops (C) Stefan Hoops 2001

Definition at line 34 of file CFunctionParameter.h.

Member Enumeration Documentation

Valid data type for a function parameter

Enumerator
INT32 
FLOAT64 
VINT32 
VFLOAT64 

Definition at line 70 of file CFunctionParameter.h.

Constructor & Destructor Documentation

CFunctionParameter::CFunctionParameter ( const std::string &  name = "NoName",
const CCopasiContainer pParent = NULL 
)

Default constructor

Parameters
conststd::string & name (default: "NoName")
constCCopasiContainer * pParent (default: NULL)

Definition at line 55 of file CFunctionParameter.cpp.

References CONSTRUCTOR_TRACE.

56  :
57  CCopasiContainer(name, pParent, "Variable"),
58  mKey(CCopasiRootContainer::getKeyFactory()->add("FunctionParameter", this)),
61  mIsUsed(true)
CFunctionParameter::DataType mType
static CKeyFactory * getKeyFactory()
virtual bool add(CCopasiObject *pObject, const bool &adopt=true)
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CFunctionParameter::CFunctionParameter ( const CFunctionParameter src,
const CCopasiContainer pParent = NULL 
)

Copy constructor

Parameters
const CFunctionParameter& src
constCCopasiContainer * pParent (default: NULL)

Definition at line 64 of file CFunctionParameter.cpp.

References CONSTRUCTOR_TRACE.

65  :
66  CCopasiContainer(src, pParent),
67  mKey(CCopasiRootContainer::getKeyFactory()->add("FunctionParameter", this)),
68  mType(src.mType),
69  mUsage(src.mUsage),
70  mIsUsed(src.mIsUsed)
CFunctionParameter::DataType mType
static CKeyFactory * getKeyFactory()
virtual bool add(CCopasiObject *pObject, const bool &adopt=true)
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CFunctionParameter::CFunctionParameter ( const std::string &  name,
const DataType type,
Role  usage,
const CCopasiContainer pParent = NULL 
)

Specified constuctor, sets all member values at once

Parameters
const string &name
const CFunctionParameter::DataType &type
const string &usage
constCCopasiContainer * pParent (default: NULL)
CFunctionParameter::~CFunctionParameter ( )
virtual

Destructor

Definition at line 84 of file CFunctionParameter.cpp.

References DESTRUCTOR_TRACE, CCopasiRootContainer::getKeyFactory(), mKey, and CKeyFactory::remove().

85 {
88 }
bool remove(const std::string &key)
#define DESTRUCTOR_TRACE
Definition: copasi.h:206
static CKeyFactory * getKeyFactory()

Member Function Documentation

void CFunctionParameter::cleanup ( )

Cleanup

Definition at line 90 of file CFunctionParameter.cpp.

90 {}
const std::string & CFunctionParameter::getKey ( ) const
virtual

Retrieves the key of the function parameter.

Returns
std::string name

Reimplemented from CCopasiObject.

Definition at line 102 of file CFunctionParameter.cpp.

References mKey.

Referenced by CCopasiXML::saveFunctionList().

102 {return mKey;}
const CFunctionParameter::DataType & CFunctionParameter::getType ( ) const

Retrieves the data type of the parameter

Returns
"const CFunctionParameter::DataType" & type

Definition at line 113 of file CFunctionParameter.cpp.

References mType.

Referenced by CReactionInterface::connectFromScratch(), CModel::convert2NonReversible(), CReaction::loadOld(), CReaction::loadOneRole(), CReaction::setFunctionFromExpressionTree(), and CCopasiXMLParser::SourceParameterElement::start().

114 {
115  return mType;
116 }
CFunctionParameter::DataType mType
CFunctionParameter::Role CFunctionParameter::getUsage ( ) const

Retrieves the usage of the parameter

Returns
"const string" & usage

Definition at line 106 of file CFunctionParameter.cpp.

References mUsage.

Referenced by CModel::convert2NonReversible(), CSBMLExporter::createKineticLaw(), CReactionInterface::getDeletedParameters(), CCopasiXML::saveFunctionList(), and CReaction::setFunctionFromExpressionTree().

106 {return mUsage;}
const bool & CFunctionParameter::isUsed ( ) const

Retrieve whether the parameter is used within a function

Returns
const bool & isUsed

Definition at line 125 of file CFunctionParameter.cpp.

References mIsUsed.

Referenced by setIsUsed().

126 {return mIsUsed;}
void CFunctionParameter::load ( CReadConfig configbuffer,
CReadConfig::Mode  mode = CReadConfig::NEXT 
)
virtual

Loads an object with data coming from a CReadConfig object. (CReadConfig object reads an input stream)

Parameters
pconfigbufferreference to a CReadConfig object.
Returns
Fail

Definition at line 92 of file CFunctionParameter.cpp.

References CReadConfig::getVariable(), mType, mUsage, and CCopasiObject::setObjectName().

94 {
95  std::string tmp;
96  configbuffer.getVariable("FunctionParameter", "string", &tmp, mode);
97  setObjectName(tmp);
98  configbuffer.getVariable("DataType", "C_INT32", &mType);
99  configbuffer.getVariable("Usage", "string", &mUsage);
100 }
CFunctionParameter::DataType mType
C_INT32 getVariable(const std::string &name, const std::string &type, void *pout, CReadConfig::Mode mode=CReadConfig::NEXT)
Definition: CReadConfig.cpp:81
bool setObjectName(const std::string &name)
void CFunctionParameter::setIsUsed ( const bool &  isUsed)

Set whether the parameter is used within a function

Parameters
constbool & isUsed

Definition at line 118 of file CFunctionParameter.cpp.

References isUsed(), and mIsUsed.

Referenced by CCopasiXMLParser::ParameterDescriptionElement::start().

119 {mIsUsed = isUsed;}
const bool & isUsed() const
void CFunctionParameter::setType ( const CFunctionParameter::DataType type)

Sets the data type of the parameter

Parameters
const CFunctionParameter::DataType& type

Definition at line 108 of file CFunctionParameter.cpp.

References mType.

Referenced by CKinFunction::createParameters(), and CCopasiXMLParser::ParameterDescriptionElement::start().

109 {mType = type;}
CFunctionParameter::DataType mType
void CFunctionParameter::setUsage ( Role  usage)

Sets the usage of the parameter

Parameters
const string& usage

Definition at line 104 of file CFunctionParameter.cpp.

References mUsage.

Referenced by CKinFunction::createParameters(), SBMLImporter::setCorrectUsage(), and CCopasiXMLParser::ParameterDescriptionElement::start().

104 {mUsage = usage;}
CFunctionParameter::Role CFunctionParameter::xmlRole2Enum ( const std::string &  role)
static

Definition at line 43 of file CFunctionParameter.cpp.

References C_INT32, RoleNameXML, and VARIABLE.

Referenced by CCopasiXMLParser::ParameterDescriptionElement::start().

44 {
45  C_INT32 i;
46 
47  for (i = 0; (RoleNameXML[i] != "") && (RoleNameXML[i] != xmlrole); ++i) {};
48 
49  if (RoleNameXML[i] == "")
50  return VARIABLE; //default for invalid XML string
51  else
52  return (Role)i;
53 }
#define C_INT32
Definition: copasi.h:90
static const std::string RoleNameXML[]

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const CFunctionParameter d 
)
friend

insert operator

Definition at line 128 of file CFunctionParameter.cpp.

129 {
130  //os << "CFunctionParameter: "
131  os << d.getObjectName();
132 
133  if (d.mType != 1) os << " mType " << d.mType;
134 
135  os << " [" << CFunctionParameter::RoleNameDisplay[d.mUsage] << "]";
136 
137  return os;
138 }
const std::string & getObjectName() const
CFunctionParameter::DataType mType
static const std::string RoleNameDisplay[]

Member Data Documentation

const std::string CFunctionParameter::DataTypeName
static
Initial value:
=
{"Integer", "Double", "Vector of Integer", "Vector of Double", ""}

A string representation of the data type

CFunctionParameter

Created for COPASI by Stefan Hoops (C) Stefan Hoops 2001

Definition at line 40 of file CFunctionParameter.h.

Referenced by FunctionWidget1::loadParameterTable().

bool CFunctionParameter::mIsUsed
private

Specifies whether the parameter is used in the function

Definition at line 95 of file CFunctionParameter.h.

Referenced by isUsed(), and setIsUsed().

std::string CFunctionParameter::mKey
private

The key of the function parameter

Definition at line 76 of file CFunctionParameter.h.

Referenced by getKey(), and ~CFunctionParameter().

CFunctionParameter::DataType CFunctionParameter::mType
private

The data type of the parameter this may be one of INT16, INT32, UINT16, UINT32, FLOAT32, FLOAT64, VINT16, VINT32, VUINT16, VUINT32, VFLOAT32, VFLOAT64

Definition at line 83 of file CFunctionParameter.h.

Referenced by getType(), load(), operator<<(), and setType().

Role CFunctionParameter::mUsage
private

The usage or meaning of the parameter. This has no functional implication for CFunction but it might be used in derived classes. Possible usage is SUBSTRATE, PRODUCT, MODIFIER, or PARAMETER

Definition at line 90 of file CFunctionParameter.h.

Referenced by getUsage(), load(), operator<<(), and setUsage().

const std::string CFunctionParameter::RoleNameDisplay
static
Initial value:
=
{"Substrate", "Product", "Modifier", "Parameter", "Volume", "Time", "Variable", ""}

Definition at line 58 of file CFunctionParameter.h.

Referenced by CFunctionParameters::getParameterByUsage(), FunctionWidget1::loadParameterTable(), operator<<(), and ParameterTable::updateTable().

const std::string CFunctionParameter::RoleNameXML
static
Initial value:
=
{"substrate", "product", "modifier", "constant", "volume", "time", "variable", ""}

The string representation of valid roles of a function parameter

Definition at line 57 of file CFunctionParameter.h.

Referenced by CCopasiXML::saveFunctionList(), and xmlRole2Enum().


The documentation for this class was generated from the following files: