COPASI API  4.40.278
CCopasiProblem Class Reference

#include <CCopasiProblem.h>

Inheritance diagram for CCopasiProblem:
[legend]

Public Member Functions

 CCopasiProblem (const CCopasiProblem &src, const CDataContainer *pParent)
 
virtual void clearCallBack ()
 
CCopasiProblem * copy () const
 
const CProcessReportLevel & getCallBack () const
 
CMathContainer * getMathContainer () const
 
virtual CCopasiTask * getSubTask () const
 
const CTaskEnum::Task & getType () const
 
virtual bool initialize ()
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
virtual bool restore (const bool &updateModel)
 
virtual bool setCallBack (CProcessReportLevel callBack)
 
void setMathContainer (CMathContainer *pContainer)
 
virtual bool setModel (CModel *model)
 
virtual ~CCopasiProblem ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
void addParameter (CCopasiParameter *pParameter)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
virtual bool applyData (const CData &data, CUndoData::CChangeSet &changes)
 
CCopasiParameterGroup * assertGroup (const std::string &name, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
CType * assertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
index_iterator beginIndex () const
 
const_name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CDataContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="ParameterGroup")
 
void clear ()
 
virtual void createUndoData (CUndoData &undoData, const CUndoData::Type &type, const CData &oldData=CData(), const CCore::Framework &framework=CCore::Framework::ParticleNumbers) const
 
virtual bool elevateChildren ()
 
index_iterator endIndex () const
 
const_name_iterator endName () const
 
CCopasiParameterGroup & getElementTemplates ()
 
const CCopasiParameterGroup & getElementTemplates () const
 
CCopasiParameterGroup * getGroup (const size_t &index)
 
const CCopasiParameterGroup * getGroup (const size_t &index) const
 
CCopasiParameterGroup * getGroup (const std::string &name)
 
const CCopasiParameterGroup * getGroup (const std::string &name) const
 
virtual size_t getIndex (const CDataObject *pObject) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
std::string getKey (const std::string &name) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterface * getObject (const CCommonName &cn) const
 
CCopasiParameter * getParameter (const size_t &index)
 
const CCopasiParameter * getParameter (const size_t &index) const
 
CCopasiParameter * getParameter (std::string name)
 
const CCopasiParameter * getParameter (std::string name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
template<class CType >
CType & getValue (const size_t &index)
 
template<class CType >
const CType & getValue (const size_t &index) const
 
template<class CType >
CType & getValue (const std::string &name)
 
template<class CType >
const CType & getValue (const std::string &name) const
 
bool haveTemplate () const
 
virtual CUndoObjectInterface * insert (const CData &data)
 
CCopasiParameterGroup & operator= (const CCopasiParameterGroup &rhs)
 
virtual bool remove (CDataObject *pObject)
 
bool removeParameter (CCopasiParameter *pParameter)
 
bool removeParameter (const size_t &index)
 
bool removeParameter (const std::string &name)
 
virtual void setUserInterfaceFlag (const UserInterfaceFlag &flag)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
size_t size (const UserInterfaceFlag &require=UserInterfaceFlag::None, const UserInterfaceFlag &exclude=UserInterfaceFlag::None) const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual CData toData () const
 
virtual void updateIndex (const size_t &index, const CUndoObjectInterface *pUndoObject)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CDataContainer *pParent)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="Parameter")
 
virtual CCommonName getCN () const override
 
template<class CType >
const CType & getDefault () const
 
virtual const std::string & getKey () const override
 
virtual std::string getObjectDisplayName () const override
 
const CCopasiParameter::Type & getType () const
 
const UserInterfaceFlag & getUserInterfaceFlag () const
 
template<class CType >
std::vector< std::pair< CType, CType > > & getValidValues ()
 
template<class CType >
const std::vector< std::pair< CType, CType > > & getValidValues () const
 
void * getValidValuesPointer () const
 
template<class CType >
CType & getValue ()
 
template<class CType >
const CType & getValue () const
 
virtual void * getValuePointer () const override
 
CDataObject * getValueReference () const
 
bool hasValidValues () const
 
bool isBasic () const
 
bool isDefault () const
 
bool isEditable () const
 
bool isUnsupported () const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const CCommonName &value) const
 
template<class CType >
bool isValidValue (const CType &) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
CCopasiParameter & operator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setDefault (const CType &defaultValue)
 
