COPASI API  4.16.103
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CKinFunction Class Reference

#include <CKinFunction.h>

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

Public Member Functions

 CKinFunction (const std::string &name="NoName", const CCopasiContainer *pParent=NULL)
 
 CKinFunction (const CFunction &src, CReadConfig *configBuffer=NULL, const CCopasiContainer *pParent=NULL)
 
 CKinFunction (const CKinFunction &src, const CCopasiContainer *pParent=NULL)
 
void cleanup ()
 
std::vector< CNodeK * > & getNodes ()
 
 ~CKinFunction ()
 
- Public Member Functions inherited from CFunction
bool addVariable (const std::string &name, CFunctionParameter::Role usage=CFunctionParameter::VARIABLE, const CFunctionParameter::DataType &type=CFunctionParameter::FLOAT64)
 
virtual const C_FLOAT64calcValue (const CCallParameters< C_FLOAT64 > &callParameters)
 
 CFunction (const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=Function)
 
 CFunction (const CFunction &src, const CCopasiContainer *pParent=NULL)
 
CFunctioncreateCopy () const
 
void createListOfParametersForMathML (std::vector< std::vector< std::string > > &env)
 
virtual bool dependsOn (const C_FLOAT64 *parameter, const CCallParameters< C_FLOAT64 > &callParameters) const
 
const std::string & getKey () const
 
const std::string & getSBMLId () const
 
virtual size_t getVariableIndex (const std::string &name) const
 
CFunctionParametersgetVariables ()
 
const CFunctionParametersgetVariables () const
 
virtual const C_FLOAT64getVariableValue (const size_t &index) const
 
const TriLogicisReversible () const
 
bool isSuitable (const size_t noSubstrates, const size_t noProducts, const TriLogic reversible)
 
virtual void load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH)
 
bool operator== (const CFunction &rhs) const
 
virtual bool setInfix (const std::string &infix)
 
virtual bool setInfix (const std::string &infix, bool compile)
 
void setReversible (const TriLogic &reversible)
 
void setSBMLId (const std::string &id)
 
std::pair< CFunction
*, CFunction * > 
splitFunction (const CEvaluationNode *node, const std::string &name1, const std::string &name2) const
 
virtual void writeMathML (std::ostream &out, size_t l=0) const
 
virtual std::string writeMathML (const std::vector< std::vector< std::string > > &variables, bool expand=true, bool fullExpand=true) const
 
virtual ~CFunction ()
 
- Public Member Functions inherited from CEvaluationTree
bool calls (std::set< std::string > &list) const
 
 CEvaluationTree (const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=Function)
 
 CEvaluationTree (const CEvaluationTree &src, const CCopasiContainer *pParent=NULL)
 
virtual bool compile ()
 
bool dependsOnTree (const std::string &name) const
 
CCopasiObject::DataObjectSet getDeletedObjects () const
 
std::string::size_type getErrorPosition () const
 
const std::string & getInfix () const
 
const std::vector
< CEvaluationNode * > & 
getNodeList () const
 
CEvaluationNodegetRoot ()
 
const CEvaluationNodegetRoot () const
 
const CEvaluationTree::TypegetType () const
 
bool hasCircularDependency () const
 
bool hasDiscontinuity () const
 
bool isBoolean () const
 
bool isUsable () const
 
bool operator== (const CEvaluationTree &rhs) const
 
virtual bool setRoot (CEvaluationNode *pRootNode)
 
bool setTree (const ASTNode &pRootNode)
 
virtual ASTNode * toAST (const CCopasiDataModel *pDataModel) const
 
bool updateTree ()
 
virtual ~CEvaluationTree ()
 
- 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 ()
 
- Public Member Functions inherited from CAnnotation
bool addUnsupportedAnnotation (const std::string &name, const std::string &xml)
 
 CAnnotation ()
 
 CAnnotation (const CAnnotation &src)
 
const std::string & getMiriamAnnotation () const
 
const std::string & getNotes () const
 
UnsupportedAnnotationgetUnsupportedAnnotations ()
 
const UnsupportedAnnotationgetUnsupportedAnnotations () const
 
bool operator== (const CAnnotation &rhs) const
 
bool removeUnsupportedAnnotation (const std::string &name)
 
bool replaceUnsupportedAnnotation (const std::string &name, const std::string &xml)
 
void setMiriamAnnotation (const std::string &miriamAnnotation, const std::string &newId, const std::string &oldId)
 
void setNotes (const std::string &notes)
 
virtual ~CAnnotation ()
 

