<?xml version="1.0"?>
<Definitions>
  <NodeClass name="FuzzyModelExec" category="Fuzzy" source="FuzzyModelExec.cc">
    <Input name="MODEL" type="any">The model to use</Input>
    <Input name="INPUT" type="any">The input values to calculate</Input>
    <Output name="OUTPUT" type="any">The output of the fuzzy model</Output>
    <Description>FuzzyModelExec takes a FuzzyModel and find its output according the the specified intput.</Description>
  </NodeClass>
  <NodeClass name="FuzzyRule" category="Fuzzy" source="FuzzyRule.cc">
    <Output name="RULE" type="Vector&lt;ObjectRef&gt;">The FuzzyRule Object</Output>
    <Parameter name="IF" type="string" value="">Antecedant of the rule seperated by spaces</Parameter>
    <Parameter name="THEN" type="string" value="">Consequent of the rule seperated by spaces</Parameter>
    <Description>A Rule containing ANTECEDANTS (IF) and CONSEQUENTS(THEN)</Description>
  </NodeClass>
  <NodeClass name="FuzzySet" category="Fuzzy" source="FuzzySet.cc">
    <Input name="FUNCTIONS" type="Vector&lt;ObjectRef&gt;">The Fuzzy Functions</Input>
    <Output name="SET" type="Vector&lt;ObjectRef&gt;">The FuzzySet with multiple Fuzzy Functions</Output>
    <Parameter name="NAME" type="string" value="">The name of the set</Parameter>
    <Description>A FuzzySet containing functions associated with names</Description>
  </NodeClass>
  <NodeClass name="GenericModel" category="Fuzzy" source="GenericModel.cc">
    <Input name="RULES" type="Vector&lt;ObjectRef&gt;">The Rules to use</Input>
    <Input name="ANTECEDENT_SETS" type="Vector&lt;ObjectRef&gt;">The Sets to use</Input>
    <Input name="CONSEQUENT_SETS" type="Vector&lt;ObjectRef&gt;">The Sets to use</Input>
    <Input name="INPUT" type="Vector&lt;float&gt;">The input value of the variables</Input>
    <Output name="MODEL" type="Model">The model (cloned)</Output>
    <Output name="OUTPUT" type="Vector&lt;float&gt;">The defuzzified values</Output>
    <Description>A generic Fuzzy controller</Description>
  </NodeClass>
  <NodeClass name="InferenceModel" category="Fuzzy" source="InferenceModel.cc">
    <Input name="RULES" type="Vector&lt;ObjectRef&gt;">The Rules to use</Input>
    <Input name="ANTECEDENT_SETS" type="Vector&lt;ObjectRef&gt;">The Sets to use</Input>
    <Input name="CONSEQUENT_SETS" type="Vector&lt;ObjectRef&gt;">The Sets to use</Input>
    <Input name="INPUT" type="Vector&lt;float&gt;">The input value of the variables</Input>
    <Output name="MODEL" type="Model">The model (cloned)</Output>
    <Output name="OUTPUT" type="Vector&lt;float&gt;">The defuzzified values</Output>
    <Output name="OUTPUT_SETS" type="Vector&lt;ObjectRef&gt;">The copied consequent set(s) </Output>
    <Description>A generic Fuzzy controller</Description>
  </NodeClass>
  <NodeClass name="TrapezoidalFunction" category="Fuzzy" source="TrapezoidalFunction.cc">
    <Output name="FUNCTION" type="Vector&lt;ObjectRef&gt;">The FuzzyFunction object</Output>
    <Parameter name="A" type="float" value="">A value</Parameter>
    <Parameter name="B" type="float" value="">B value</Parameter>
    <Parameter name="C" type="float" value="">C value</Parameter>
    <Parameter name="D" type="float" value="">D value</Parameter>
    <Parameter name="NAME" type="string" value="">The name of the function</Parameter>
    <Description>A Fuzzy Function to be included in a FuzzySet</Description>
  </NodeClass>
  <NodeClass name="TriangularFunction" category="Fuzzy" source="TriangularFunction.cc">
    <Output name="FUNCTION" type="Vector&lt;ObjectRef&gt;">The FuzzyFunction object</Output>
    <Parameter name="A" type="float" value="">A value</Parameter>
    <Parameter name="B" type="float" value="">B value</Parameter>
    <Parameter name="C" type="float" value="">C value</Parameter>
    <Parameter name="NAME" type="string" value="">The name of the function</Parameter>
    <Description>No description available</Description>
  </NodeClass>
   <FileDepend file="InferenceModel.h">
      <RequireHeader header="FuzzyModel.h"/>
   </FileDepend>
   <FileDepend file="FuzzyFunction.cc">
      <RequireHeader header="FuzzyFunction.h"/>
   </FileDepend>
   <FileDepend file="GenericModel.h">
      <RequireHeader header="FuzzyModel.h"/>
   </FileDepend>
   <FileDepend file="Tokenizer.cc">
      <RequireHeader header="Tokenizer.h"/>
   </FileDepend>
   <FileDepend file="TriangularFunction.h">
      <RequireHeader header="FuzzyFunction.h"/>
   </FileDepend>
   <FileDepend file="Tokenizer.h">
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="FuzzyModel.h">
      <RequireHeader header="FuzzySet.h"/>
      <RequireHeader header="FuzzyRule.h"/>
      <RequireHeader header="BufferedNode.h"/>
   </FileDepend>
   <FileDepend file="FuzzyOperators.cc">
      <RequireHeader header="FuzzyOperators.h"/>
   </FileDepend>
   <FileDepend file="FuzzySet.cc">
      <RequireHeader header="FuzzySet.h"/>
      <RequireHeader header="Exception.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="FuzzyOperators.h"/>
   </FileDepend>
   <FileDepend file="InferenceModel.cc">
      <RequireHeader header="InferenceModel.h"/>
      <RequireHeader header="Exception.h"/>
   </FileDepend>
   <FileDepend file="FuzzyOperators.h">
      <RequireHeader header="DoubleDispatch.h"/>
      <RequireHeader header="FuzzyRule.h"/>
      <RequireHeader header="FuzzySet.h"/>
      <RequireHeader header="FuzzyFunction.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="operators.h"/>
   </FileDepend>
   <FileDepend file="FuzzyRule.h">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Object.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="FuzzyModel.cc">
      <RequireHeader header="FuzzyModel.h"/>
      <RequireHeader header="Exception.h"/>
   </FileDepend>
   <FileDepend file="FuzzyModelExec.cc">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Buffer.h"/>
      <RequireHeader header="FuzzyOperators.h"/>
      <RequireHeader header="GenericModel.h"/>
   </FileDepend>
   <FileDepend file="GenericModel.cc">
      <RequireHeader header="GenericModel.h"/>
      <RequireHeader header="Exception.h"/>
   </FileDepend>
   <FileDepend file="FuzzyFunction.h">
      <RequireHeader header="BufferedNode.h"/>
      <RequireHeader header="Vector.h"/>
   </FileDepend>
   <FileDepend file="FuzzyRule.cc">
      <RequireHeader header="FuzzyRule.h"/>
      <RequireHeader header="Tokenizer.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="FuzzyOperators.h"/>
   </FileDepend>
   <FileDepend file="TriangularFunction.cc">
      <RequireHeader header="TriangularFunction.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="FuzzyOperators.h"/>
   </FileDepend>
   <FileDepend file="TrapezoidalFunction.h">
      <RequireHeader header="FuzzyFunction.h"/>
   </FileDepend>
   <FileDepend file="TrapezoidalFunction.cc">
      <RequireHeader header="TrapezoidalFunction.h"/>
      <RequireHeader header="Vector.h"/>
      <RequireHeader header="FuzzyOperators.h"/>
   </FileDepend>
   <FileDepend file="FuzzySet.h">
      <RequireHeader header="FuzzyFunction.h"/>
      <RequireHeader header="TrapezoidalFunction.h"/>
      <RequireHeader header="TriangularFunction.h"/>
      <RequireHeader header="BufferedNode.h"/>
   </FileDepend>
</Definitions>