bool setDefault (const std::vector< CCopasiParameter * > &defaultValue)
 
virtual bool setObjectParent (const CDataContainer *pParent) override
 
template<class CType , class Enum >
bool setValidValues (const CEnumAnnotation< CType, Enum > &validValues)
 
template<class CType >
bool setValidValues (const std::vector< std::pair< CType, CType > > &validValues)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CDataContainer
virtual bool add (CDataObject *pObject, const bool &adopt=true)
 
virtual bool appendDeletedDependentData (CUndoData &undoData) const
 
 CDataContainer (const CDataContainer &src, const CDataContainer *pParent)
 
 CDataContainer (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 
virtual std::string getChildObjectUnits (const CDataObject *pObject) const
 
void getDescendants (CDataObject::DataObjectSet &descendants, const bool &recursive=false) const
 
virtual objectMap & getObjects ()
 
virtual const objectMap & getObjects () const
 
virtual const std::string getUnits () const override
 
virtual const CDataObject * getValueObject () const override
 
void objectRenamed (CDataObject *pObject, const std::string &oldName)
 
virtual ~CDataContainer ()
 
- Public Member Functions inherited from CDataObject
void addIssue (const CIssue &issue)
 
void addReference (const CDataContainer *pReference)
 
virtual void calculateValue () override
 
 CDataObject (const CDataObject &src, const CDataContainer *pParent=NULL)
 
virtual void destruct () override
 
virtual const CDataObject * getDataObject () const override
 
CDataContainer * getObjectAncestor (const std::string &type) const
 
CDataModel * getObjectDataModel () const
 
const CObjectInterface * getObjectFromCN (const CCommonName &cn) const
 
const std::string & getObjectName () const
 
CDataContainer * getObjectParent () const
 
const std::string & getObjectType () const
 
virtual const CObjectInterface::ObjectSet & getPrerequisites () const override
 
virtual const CValidity & getValidity () const override
 
bool hasFlag (const Flag &flag) const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CCore::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const override
 
bool prerequisitsContains (const DataObjectSet &objects) const
 
void removeIssue (const CIssue &issue)
 
void removeReference (const CDataContainer *pReference)
 
bool setObjectName (const std::string &name)
 
void validityChanged (const CValidity &changedValidity) override
 
void validityRemoved (const CValidity &changedValidity)
 
virtual ~CDataObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
 CObjectInterface (const CObjectInterface &src)
 
virtual ~CObjectInterface ()
 
- Public Member Functions inherited from CUndoObjectInterface
 CUndoObjectInterface ()
 
 CUndoObjectInterface (const CUndoObjectInterface &src)
 
bool generateUuid ()
 
const xg::Guid & getUuid () const
 
bool setUuid (const std::string &uuid)
 
bool setUuid (const xg::Guid &uuid)
 
virtual ~CUndoObjectInterface ()
 

Protected Member Functions

 CCopasiProblem (const CCopasiProblem &src)
 
 CCopasiProblem (const CTaskEnum::Task &type, const CDataContainer *pParent)
 
virtual void signalMathContainerChanged ()
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src)
 
- Protected Member Functions inherited from CDataContainer
template<class CType >
CDataMatrixReference< CType > * addMatrixReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataObjectReference< CType > * addObjectReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataVectorReference< CType > * addVectorReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
 CDataContainer (const CDataContainer &src)
 
void initObjects ()
 