Private Member Functions

void cleanupNodes ()
 
void createParameters ()
 

Private Attributes

unsigned C_INT32 mNidx
 
std::vector< CNodeK * > mNodes
 
std::vector< CCopasiObject * > ObjList
 

Additional Inherited Members

- Public Types inherited from CEvaluationTree
enum  Type {
  Function = 0, MassAction, PreDefined, UserDefined,
  Expression, MathExpression
}
 
- 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 Types inherited from CAnnotation
typedef std::map< std::string,
std::string > 
UnsupportedAnnotation
 
- Static Public Member Functions inherited from CFunction
static bool completeFunctionList (std::vector< CFunction * > &list, const size_t &added=0)
 
- Static Public Member Functions inherited from CEvaluationTree
static CEvaluationTreecopy (const CEvaluationTree &src)
 
static CEvaluationTreecreate (CEvaluationTree::Type type)
 
static CEvaluationNodefromAST (const ASTNode *pASTNode)
 
- 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 Member Functions inherited from CAnnotation
static CAnnotationcastObject (CCopasiObject *pObject)
 
static const CAnnotationcastObject (const CCopasiObject *pObject)
 
- Static Public Attributes inherited from CEvaluationTree
static const std::string TypeName []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 
- 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 CFunction
bool initVariables ()
 
- Protected Member Functions inherited from CEvaluationTree
void buildCalculationSequence ()
 
void calculate ()
 
bool compileNodes ()
 
bool parse ()
 
void setType (const CEvaluationTree::Type &type)
 
- 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 CEvaluationTree
std::vector< CEvaluationNode * > mCalculationSequence
 
std::string mInfix
 
std::vector< CEvaluationNode * > * mpNodeList
 
CEvaluationNodempRoot
 
CEvaluationTree::Type mType
 
bool mUsable
 
C_FLOAT64 mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Protected Attributes inherited from CAnnotation
std::string mKey
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 37 of file CKinFunction.h.

Constructor & Destructor Documentation

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

Default constructor

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

Definition at line 38 of file CKinFunction.cpp.

References CONSTRUCTOR_TRACE.

39  :
40  CFunction(name, pParent, CFunction::UserDefined)
41 {
43 }
CFunction(const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=Function)
Definition: CFunction.cpp:25
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CKinFunction::CKinFunction ( const CFunction src,
CReadConfig configBuffer = NULL,
const CCopasiContainer pParent = NULL 
)

Copy constructor

Parameters
const CFunction &src
CReadConfig *configBuffer (Default = NULL)
constCCopasiContainer * pParent (default: NULL)

Definition at line 45 of file CKinFunction.cpp.

References C_INT32, cleanupNodes(), CONSTRUCTOR_TRACE, createParameters(), CReadConfig::getVariable(), and mNodes.

47  :
48  CFunction(src, pParent)
49 {
51 
52  if (configBuffer)
53  {
54  C_INT32 i, Size;
55  configBuffer->getVariable("Nodes", "C_INT32", &Size);
56  mNodes.resize(Size);
57 
58  for (i = 0; i < Size; i++)
59  {
60  mNodes[i] = new CNodeK;
61  mNodes[i]->load(*configBuffer);
62  }
63 
65 
66  cleanupNodes();
67  }
68 
69  // compile();
70 }
#define C_INT32
Definition: copasi.h:90
Definition: CNodeK.h:84
void createParameters()
CFunction(const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=Function)
Definition: CFunction.cpp:25
void cleanupNodes()
C_INT32 getVariable(const std::string &name, const std::string &type, void *pout, CReadConfig::Mode mode=CReadConfig::NEXT)
Definition: CReadConfig.cpp:81
std::vector< CNodeK * > mNodes
Definition: CKinFunction.h:46
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CKinFunction::CKinFunction ( const CKinFunction src,
const CCopasiContainer pParent = NULL 
)

Copy constructor

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

Definition at line 72 of file CKinFunction.cpp.

References CONSTRUCTOR_TRACE.

73  :
74  CFunction(src, pParent)
75 {
77  //compile();
78 }
CFunction(const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=Function)
Definition: CFunction.cpp:25
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CKinFunction::~CKinFunction ( )

Destructor

Definition at line 80 of file CKinFunction.cpp.

References cleanup(), DESTRUCTOR_TRACE, and ObjList.

81 {
82  /* int i;
83  for (i=0; i<ObjList.size(); i++)
84  ObjList[i] = NULL;
85  */
86  ObjList.clear();
87  cleanup();
89 }
std::vector< CCopasiObject * > ObjList
Definition: CKinFunction.h:48
#define DESTRUCTOR_TRACE
Definition: copasi.h:206