- Protected Member Functions inherited from CDataObject
 CDataObject ()
 
 CDataObject (const std::string &name, const CDataContainer *pParent=static_cast< CDataContainer * >((void *) 0), const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 

Protected Attributes

CMathContainer * mpContainer
 
CReport * mpReport
 
CProcessReportLevel mProcessReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
void * mpDefault
 
void * mpValidValues
 
void * mpValue
 
CDataObject * mpValueReference
 
UserInterfaceFlag mUserInterfaceFlag
 
- Protected Attributes inherited from CDataContainer
objectMap mObjects
 
- Protected Attributes inherited from CDataObject
ObjectSet mPrerequisits
 
std::set< CDataContainer * > mReferences
 
- Protected Attributes inherited from CObjectInterface
CValidity mValidity
 

Private Member Functions

 CCopasiProblem ()
 

Private Attributes

CTaskEnum::Task mType
 

Friends

std::ostream & operator<< (std::ostream &os, const CCopasiProblem &o)
 

Additional Inherited Members

- Public Types inherited from CCopasiParameterGroup
typedef CDataObjectMap::const_type_iterator< CCopasiParameter > const_name_iterator
 
typedef std::vector< CCopasiParameter * > elements
 
typedef elements::iterator index_iterator
 
typedef CDataObjectMap::type_iterator< CCopasiParameter > name_iterator
 
- Public Types inherited from CCopasiParameter
enum class  eUserInterfaceFlag { editable , basic , unsupported , __SIZE }
 
enum class  Type {
  DOUBLE = 0 , UDOUBLE , INT , UINT ,
  BOOL , GROUP , STRING , CN ,
  KEY , FILE , EXPRESSION , INVALID ,
  __SIZE
}
 
typedef CFlags< eUserInterfaceFlag > UserInterfaceFlag
 
- Public Types inherited from CDataContainer
typedef CDataObjectMap objectMap
 
- Public Types inherited from CDataObject
typedef std::set< const CDataObject * > DataObjectSet
 
enum  Flag {
  Container , Vector , Matrix , NameVector ,
  Reference , ValueBool , ValueInt , ValueInt64 ,
  ValueDbl , NonUniqueName , StaticString , ValueString ,
  Separator , DisplayName , ModelEntity , Array ,
  DataModel , Root , Gui , __SIZE
}
 
- Public Types inherited from CObjectInterface
typedef std::vector< const CDataContainer * > ContainerList
 
typedef std::set< const CObjectInterface * > ObjectSet
 
- Static Public Member Functions inherited from CCopasiParameter
static void allocateValidValues (const Type &type, void *&pValidValues)
 
static void allocateValue (const Type &type, void *&pValue)
 
static void assignValue (const Type &type, void *&pValue, const void *pNewValue)
 
static void deleteValidValues (const Type &type, void *&pValidValues)
 
static void deleteValue (const Type &type, void *&pValue)
 
static CCopasiParameter * fromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataContainer
static CDataContainer * fromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataObject
static CDataObject * fromData (const CData &data, CUndoObjectInterface *pParent)
 
static void sanitizeObjectName (std::string &name)
 
- Static Public Member Functions inherited from CObjectInterface
static const CDataObject * DataObject (const CObjectInterface *pInterface)
 
static CObjectInterface * GetObjectFromCN (const ContainerList &listOfContainer, const CCommonName &objName)
 
- Static Public Member Functions inherited from CUndoObjectInterface
template<class CType >
static CType * fromData (const CData &, CUndoObjectInterface *)
 
- Static Public Attributes inherited from CCopasiParameter
static const CEnumAnnotation< std::string, Type > TypeName
 
static const CEnumAnnotation< std::string, Type > XMLType
 
- Static Public Attributes inherited from CDataContainer
static const CObjectInterface::ContainerList EmptyList
 

Constructor & Destructor Documentation

◆ CCopasiProblem() [1/4]

CCopasiProblem::CCopasiProblem ( )
private

Default constructor

CCopasiProblem class. This class is used to describe a task in COPASI. This class is intended to be used as the parent class for all tasks within COPASI.

Created for COPASI by Stefan Hoops 2003

◆ CCopasiProblem() [2/4]

CCopasiProblem::CCopasiProblem ( const CTaskEnum::Task &  type,
const CDataContainer *  pParent 
)
protected

Specific constructor

Parameters
constCTaskEnum::Task & type
constCDataContainer * pParent (default: NULL)

References CCopasiTask::getMathContainer(), and setMathContainer().

◆ CCopasiProblem() [3/4]

CCopasiProblem::CCopasiProblem ( const CCopasiProblem &  src)
protected

◆ CCopasiProblem() [4/4]

CCopasiProblem::CCopasiProblem ( const CCopasiProblem &  src,
const CDataContainer *  pParent 
)

Copy constructor

Parameters
constCCopasiProblemr & src
constCDataContainer * pParent (default: NULL)

References CCopasiTask::getMathContainer(), CDataObject::getObjectParent(), and setMathContainer().

◆ ~CCopasiProblem()

CCopasiProblem::~CCopasiProblem ( )
virtual

Destructor

Member Function Documentation

◆ clearCallBack()

void CCopasiProblem::clearCallBack ( )
virtual

resets the currently set callback by calling setCallBack(NULL)

References setCallBack().

◆ copy()

CCopasiProblem * CCopasiProblem::copy ( ) const

copy

References CProblemFactory::copy().

◆ getCallBack()

const CProcessReportLevel & CCopasiProblem::getCallBack ( ) const
Returns
the currently set callback

References mProcessReport.

◆ getMathContainer()

CMathContainer * CCopasiProblem::getMathContainer ( ) const

Retrieve the model of the problem

Returns
CMathContainer * pContainer

References mpContainer.

Referenced by ResultData::applyToModelStateFromOptTask().

◆ getSubTask()

CCopasiTask * CCopasiProblem::getSubTask ( ) const
virtual

Retrieve the optional sub task

Returns
CCopasiTask* * pSubTask

Reimplemented in CMCAProblem, CSensProblem, CScanProblem, COptProblem, and CLNAProblem.

Referenced by CCopasiTask::isTaskValid(), CLNATask::process(), CMCATask::process(), CLNATask::setCallBack(), and CMCATask::setCallBack().

◆ getType()

const CTaskEnum::Task & CCopasiProblem::getType ( void  ) const

Retrieve the type of the problem

Returns
const string & type

References mType.

Referenced by CProblemFactory::copy(), COutputAssistant::getDefaultPlotIndex(), and COutputAssistant::getDefaultReportIndex().

◆ initialize()

bool CCopasiProblem::initialize ( )
virtual

Do all necessary initialization so that calls to calculate will be successful. This is called once from CCopasiTask::process()

Returns
bool success

Reimplemented in CFitProblem, COptProblem, CEFMProblem, CSteadyStateProblem, and COscillationProblem.

Referenced by CEFMProblem::initialize().

◆ print()

void CCopasiProblem::print ( std::ostream *  ostream) const
virtual

This is the output method for any object. The default implementation provided with CDataObject uses the ostream operator<< of the object to print the object.To override this default behavior one needs to re-implement the virtual print function.

Parameters
std::ostream* ostream

Reimplemented from CCopasiParameterGroup.

Reimplemented in CMCAProblem, CSensProblem, CFitProblem, COptProblem, CLNAProblem, COscillationProblem, CCrossSectionProblem, and CAnalyticsProblem.

Referenced by CTSSAProblem::printResult().

◆ printResult()

void CCopasiProblem::printResult ( std::ostream *  ostream) const
virtual

This is the output method for any result of a problem. The default implementation provided with CCopasiProblem. Does only print "Not implemented." To override this default behavior one needs to re-implement the virtual printResult function.

Parameters
std::ostream* ostream

Reimplemented in CMoietiesProblem, CMCAProblem, CSensProblem, CFitProblem, COptProblem, CLNAProblem, CEFMProblem, CTSSAProblem, CTrajectoryProblem, COscillationProblem, and CLyapProblem.

◆ restore()

bool CCopasiProblem::restore ( const bool &  updateModel)
virtual

Do all necessary restore procedures so that the model is in the same state as before

Parameters
constbool & updateModel
Returns
bool success

Reimplemented in CScanProblem, CFitProblem, and COptProblem.

Referenced by CCopasiTask::restore().

◆ setCallBack()

◆ setMathContainer()

void CCopasiProblem::setMathContainer ( CMathContainer *  pContainer)

Set the model of the problem

Parameters
CMathContainer* pContainer
Returns
bool success

References mpContainer, and signalMathContainerChanged().

Referenced by CCopasiProblem(), CProblemFactory::copy(), CProblemFactory::create(), CCopasiTask::setMathContainer(), and setModel().

◆ setModel()

bool CCopasiProblem::setModel ( CModel *  model)
virtual

convenience method that sets the models math continer as the mathcontainer for this problem

Parameters
modelthe model whose mathcontainer to set
Returns
bool success

References CModel::getMathContainer(), and setMathContainer().

◆ signalMathContainerChanged()

void CCopasiProblem::signalMathContainerChanged ( )
protectedvirtual

Signal that the math container has changed

Referenced by setMathContainer().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const CCopasiProblem &  o 
)
friend

Output stream operator

Parameters
ostream& os
constCCopasiProblem & A
Returns
ostream & os

Member Data Documentation

◆ mpContainer

◆ mpReport

CReport* CCopasiProblem::mpReport
protected

A pointer to the report

Referenced by COptProblem::initialize().

◆ mProcessReport

◆ mType

CTaskEnum::Task CCopasiProblem::mType
private

The type of the problem

Referenced by getType().


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