Member Function Documentation

void CKinFunction::cleanup ( )

Cleanup

Definition at line 91 of file CKinFunction.cpp.

References cleanupNodes().

Referenced by ~CKinFunction().

92 {
93  cleanupNodes();
94 }
void cleanupNodes()
void CKinFunction::cleanupNodes ( )
private

Cleanup nodes

Definition at line 248 of file CKinFunction.cpp.

References mNodes.

Referenced by CKinFunction(), and cleanup().

249 {
250  size_t i, imax = mNodes.size();
251 
252  for (i = 0; i < imax; i++)
253  if (mNodes[i]) delete mNodes[i];
254 
255  mNodes.clear();
256  return;
257 }
std::vector< CNodeK * > mNodes
Definition: CKinFunction.h:46
void CKinFunction::createParameters ( )
private

This function indentify the object from name This connects the nodes to build the binary function tree This function is part of the algorithm that builds the binary tree. The expression to the right of the current node (mNidx) is parsed until an operand with a left priority <= the argument (right priority) is encounterd. The pointer to the top node of the parsed expression is returned.

Parameters
C_INT16priority
Returns
CNodeK * This function is part of the algorithm that builds the binary tree. It returns a pointer to next primary node. Here next is with repect to the internal counter mNidx. If the node is a dead end, i.e., any contant a pointer the node is returned. If then node is '(' the expression between the node and the matching ')' is parsed and a pointer to the resulting top node is returned. If the node is a function or a unary minus the argument is parsed and a pointer to the function node is returned.
CNodeK * This function creates the parameter description for older file versions

Definition at line 97 of file CKinFunction.cpp.

References CFunctionParameters::add(), CCopasiVectorN< CType >::add(), CEvaluationNode::buildInfix(), C_INVALID_INDEX, CFunctionParameters::cleanup(), CCopasiVector< T >::cleanup(), CEvaluationNode::CONSTANT, fatalError, CFunctionParameter::FLOAT64, CCopasiVectorN< CType >::getIndex(), CCopasiObject::getObjectName(), CEvaluationTree::getType(), CFunction::getVariables(), mNodes, CFunctionParameter::MODIFIER, CEvaluationTree::mpNodeList, CEvaluationTree::mpRoot, N_IDENTIFIER, N_KCONSTANT, N_MODIFIER, N_NOP, N_PRODUCT, N_SUBSTRATE, N_VOLUME, CFunctionParameter::PARAMETER, pdelete, CFunctionParameter::PRODUCT, CFunction::setInfix(), CFunctionParameter::setType(), CFunctionParameter::setUsage(), CCopasiVector< T >::size(), CFunctionParameter::SUBSTRATE, and CFunctionParameter::VOLUME.

Referenced by CKinFunction().

98 {
104 
105  size_t i, imax = mNodes.size();
106 
107  CFunctionParameter *pParameter;
108 
109  for (i = 0; i < imax; i++)
110  {
111  if (mNodes[i]->getType() == N_IDENTIFIER)
112  {
113  // We need to check that we have no reserved name.
114  const char *Reserved[] =
115  {"pi", "exponentiale", "true", "false", "infinity", "nan",
116  "PI", "EXPONENTIALE", "TRUE", "FALSE", "INFINITY", "NAN"
117  };
118 
119  std::string Name = mNodes[i]->getName();
120  size_t j, jmax = 12;
121 
122  for (j = 0; j < jmax; j++)
123  if (Name == Reserved[j]) break;
124 
125  if (j != jmax)
126  {
127  // It is save to prepend the identifyer with '_' since this is not allowed in
128  // Gepasi but within COPASI.
129  std::string OldName = Name;
130  Name = "_" + Name;
131 
132  // We have to replace the corresponding CEvaluationNodes to reflect the change.
133  std::vector< CEvaluationNode * >::iterator it = mpNodeList->begin();
134  std::vector< CEvaluationNode * >::iterator end = mpNodeList->end();
135 
136  for (; it != end; ++it)
137  if (((*it)->getType() & 0xFF000000) == CEvaluationNode::CONSTANT &&
138  (*it)->getData() == OldName)
139  (*it)->setData(Name);
140 
141  // The Infix has changed we need to update it.
143  }
144 
145  pParameter = new CFunctionParameter(Name);
147 
148  switch (mNodes[i]->getSubtype())
149  {
150  case N_SUBSTRATE:
152 
153  if (Substrates.getIndex(pParameter->getObjectName()) == C_INVALID_INDEX)
154  Substrates.add(pParameter, false);
155  else
156  pdelete(pParameter);
157 
158  break;
159 
160  case N_PRODUCT:
162 
163  if (Products.getIndex(pParameter->getObjectName()) == C_INVALID_INDEX)
164  Products.add(pParameter, false);
165  else
166  pdelete(pParameter);
167 
168  break;
169 
170  case N_MODIFIER:
172 
173  if (Modifiers.getIndex(pParameter->getObjectName()) == C_INVALID_INDEX)
174  Modifiers.add(pParameter, false);
175  else
176  pdelete(pParameter);
177 
178  break;
179 
180  case N_KCONSTANT:
181  case N_NOP:
183 
184  if (Parameters.getIndex(pParameter->getObjectName()) == C_INVALID_INDEX)
185  Parameters.add(pParameter, false);
186  else
187  pdelete(pParameter);
188 
189  break;
190 
191  case N_VOLUME:
193 
194  if (Volumes.getIndex(pParameter->getObjectName()) == C_INVALID_INDEX)
195  Volumes.add(pParameter, false);
196  else
197  pdelete(pParameter);
198 
199  break;
200 
201  default:
202  pdelete(pParameter);
203  fatalError();
204  }
205  }
206  }
207 
208  getVariables().cleanup();
209 
210  imax = Substrates.size();
211 
212  for (i = 0; i < imax; i++)
213  getVariables().add(Substrates[i], true);
214 
215  Substrates.cleanup();
216 
217  imax = Products.size();
218 
219  for (i = 0; i < imax; i++)
220  getVariables().add(Products[i], true);
221 
222  Products.cleanup();
223 
224  imax = Modifiers.size();
225 
226  for (i = 0; i < imax; i++)
227  getVariables().add(Modifiers[i], true);
228 
229  Modifiers.cleanup();
230 
231  imax = Parameters.size();
232 
233  for (i = 0; i < imax; i++)
234  getVariables().add(Parameters[i], true);
235 
236  Parameters.cleanup();
237 
238  imax = Volumes.size();
239 
240  for (i = 0; i < imax; i++)
241  getVariables().add(Volumes[i], true);
242 
243  Volumes.cleanup();
244 }
#define pdelete(p)
Definition: copasi.h:215
void setUsage(Role usage)
std::vector< CEvaluationNode * > * mpNodeList
const std::string & getObjectName() const
virtual size_t size() const
#define N_IDENTIFIER
Definition: CNodeK.h:37
#define fatalError()
std::string buildInfix() const
const CEvaluationTree::Type & getType() const
#define C_INVALID_INDEX
Definition: copasi.h:222
virtual size_t getIndex(const std::string &name) const
void setType(const CFunctionParameter::DataType &type)
virtual bool setInfix(const std::string &infix)
Definition: CFunction.cpp:73
#define N_SUBSTRATE
Definition: CNodeK.h:78
void add(const CFunctionParameter &parameter)
virtual bool add(const CType &src)
virtual void cleanup()
#define N_NOP
Definition: CNodeK.h:33
#define N_KCONSTANT
Definition: CNodeK.h:81
#define N_VOLUME
Definition: CNodeK.h:82
#define N_PRODUCT
Definition: CNodeK.h:79
std::vector< CNodeK * > mNodes
Definition: CKinFunction.h:46
CFunctionParameters & getVariables()
Definition: CFunction.cpp:148
CEvaluationNode * mpRoot
#define N_MODIFIER
Definition: CNodeK.h:80
std::vector< CNodeK * > & CKinFunction::getNodes ( )

Retreives the nodes of the function

Definition at line 246 of file CKinFunction.cpp.

References mNodes.

246 {return mNodes;}
std::vector< CNodeK * > mNodes
Definition: CKinFunction.h:46

Member Data Documentation

unsigned C_INT32 CKinFunction::mNidx
private

Internal variable

Definition at line 52 of file CKinFunction.h.

std::vector< CNodeK * > CKinFunction::mNodes
private

The vector of nodes of the binary tree of the function 0..* <{CNodeK}>

Definition at line 46 of file CKinFunction.h.

Referenced by CKinFunction(), cleanupNodes(), createParameters(), and getNodes().

std::vector<CCopasiObject*> CKinFunction::ObjList
private

Definition at line 48 of file CKinFunction.h.

Referenced by ~CKinFunction().


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